js 设置 背景图片问题,求高人

ye66_tom 2016-05-06 07:36:19
目的:有8个li,想给每个li设置不同的背景图片:j11.jpg,j12.jpg,...j18.jpg,并且当鼠标称入时更换背景图片:分别为j12.jpg,j22.jpg,j32.jpg....j82.jpg,称出时,还原原来的图片。

var aa=document.getElementsByTagName("li");
for (var i=1;i<=aa.length;i++){
aa[i-1].style.backgroundImage="url(j"+ i+"1.jpg')"; //设置开始的背景图片,这是可以的。
aa[i-1].onmouseover=function(){this.style.backgroundImage="url(j"+i+"2.jpg)";}
aa[i-1].onmouseout=function(){this.style.backgroundImage="url(j"+ i+"1.jpg)"; }
}
后面的两行代码,达不到效果,不能更改背景。如果在onmouseover加入alert(i),每个li 的onmouseover事件弹出的都是一样的值:9。请高人指点。
...全文
325 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ye66_tom 2016-05-06
  • 打赏
  • 举报
回复
真是高人,非常感谢
shenyexixiong 2016-05-06
  • 打赏
  • 举报
回复
不知道你是想鼠标覆盖li标签图片都显示 还是图片轮流显示
functionsub 2016-05-06
  • 打赏
  • 举报
回复
很典型的闭包问题。
var aa=document.getElementsByTagName("li");
for (var i=1;i<=aa.length;i++){
    aa[i-1].style.backgroundImage="url(j"+ i+"1.jpg')";  //设置开始的背景图片,这是可以的。
    changeBg(i);
}
function changeBg(idx){
    aa[idx-1].onmouseover=function(){this.style.backgroundImage="url(j"+idx+"2.jpg)";}
    aa[idx-1].onmouseout=function(){this.style.backgroundImage="url(j"+idx+"1.jpg)"; }
}

87,922

社区成员

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

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