gpt4 book ai didi

jquery - 多个 jQuery Cycle 寻呼机导航

转载 作者:行者123 更新时间:2023-12-01 01:49:24 24 4
gpt4 key购买 nike

我正在实现 jQuery 循环插件,以创建 20 个图像画廊,每个图像画廊都有自己的上一个、下一个和寻呼机导航控件,而无需为每个幻灯片创建和引用 3 个新的 ID 名称,并且避免创建每个幻灯片都有单独的功能。在下面的示例中,我尝试为每个幻灯片提供一个独特的寻呼机,但效果有限。我希望有一种更直观的方法可以使用 .each() 函数来编写此代码。预先感谢任何可以提供帮助的人。

HTML:(本例中我只包含了两张幻灯片)

<div class="slideshow_container">
<div class="work_slideshow">
<div class="slideshow" id="s1">
<img class="slide" src="images/port/design_unique_1.jpg" />
<img class="slide" src="images/port/design_unique_2.jpg" />
<img class="slide" src="images/port/design_unique_3.jpg" />
</div>
<div class="controls">
<img src="images/arrow_left.png" class="prev"/>
<img src="images/arrow_right.png" class="next"/>
</div>
<div class="pager" id="pager1"></div>
</div>

<div class="work_slideshow">
<div class="slideshow" id="s2">
<img class="slide" src="images/port/design_equality_1.jpg" />
<img class="slide" src="images/port/design_equality_2.jpg" />
</div>
<div class="controls">
<img src="images/arrow_left.png" class="prev"/>
<img src="images/arrow_right.png" class="next"/>
</div>
<div class="pager" id="pager2"></div>
</div>
</div>

jQuery:

$('.slideshow').cycle({   
fx: 'fade',
easing: 'easeOutExpo',
speed:2000,
prev:'.prev',
next:'.next',
timeout:0,
pagerAnchorBuilder: function(idx, el) {
return '<a href="#" title="Slides"></a>';
},
});
$('#s1').cycle({
pager:'#pager1'
});
$('#s2').cycle({
pager:'#pager2'
});

最佳答案

编辑:没有正确阅读问题。给你吧

$('.slideshow').each(function () {
var pager = $(this).closest('.work_slideshow').find('.pager');
$(this).cycle({
fx: 'fade',
easing: 'easeOutExpo',
speed:2000,
timeout:0,
pager: pager,
pagerAnchorBuilder: function(idx, el) {
return '<a href="#" title="Slides"></a>';
},
});
});

类似这样的吗?

对于上一个和下一个,我认为像这样手动绑定(bind)上一个和下一个按钮会更有效。

$('.slideshow_container').on('click','.controls .prev',function (e) {
e.preventDefault();
$(this).closest('.work_slideshow').find('.slideshow').cycle('prev');
});

$('.slideshow_container').on('click','.controls .next',function (e) {
e.preventDefault();
$(this).closest('.work_slideshow').find('.slideshow').cycle('next');
});

基本上,所有下一个/上一个按钮都有一个单击处理程序,并使用 .cycle('prev') 和 .cycle('next') 手动访问循环插件

如果需要,您甚至可以将其缩小到只需一键单击处理程序

$('.slideshow_container').on('click','.controls a',function (e) {
e.preventDefault();
if ($(this).hasClass('next') {
$(this).closest('.slideshow').cycle('next');
} else {
$(this).closest('.slideshow').cycle('prev');
}
});

关于jquery - 多个 jQuery Cycle 寻呼机导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13958116/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com