使用 jquery 循环图像
我有一个简单的 HTML 列表:
<ul>
<li>
<div class="slideshow1">
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
</div>
</li>
<li>
<div class="slideshow2">
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
</div>
</li>
</ul>
我尝试通过这样做循环浏览图像:
$('.slide1,.slide2').hide();
$.each($('.slide1'), function() {
$(this).fadeIn().delay(1900).fadeOut();
});
$.each($('.slide2'),function() {
$(this).fadeIn().delay(1900).fadeOut();
});
但是,它不会逐个图像循环;它一次循环多个图像。
我想循环浏览第一个 li
中的所有图像,然后循环浏览第二个 li
中的图像。
I have a simple HTML list:
<ul>
<li>
<div class="slideshow1">
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide1" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
</div>
</li>
<li>
<div class="slideshow2">
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
<img class="bradius5 slide2" src="<?php base_url();?> img/ristorante1.jpg" height="150" width="170"/>
</div>
</li>
</ul>
I tried to cycle through the images by doing this:
$('.slide1,.slide2').hide();
$.each($('.slide1'), function() {
$(this).fadeIn().delay(1900).fadeOut();
});
$.each($('.slide2'),function() {
$(this).fadeIn().delay(1900).fadeOut();
});
However, it doesn't cycle image by image; it cycles multiple images at a time.
I want to cycle through all the images in the first li
, then cycle through the images in the second li
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是因为你同时推迟了所有这些。 each 中的第一个参数是当前索引。
尝试这样的事情:
这将使每个更新从最后一次
更新
开始延迟 200 毫秒。你真的应该使用 @ShankarSangoli 建议的插件,并让它与布局一起工作,但这样的东西也应该适合你。 (这尚未经过测试,只是为了让您开始)
its because youre delaying all of them at once. The first parameter in the each is the current index.
Try something like this:
this will delay each one 200ms from the last
Update
You should really use a plugin like @ShankarSangoli has suggested and just get it to work with the layout but something like this should work for you as well. (this hasn't been tested but just to get you started)
为什么不使用 jquery 循环插件?它提供了很多功能并且非常易于使用
http://jquery.malsup.com/cycle/
Why don't you use jquery cycle plugin? It offers a lot of features and very easy to use
http://jquery.malsup.com/cycle/