jQuery 循环插件,每张幻灯片具有不同的超时值

标签 jquery timeout jquery-cycle

我正在尝试使用 jQuery 循环插件来循环不同的引号。我希望根据报价的长度显示不同的报价时间。为了实现这一目标,我让内容管理系统将秒数输出为类名,例如 dur13 将表示 13 秒。

这是我的无效尝试:

$('.featureFade').cycle({cycleTimeout: 10, after: onCycleAfter});

function onCycleAfter() { 
    $('.featureFade').cycle('pause');
    var duration = $(this).attr('class').substring($(this).attr('class').indexOf('dur')+3)
    setTimeout(oncycleEnd, duration * 1000); 
}
function oncycleEnd() { 
    $('.featureFade').cycle('resume');
}

这可以通过循环实现吗?如果没有的话还有其他插件可以用吗?我真的不需要花哨的效果,淡入淡出就足够了。

非常感谢

最佳答案

有一个timeoutFn option你可以这样使用:

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    var duration = $(currElement).attr('class').substring($(currElement).attr('class').indexOf('dur')+3)
    return duration * 1000;
  }
});

但是,您可以使用 data attribute 来代替类。 ,像这样:

<img data-duration="2000" src="..." />

那么你的代码就更简单了:

$('.featureFade').cycle({
  timeoutFn: function(currElement, nextElement, opts, isForward) { 
    return parseInt($(currElement).attr('data-duration'), 10);
  }
});

关于jQuery 循环插件,每张幻灯片具有不同的超时值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075073/

相关文章:

jQuery 循环 : Disable Initial 'After' Callback

jQuery Linkify 插件 : Can't handle links that end in parenthesis

jquery - 如何在父 Bootstrap Collapse 面板折叠时动态暂停视频?

node.js - 如何修改nodejs请求默认超时时间?

javascript - 为每个新套接字设置超时node.js

javascript - 如何使用nodejs处理请求超时

jquery - 多个 jQuery Cycle 寻呼机导航

javascript - 循环 2 下一个和上一个按钮

javascript - 拖放图 block 后如何动态重新排序数组?

jquery - 使用 jQuery 上课