动态设置onmousein不作用

SydPink 2008-10-20 11:22:06
var Img = document.getElementById"img_1");
img.setAttribute("onmouseover",menuMouseOut(img.id));
img.setAttribute("onmousein",menuMouseIn(img.id));
//...........
function menuMouseOut(imgID)
{}
function menuMouseIn(imgID)
{}
//........
我是在 BODY 的 onload 执行以上代码的,但是无作用,也不提示错误,为什么?
另外还有个问题,就是元素坐标的问题.
在IE中. 一个标签的坐标好象是以它的容器为参照的,而在FIREFOX中就很奇怪,X坐标是以容器为参照的,但是Y坐标却是以文档窗口做参照的.
我现在的需求是这样的:
在一个DIV(div_containt)上放置了若干个DIV(d1,d2,d3...),
其中d1,d2...等POSITION: abslute; 我要动态设置d1,d2的Y坐标实现动化效果.并且 d1,d2 始终应该在容器内显示,而不会跑到它们的容器.
请问该如何写这个JS脚本才能在IE和FIREFOX中都起作用.
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SydPink 2008-10-21
  • 打赏
  • 举报
回复
谢谢各位,结贴了.
function initMenuEvent()
{
var arrayImg = document.getElementsByTagName("img");
var img= null;
for (var i=0;i<arrayImg.length;i++)
{
img = arrayImg[i];
if (img.id.substr(0,4) == "imgm")
{
img.onmouseout = function(){menuMouseOut(this.id);};
img.onmouseover = function(){menuMouseOver(this.id);};
}
}

}
//以上语句成功,onmousein 事件不存在.
但是当把this.id换成 img.id,运行却抱错:错误的参数.不知道为什么
街头小贩 2008-10-20
  • 打赏
  • 举报
回复
事件源丢失!如果是已填加成功!会报语法错误的!没有onmousein事件:onmouseout,onmouseover
wtcsy 2008-10-20
  • 打赏
  • 举报
回复
是不是这个效果??
<style type="text/css">
.xx{ border:3px solid #FF6600;}
.oo{boder:0px}
</style>
<script>
function onpageload(){
setImgEvent()
}

function setImgEvent() {
var img=document.getElementById("img")
img.attachEvent("onmouseover", function(){show("xx")})
img.attachEvent("onmouseout", function(){hidde("oo")})
}

function show(e){
document.getElementById("img").className=e
}
function hidde(e){
document.getElementById("img").className=e
}
</script>
<body onload="onpageload()">
<img id="img" src="http://img1.qq.com/news/pics/13403/13403344.jpg" width="310" height="210">
</body>
SydPink 2008-10-20
  • 打赏
  • 举报
回复
以上几种方式都不作用啊.再把我的具体环境说下:
<body onload = "onpageload()">
//============================
/* JS.JS文件*/

function onpageload()
{
setImgEvent();
}
function setImgEvent()
{
//在这里动态添加标签的两个鼠标事件,但是不起作用..
}
2008-10-20
  • 打赏
  • 举报
回复
换种方式

img.onmouseout = function(){
menuMouseOut(this.id);
};
img.onmouseover = function(){
menuMouseIn(this.id);
};
wtcsy 2008-10-20
  • 打赏
  • 举报
回复
创建带参事件的时候 要有一个匿名函数
img.setAttribute("onmouseover",function(){menuMouseOut(img.id)});
另外一个问题没研究过。。。。。
neo_yoho 2008-10-20
  • 打赏
  • 举报
回复
onmousein??
你的意思是需要触发onmousemove事件??
hulove379 2008-10-20
  • 打赏
  • 举报
回复
var Img = document.getElementById"img_1");

呵呵
var Img = document.getElementById("img_1");

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧