js,jq 鼠标经过的时候下拉一个菜单效果,我的代码问题在哪? 20

想要的效果就是鼠标经过上面的一栏前面七个li的时候,下面出现相应的块。在我就是把ali[i]一个一个列举出来的时候,结果是我想要的效果。但是写在for循环里面的时候,就会... 想要的效果就是鼠标经过上面的一栏前面七个li的时候,下面出现相应的块。在我就是把 ali[i] 一个一个列举出来的时候,结果是我想要的效果。但是写在for循环里面的时候,就会这样,不管鼠标经过哪一个ali他都是显示第七个块,而且for循环里面的 i 的值也是有问题的....不知道怎么才能写出正确的循环.... 展开
 我来答
来自梨木台伟大的彩虹
2016-11-01 · TA获得超过1265个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:94.3万
展开全部
这个原因是因为你是提前写好的事件绑定,当去触发这个事件的时候,i 这个变量的值已经循环至最后了,所以要这么修改
ali[i].onmouseover = function show(ali[i]){
//然后通过传进来的ali[i],也就是ali,来得到当去鼠标经过的是第几个

//得到结果 j
//然后写事件

hideDiv[ j ].style.display = 'block';

}
更多追问追答
追问
这个 j 在哪定义啊?
追答
简单做法,就是在你的 li 标签上加一个属性,比如是index属性,然后index的值就是顺序的值,比如第一个 li 的index=1;
底下的方法就简单了
$('li').each("onmouseover",function(){
hideDiv[$(this).attr("index")].show();
});
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式