函数结束时,jQuery重复设置整数 [英] Jquery repeat set inteval when function end
本文介绍了函数结束时,jQuery重复设置整数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在此脚本中,我要显示数字0,1,2并每次重复,问题是下一个图像要显示到动画和过渡图像结束为止.
In this script I want to show image by number 0,1,2 and repeat each time, the problem it´s the next image show until animation and transition image end.
var n_img_s = 2;
i = 0;
function more_slider() {
if (i > n_img_s) {
i = 0;
}
jQuery(".img_" + i).show(3000).delay(3000);
jQuery(".img_" + i).hide(2000).delay(1500);
i++;
}
setInterval("more_slider()", 5000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slider_cover">
<img src="https://images.pexels.com/photos/6602/food-plate-woman-hand.jpg?auto=compress&cs=tinysrgb&h=350" style="display:none;" class="img_0" />
<img src="https://images.pexels.com/photos/6602/food-plate-woman-hand.jpg?auto=compress&cs=tinysrgb&h=350" style="display:none;" class="img_1" />
</div>
例如,我需要显示图像0
,隐藏完成并在此刻显示下一张图像,但是直到完成另一张图像为止.
I need, for example, to show image 0
, hide finish and in this moment show next image, but not until finish the other image.
但是我不知道如何在其中集成setInterval
.
But I don´t know how integrate setInterval
in this.
感谢您的帮助.
推荐答案
//get all the images
var $images = $('#slider_cover img');
//accept in the next image index to show
function more_slider(nextImageIndex) {
//get the image you should show, using eq()
//so the element will still be in a jQuery object
var $nextImage = $images.eq(nextImageIndex);
//show the image, and then do something after the duration ends
$nextImage.show(3000, function(){
//hide the image, and then do something after the duration ends
$nextImage.hide(2000, function(){
//pass in the incremented index, performing a modulus
//on it so that if the length is equal to the number
//of images it will go back to 0
more_slider(++nextImageIndex % $images.length);
});
});
}
//initialize the loop, giving it the first image index to show
more_slider(0);
.img_0 { border: 2px solid red; }
.img_1 { border: 2px solid blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="slider_cover">
<img src="https://images.pexels.com/photos/6602/food-plate-woman-hand.jpg?auto=compress&cs=tinysrgb&h=350" style="display:none;" class="img_0" />
<img src="https://images.pexels.com/photos/6602/food-plate-woman-hand.jpg?auto=compress&cs=tinysrgb&h=350" style="display:none;" class="img_1" />
</div>
这篇关于函数结束时,jQuery重复设置整数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文