Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当我访问页面上的特定元素时,如何更改jQuery Cycle2插件中数据周期的值?_Jquery_Jquery Cycle2 - Fatal编程技术网

当我访问页面上的特定元素时,如何更改jQuery Cycle2插件中数据周期的值?

当我访问页面上的特定元素时,如何更改jQuery Cycle2插件中数据周期的值?,jquery,jquery-cycle2,Jquery,Jquery Cycle2,我有一个jQuery循环2。使用data cycle paused=“true”我可以无限期地暂停幻灯片放映 我需要做的是,当用户到达页面上的该点时,将data cycle paused=“true”更改为data cycle paused=“false”,以便动画开始 我已经搜索了API文档以及许多其他来源,但我找不到任何关于触发滑块的更改。我在中找到了以下解决方案。 在命令部分中从后面的第二个命令 恢复-恢复暂停的幻灯片放映 $('.cycle-slideshow').cycle('resu

我有一个jQuery循环2。使用data cycle paused=“true”我可以无限期地暂停幻灯片放映

我需要做的是,当用户到达页面上的该点时,将data cycle paused=“true”更改为data cycle paused=“false”,以便动画开始


我已经搜索了API文档以及许多其他来源,但我找不到任何关于触发滑块的更改。

我在中找到了以下解决方案。 在
命令
部分中从后面的第二个命令

恢复-恢复暂停的幻灯片放映

$('.cycle-slideshow').cycle('resume');
希望这就是你要找的

编辑: 尝试以下解决方案,请注意,它仅适用于站点上的第一个幻灯片放映:

$(window).scroll(function(){
    var animatedElement = document.getElementsByClassName('cycle-slideshow')[0],
        animatedElementPosition = animatedElement.offsetTop,
        animatedElementHeight = animatedElement.offsetHeight,
        currentScrollPosition = window.pageYOffset,
        resumed = false;

    if( (currentScrollPosition >= animatedElementPosition) &&
        (currentScrollPosition <= animatedElementPosition + animatedElementHeight ) ){
        if(!resumed){
            $('.cycle-slideshow').cycle('resume');
            resumed = true;
        }
    } else {
        if(resumed){
            $('.cycle-slideshow').cycle('pause');
            resumed = false;
        }
    }
});
这可能意味着,由于jQuery没有被包含一次,而是更多,所以出现了问题

是的,在您的html中:

<script src="js/jquery-2.0.3.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

如果您确信删除第二个插件不会影响您的网站功能,例如其他插件可能需要这个较旧版本的jquery,然后删除它!:)应该有用


注意,当你向下滚动到向上时,你的动画会比它应该显示的更快,因为“循环幻灯片”的高度比我能看到的图像要大得多。

你可以为
滚动
事件()创建一个事件处理程序,并在其中使用任何方法来检测你的幻灯片是否显示在视图中:

一经发现,就去做

$('.cycle-slideshow').cycle('resume');

嗨,加勒特,什么是最好的触发方式?嗨,加勒特,为延误道歉-我昨天出去了。我实现了代码。它现在已就位,但未正确触发。我也找不到jQuery的副本。请让我知道你的想法。@fmz我不知道怎么想,但看起来你有2个jQuery。在浏览器中点击
F12
,然后按
Ctrl+F
,然后键入
jquery
,您将看到以下几行,如我上面所述。试着用代码中的jQuery注释行,看看会发生什么。也许第三方也包括jQuery。我注释掉了1.11.3版本,现在滑块坏了。即使搜索源代码,我也找不到jquery 2.0.3。@fmz尝试粘贴此
,现在仍然是1.11.3。
$('.cycle-slideshow').cycle('resume');