日期:2014-05-16  浏览次数:20649 次

jquery做一个菜单 - Web 开发 / Ajax
当鼠标经过的li要slideDown(打开),其他则要slideUp(关闭),怎么实现?
思路是怎么样呢?如果是先把全部关闭,再显示鼠标经过的li,这样的话不行啊,弄了一天了,郁闷ing,请高手指教
这里还有个问题:如果用each的话怎么判断循环到的对象就是鼠标经过的li呢?

------解决方案--------------------
给每个li一个class
#(".class_name").hide()
#("#li_id").show()
就可以了


------解决方案--------------------
我都是用现成的东西,这个自己写不太会
------解决方案--------------------
CSS code

用jQuery的选择器找到li,$("li")如果给他添加slideUp;
$("li").slideUp();
所有的li都会被隐藏,所以没有触发事件的对象了。
所以这里你可以在将li隐藏,然后鼠标放在ul上就显示所有的li
$("ul").mouseover(function () {
     $(this).find("li").slideDown();
});
$("ul").mouseout(function () {
     $(this).find("li").slideUp();
});

如果用each的话怎么判断循环到的对象就是鼠标经过的li呢?
$("ul").mouseover(function () {
     var el = this;//鼠标当前对象
     $("ul li").each(function (current){//所有li对象
            if (el == current) {
                alert("找到了,就是你");
            }
     });
});

大致是思路和方法都说了,下面就是你自己把过程实现下。

------解决方案--------------------
当鼠标放上去的时候 mouseover事件
然后显示一下。隐藏别的
------解决方案--------------------
$('li').each(function(){
$(this).hover(function(){ 
$(this).show().siblings().hide() ; //移到哪个li哪个显示,其它所有隐藏 
},function(){
$(this).hide();
});

})
------解决方案--------------------
不错!
------解决方案--------------------
好东西