写了个上下滑动菜单,点击上下箭头滑动实现了。现在我想把点击换成,比如鼠标放到上箭头,就连续滑动直到鼠标移开或者已经到第一个菜单项才停止.各位大神,求思路.

解决方案 »

  1.   

    按楼主所说的,既然是个滑动菜单,那主要部分应该是“滑动”。现在滑动已经实现了,怎样触发应该只是修改事件类型(比如你原来是onclick=function(){},那就可以修改为onmouseover=function(){}),不知楼主觉得难点在哪~。
      

  2.   

    onclick 改为onmouseover  是这样的/
      

  3.   

    又是阿鱼呐..我的确把事件改成了mouseover ,但是鼠标放上去的时候只滑动一个item(click的时候设置的一次滑动一个),要离开再放上去才会继续滑动一个item
      

  4.   

    你可以在mouseover的时候加一个定时器移动,在mouseout的时候清除这个定时器啊
      

  5.   

    又是阿鱼呐..我的确把事件改成了mouseover ,但是鼠标放上去的时候只滑动一个item(click的时候设置的一次滑动一个),要离开再放上去才会继续滑动一个item
    对哇,又是我阿鱼呐
    那就需要改你的滑动函数了,滑一个能实现,连续滑动也应该不是问题,不过over和out结合的时候,Timeout的set和clear要注意下。
      

  6.   

    不是很理解over和out结合的作用,阿鱼可否具体点啊
      

  7.   

    setTimeout 什么的做ui已经比较low了以此为思路jQuery.animate()http://www.w3school.com.cn/tiy/t.asp?f=jquery_effect_animate
      

  8.   

    我翻了下手头的js书,觉得基础理解的太测了下终于明白了$(function() {
                    
                    var num = 0;
                    var max = 10;
                    var timeId = 0;
                    $("#next").bind({
                        mouseover: function(){
                            $("#increseTxt").val(num);
                            num++;
                            if(num<max){
                                timeId = setTimeout(function(){
                                    $("#next").trigger("mouseover");
                                },500);
                            }
                        },
                        mouseout: function(){
                            clearTimeout(timeId);
                        }
                    });
                    
                });    <body>
            <button value="next" id="next">next </button>
            <input id="increseTxt" />
        </body>
      

  9.   

    10L的代码正解,坚决不用setInterval()。
    还有setTimeout()第一个参数尽量用方法名,少用js代码文本,可以少开解析器。