jQuery Cycle - “之前”在动画播放到下一张幻灯片之前要完成的函数
我正在使用滑块的 jQuery Cycle 插件 - 在滑块移动到下一张幻灯片之前单击下一个链接时,我需要完成一个功能。
目前,我无法阻止在“之前”功能完成之前触发下一个操作。我正在使用下面的代码。
$('#marques-slider').cycle({
fx: 'scrollHorz',
transition: 'scrollHorz',
timeout: 0,
prev: '#prev-slide',
next: '#next-slide',
pager: '#nav',
easing: 'easeInOutExpo',
speed: 1000,
before: slideUp,
after: slideDown,
startingSlide: 1
});
目前,我的 onBefore 函数和下一张幻灯片函数同时动画。
我还尝试在插件外部创建下一个链接:
$('#next-slide').click(function(){
$('.marques-product-content').animate({
height : '0'
}, function(){
$('#marques-slider').cycle('next');
});
return false;
});
但这会导致一些奇怪的行为,幻灯片背景图像在动画之前发生变化,并且该功能仅在第一次单击时起作用:/
I'm using the jQuery Cycle plugin for a slider - I need to complete a function when the next link is clicked before the slider moves onto the next slide.
At the moment I can't see anyway to prevent the next action firing before the 'before' function is complete. I'm using the code below.
$('#marques-slider').cycle({
fx: 'scrollHorz',
transition: 'scrollHorz',
timeout: 0,
prev: '#prev-slide',
next: '#next-slide',
pager: '#nav',
easing: 'easeInOutExpo',
speed: 1000,
before: slideUp,
after: slideDown,
startingSlide: 1
});
At present both my onBefore function and the next slide function are animating at the same time.
I also tried creating the next links outside of the plugin:
$('#next-slide').click(function(){
$('.marques-product-content').animate({
height : '0'
}, function(){
$('#marques-slider').cycle('next');
});
return false;
});
but this causes some funky behaviour with the slides backfground images changing before animating and the function is only working on the first click :/
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
“下一个”函数似乎无法通过插件方法等待“之前”完成。
然而,深入研究 Cycle.js 代码,您可以延迟这些行上的下一个函数:
大约第 860 行 - (不准确,因为我通过代码添加了一些注释/评论/自定义)。这里我添加了 .delay(800) ,它给出了所需的效果。
There seems to be no way for the 'next' function to wait for your 'before' complete through the plugin methods.
However delving into the cycle.js code you can delay the next functions on theses lines:
Approx line 860 - (not accurate as I added some notes/comments/customisations through the code). Here I added the .delay(800) which gives the desired effect.
你不能只调用一个单独的等待函数吗?
上面的代码没有经过测试。
我得到了上面提到的变量、
当前幻灯片元素、“curr”和
当前幻灯片的索引,“opts.currSlide”
来自 jquery 循环选项参考 - http://jquery。 malsup.com/cycle/options.html 和
通过使用“console.log(opts)”通过我的 Google Chrome 控制台查看 opts 内部的内容。
希望这有帮助。
Can't you just call a separate function that does wait?
The above code is not tested.
I got the variables I mentioned above,
the current slide element, "curr" and
the current slide's index, "opts.currSlide"
from the jquery cycle options reference- http://jquery.malsup.com/cycle/options.html and
by using "console.log(opts)" to see what's inside of opts through my Google Chrome Console.
Hope this helps.