跃莱产品内部价格表:javascript 实现图片按钮的方法改进

来源:百度文库 编辑:中科新闻网 时间:2024/04/30 14:21:19
一般方法
<DIV class=Btn onmouseover=btnOnMouseOver(this) onmouseout=btnOnMouseOut(this) title=上移一层 onclick="zIndex('forward')"><IMG class=Ico onmousedown=IcoOnMouseDown(this) onmouseup=IcoOnMouseUp(this) src="images/forward.gif"></DIV>
其中
function btnOnMouseOver(obj){
obj.className='Btnover';
}
function btnOnMouseOut(obj){
obj.className='Btn';
}
function IcoOnMouseDown(obj){
obj.className='IcoDown';
}
function IcoOnMouseUp(obj){
obj.className='Ico';
}

可以,没个按钮都杂加上这个事件,能不能写一个函数,所有calss=btn和Ico的onclick事件就实现里面的函数.在里面对class的事件和ICO的事件进行处里不要在里面写函数了.

只要这样<DIV class=Btn title=上移一层 onclick="zIndex('forward')"><IMG class=Ico src="images/forward.gif"></DIV>

我好像有看到过,不过不知道怎么才能运行,请写个详细的可以试的代码,分有的是.谢了,在做毕业设计
在ewebedit里,看到这个
function InitBtn(btn) {
btn.onmouseover = BtnMouseOver;
btn.onmouseout = BtnMouseOut;
btn.onmousedown = BtnMouseDown;
btn.onmouseup = BtnMouseUp;
btn.ondragstart = YCancelEvent;
btn.onselectstart = YCancelEvent;
btn.onselect = YCancelEvent;
btn.YUSERONCLICK = btn.onclick;
btn.onclick = YCancelEvent;
btn.YINITIALIZED = true;
return true;
}

能用这个吗
都说不可以,可以ewebedit是怎么实现的.它表单就没有onmouseover这件事件,不能在其它地方捕获事件吗
可是,这里没有id给他们。id只能用一次。
它框架大概是
<table id=toolhand><DIV class=Btn title=上移一层 onclick="zIndex('forward')"><IMG class=Ico (this) src="images/forward.gif"></DIV> <DIV class=Btn title=下移一层 onclick="zIndex('forward')"><IMG class=Ico (this) src="images/forward.gif"></DIV> </table>并没有表单
adocat你试试写个好吗

<------------------------------------------------->

晕,事件可以动态注册的啊,你们都行不行啊。

<script>
function Msg()
{
alert("小白")
}

</script>

<input type="button" value="小白鼠" id="test">
<p/>
<input type="button" value="注册事件" onclick="test.onclick=Msg">

<input type="button" value="注销事件" onclick="test.onclick=''">

至于所有按钮,只要加个循环就可以了
遍历表单元素,判断class值,符合条件就注册事件

<---------------解决办法-------------------->

使用DOM控制HTML元素

<html>
<head>
<script>
function InitEvent()
{
var desk=document.getElementById("toolhand");
for(i=0;i<desk.childNodes.length;i++)
{
var node=desk.childNodes[i];
node.onclick=msg;
}
}

function msg()
{
alert(1);
}

</script>

</head>

<body onload="InitEvent()">
<table id=toolhand>
<DIV class=Btn title=上移一层 >
<IMG class=Ico (this) src="images/forward.gif">
</DIV>
<DIV class=Btn title=下移一层 >
<IMG class=Ico (this) src="images/forward.gif">
</DIV>
</table>

</body>

</html>

<--------------------------------->

NO Impossible !

不可以的! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

我有点看不懂楼上几位的意思,楼主不是想做一个带图标的或其它效果的按键吗,可以用BUTTON标签啊
<button>
<img src="http://www.baidu.com/search/img/rss_xml.jpg"/>
</button>
这样就可以实现,也可以把里面的IMG改为其它HTML标签,而且这在IE和FF中都可以用。

另外,楼主所说的应该是有类似这么一种方法 obj.getElementsByClassName("className"); 这个在一个开发包prototype.js里有,你可以去下一个,如果找不到再问我。

通过修改下面这几个css属性,就可以使所以的class=btn的<div>都有的特殊的效果。
.btn a:link{}
.btn a:visited{}
.btn a:active{}
.btn a:hover{}

比如:
<div class=btn>
<style>
.btn a:hover{background:url(\'a.gif\')}
</style>

那么,当鼠标移到这个div 上时,div的背景就会变成a.gif
不需要 onmouseover

不能!!
对象名肯定不允许由其他对象名来代替的

绝对不能!