日期:2014-05-20  浏览次数:20618 次

有用过Jquery的吗?里面的setInterval和clearInterval有点问题
我下了个图片轮播切换的Jquery例子http://www.cnblogs.com/babyzone2004/archive/2010/08/30/1812682.html

我想加一个鼠标放上去能暂停的功能,就加了一些jquery的代码:

下面这段代码是当鼠标放到滑动框时暂停和离开时重新自动播放的功能--
JScript code

                    $(".slide", $t).hover(
                        function(){clearInterval(sliderIntervalID);},
                        function(){
                            sliderIntervalID = setInterval(function(){
                                if(active===false) {animate("next",true);}
                            },o.autoStart);
                        }
                    );



但是当下面这段原来的代码里手动前进后退的按钮时间被触发时,上面我加的这段暂停的代码就失效了,好像是改了sliderIntervalID的值后,clearInterval找不到那个id了
JScript code

                    $(".next",$t).click(function(){
                        if(active===false) {
                            animate("next",true);
                            if(o.autoStart){
                                if (o.restart) {autoStart();}
                                else {clearInterval(sliderIntervalID);}
                            }
                        } return false;
                    });



------解决方案--------------------
不太清楚。

但是楼主请弄清楚 setInterval 和 setTimeout的区别吧。