【发布时间】:2012-09-06 16:19:48
【问题描述】:
我有多个带有预览图像的幻灯片块(对于 jQuery Cycle,每个幻灯片实例都有不同的毫秒延迟),如下所示:
<div class="content">
<div class="slideshow preview" data-delay="-2000">
<img src="media/prevslide_3.jpg" alt="Img 1" />
<img src="media/prevslide_4.jpg" alt="Img 2" />
<img src="media/prevslide_5.jpg" alt="Img 3" />
</div>
</div>
我想使用 jQuery 将这些不同的延迟值(通过数据属性设置)传递给将运行所有 Cycle 事件的函数。
$(document).ready(function() {
$('.slideshow.preview').cycle({
fx: 'scrollHorz',
random: 1,
speed: 300,
timeout: 6000,
// here, for a single slideshow, delay is set like this "delay: -1234"
});
});
如何评估 div 上的数据属性 - data-delay="-2000" - 并将其传递给 Cycle 函数?
非常感谢!
【问题讨论】:
-
试试这个.....,延迟:$(this).attr('data-delay'); ...我没有尝试,但可能这种方法可以帮助你。
-
@Rune FS:我尝试使用延迟:{ $('.slideshow.preview').attr('data-delay'); } 在那里,但这显然会产生语法错误;所以我认为必须以某种方式将 data-delay 属性评估为一个变量,并“以某种方式”将其与插件所需的“延迟:”选项相关联?
-
@Kerberos:是的,也许我必须创建一个变量 var delay = $(this).attr('data-delay');在那里,然后将其应用于“延迟:”设置?
标签: jquery custom-data-attribute