我有以下 HTML - http://jsfiddle.net/X763j/
我想要做的是循环遍历它们,以一种无限滑块的方式一次显示一个。
JavaScript 不是我的强项,但据我了解,您可以使用 jQuery .toggle 函数。
我该怎么做才能让它只显示下一个。
如果有人能指出我正确的方向,我将不胜感激。
我有以下 HTML - http://jsfiddle.net/X763j/
我想要做的是循环遍历它们,以一种无限滑块的方式一次显示一个。
JavaScript 不是我的强项,但据我了解,您可以使用 jQuery .toggle 函数。
我该怎么做才能让它只显示下一个。
如果有人能指出我正确的方向,我将不胜感激。
你可以用jQuery来做到这一点。隐藏:visible
一个并显示.next()
一个。一旦你走到尽头,下一个就是那个:first
。
function next() {
var current = $("#slider .slide:visible");
current.hide();
var next = current.next(".slide");
if(next.length == 0)
next = current.siblings().filter(":first")
console.log(next);
next.show();
}
setInterval(next, 1000);
您可以查看jQuery 文档以获取有关我使用的所有函数和选择器的更多信息。
你也应该看看许多jQuery Carousel插件之一。
使用 setInterval,您可以调用一个为您处理滑块的函数,就像这样。
setInterval(slide, 4000); // Set interval, callback function, and how often to swap slide
function slide() {
$('div.active').removeClass('active').fadeOut(500, function() {
if($(this).next('div.slide').length) {
$(this).next('div.slide').addClass('active').fadeIn(500);
} else {
$('div.slide').eq(0).addClass('active').fadeIn(500);
}
});
}
一个jsfiddle:http: //jsfiddle.net/X763j/3/
这是另一个仅循环幻灯片的代码示例。请注意,这不是优化的。
$(document).ready(function() {
var i = 0;
var slides = $('.slide');
var currentSlide = slides.first();
slides.each(function(index, value) { //Hide the all the slides
$(value).hide();
});
currentSlide.show() //Show the first
setInterval(function() { //Interval that loops.
i++;
if (i + 1 > slides.length) i = 0;
currentSlide.hide();
currentSlide = slides.eq(i);
currentSlide.show();
}, 3000);
});