停止jQuery onmouseover

时间:2014-04-25 13:13:19

标签: javascript jquery

我在jquery中完全是新手,我需要更改jquery幻灯片功能才能在onmouseout上工作。简单 - 如果有人将悬停#slideshow div而不是幻灯片将停止切换图像。 这是我的幻灯片脚本:

   $("#slideshow").mouseout() {

        $("#slideshow > div:gt(0)").hide();

        setInterval(function() { 
          $('#slideshow > div:first')
            .fadeOut(1000)
            .next()
            .fadeIn(1000)
            .end()
            .appendTo('#slideshow');
        },  2000);

    });

这是我的$幻灯片div

<div class="ss">
                        <div id="slideshow">
                            <div>
                                <img src="img/ss.jpg">
                            </div>
                            <div>
                                <img src="img/ss2.jpg">
                            </div>
                            <div>
                                <img src="img/ss3.jpg">
                            </div>
                            <div>
                                <p>text</p>
                            </div>
                         </div>
                    </div>

1 个答案:

答案 0 :(得分:1)

var initList=setInterval(function() { 
          $('#slideshow > div:first')
            .fadeOut(1000)
            .next()
            .fadeIn(1000)
            .end()
            .appendTo('#slideshow');
        },  2000); 
$('#slideshow').mouseover(function(){
    clearInterval(initList);
 }).mouseout(function(){
    initList = setInterval(function(){ $('#slideshow > div:first')
            .fadeOut(1000)
            .next()
            .fadeIn(1000)
            .end()
            .appendTo('#slideshow');}, 2000) ;
 });

我认为它会起作用。 因此,当鼠标悬停发生时,从initList清除间隔。同样,当mouseout相同时,可以将其应用于initList