Javascript 如何:基于单击事件暂停并播放flexslider(jQuery) 我正在尝试将slider.pause()和slider.play()事件绑定到我的按钮(请参见下面的代码) 除非我两次单击播放按钮,或者在滑块运行时单击播放按钮,否则它将工作 然后,它似乎运行另一个实例(或其他),因为它以两倍的速度运行,并且暂停按钮不再停止滑块

Javascript 如何:基于单击事件暂停并播放flexslider(jQuery) 我正在尝试将slider.pause()和slider.play()事件绑定到我的按钮(请参见下面的代码) 除非我两次单击播放按钮,或者在滑块运行时单击播放按钮,否则它将工作 然后,它似乎运行另一个实例(或其他),因为它以两倍的速度运行,并且暂停按钮不再停止滑块,javascript,jquery,jquery-plugins,flexslider,Javascript,Jquery,Jquery Plugins,Flexslider,问题:在调用slider.play()之前,是否有方法测试滑块是否正在运行,或者pause()和/或play()调用是否在错误的位置 请告知 $(document).ready(function(){ $('.flexslider').flexslider({ animation: "fade", slideshowSpeed: 2000, pauseOnHover: false, touch: true,

问题:在调用
slider.play()
之前,是否有方法测试滑块是否正在运行,或者pause()和/或play()调用是否在错误的位置

请告知

$(document).ready(function(){
    $('.flexslider').flexslider({
        animation: "fade",
        slideshowSpeed: 2000,
        pauseOnHover: false,
        touch: true,
        controlsContainer: ".fs-container",
        controlNav: true,
        manualControls: ".flex-control-nav li",
        start: function(slider) {
            $('.icon-pause').click(function(){
                slider.pause();
            });

            $('.icon-play').click(function(){
                slider.play();                      
            });
        }
    });
});

7个月前的问题,但是是的,flexslider上的
start
属性在每次动画开始时都会触发

因此,上面的代码是绑定click事件的

相反,你想要的是:

        $('.icon-pause').click(function(){
            $('#your_slider_id').pause();
        });
您可以将其放在page init函数中,或者放在任何地方,只是不要放在flexslider初始化中

(当然,
.play()
也是一种方法。)

试试:


$('.flex-slider')。flexslider('pause')
$('.flex slider')。flexslider('play')

另一个答案是有效的。查看基本API:@marwils,不错。这个答案是在priyaqb发布之前写的。我都记不起来了。还有人在看,请看priyaqb的答案。