javascript - 超出视口(viewport)时停止 slider 滚动?

标签 javascript jquery css wordpress caroufredsel

示例页面:http://550.9f2.myftpupload.com/speaking-engagements/

使用 Wordpress(Visual Composer)构建。

在页面中间附近,您会看到一个带引号的黄色 slider ,它会在每张幻灯片之间自动滚动。因为每张幻灯片的大小会根据文本的数量而变化,所以我需要在用户滚动经过它时自动停止滑动。否则,当 slider 浏览不同的幻灯片时,下面的内容会上下跳动。

我的在线研究告诉我这应该用 Javascript/jQuery 来完成?我一点都不熟悉,有没有人对新手如何实现这个有任何提示?

最佳答案

有两件事你应该注意:

1) 检测 slider 是否对用户可见。有几种解决方案,例如 thisthis

2) 根据 slider 可见性停止/启动 slider 。 将它们组合在一起,代码将如下所示。它是概念性的,未经测试,但我认为这个想法很清楚。

jQuery(window).scroll(function($) {

    function isScrolledIntoView(elem)
    {
        var docViewTop = $(window).scrollTop();
        var docViewBottom = docViewTop + $(window).height();

        var elemTop = $(elem).offset().top;
        var elemBottom = elemTop + $(elem).height();

        return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
    }


    if (isScrolledIntoView($('.rd_testimonials'))){
        $('.rd_testimonials').carouFredSel({auto: false});
    } else {
        $('.rd_testimonials').carouFredSel({auto: true});
    }

});

关于javascript - 超出视口(viewport)时停止 slider 滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42703817/

相关文章:

javascript - React JS 中通过 id 链接

javascript - 查找字符后的第一个字符串

javascript - 按主行展开/折叠行分组?

javascript - 使用 jQuery 和 jDataView 在 IE9 中读取二进制文件

javascript - 如何获取被点击元素的类名并使用相同的类名来操作其他元素?

css - 计算出的高度与指定高度不同

html - 悬停时更改单个 li 的颜色

javascript - 带有 CSS 推子的 ng-show 不工作

javascript - Scala 返回值不是预期的

javascript - 如何在选择时将自定义值传递给自动完成输入类型?