【问题标题】:Flexslider sliding doesn't resume after using next/previous controls使用下一个/上一个控件后,Flexslider 滑动不会恢复
【发布时间】:2017-06-15 14:30:47
【问题描述】:

没有 jquery 背景,只是想要一个用于 Dreamweaver 构建站点的简单轮播。一切都很好,但是 - 当您单击下一个/上一个箭头以向前/向后移动幻灯片时,将光标移出滑块(箭头消失)时,图像会停留在您查看的最后一个图像上,而不是继续/恢复作为一个滑块。这是注定要发生的吗?如果是这样,有没有办法让它恢复“播放”?谢谢

【问题讨论】:

    标签: jquery css slider dreamweaver flexslider


    【解决方案1】:

    你可以在你的js代码中试试这个:

    解决方案 1:

    $('.flex-next').on('click',function () {
        $('.flexslider').flexslider("play");
    });
    $('.flex-prev').on('click',function () {
        $('.flexslider').flexslider("play");
    });
    

    演示:http://jsfiddle.net/lotusgodkk/n9JUc/22/

    解决方案 2:将此添加到您的 flexslider 初始化代码中。

    after: function (slider) {            
            if (!slider.playing) {
                slider.play();
            }
        }
    

    演示:http://jsfiddle.net/lotusgodkk/n9JUc/23/

    基本上,每当单击下一个/上一个按钮时,我们都会调用play 方法,其中.flex-next.flex-prev 是下一个和上一个按钮上的类。

    在您的网站中,您使用过:

    $(window).load(function () {
        $('.flexslider').flexslider();
    });
    $('.flex-next').on('click', function () {
        $('.flexslider').flexslider("play");
    });
    $('.flex-prev').on('click', function () {
        $('.flexslider').flexslider("play");
    });
    

    相反,只需使用以下代码:

        $(document).ready(function () {
        $('.flexslider').flexslider({
            after: function (slider) {
                if (!slider.playing) {
                    slider.play();
                }
            }
        });
    });
    

    使用 $(document).ready 代替 $(window).load

    【讨论】:

    • 谢谢 - 无法让任何一个选项起作用!我有 jquery.min.js 和 jquery.flexslider.js 并且也在 标记中尝试过,它仍然在做同样的事情。获取语​​法错误。当您转到“演示”链接时,字符数比上面框中的字符多。对不起。我的滑块位于link
    • 更新了答案。检查答案末尾的修改代码
    • 如何在悬停暂停滑块上再次启用?
    • 对不起,当我使用 .flexslider("play") 选项“悬停时暂停”停止工作。
    【解决方案2】:

    尝试将pauseOnAction参数设置为false

    $(document).ready(function () {
        $('.flexslider').flexslider({
            pauseOnAction: false
        });
    });
    

    【讨论】:

      【解决方案3】:
      $('.flexslider').flexslider({
         animation: "slide",
         slideshowSpeed: 1000,
         start: function(slider) {
            $('body').removeClass('loading');
         },
         after: function (slider) {
            if (!slider.playing) {
              slider.play();
            }
         }
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 2016-09-27
        • 1970-01-01
        相关资源
        最近更新 更多