我试图用jQuery创建一个轮播,它与活动,非活动和非特定类一起使用。只需输入" active"即可激活列表的第一个元素。类。我执行此代码转到下一个项目,该项目应删除" active"从当前项目开始,将其添加到下一个,添加"非活动"类到当前所以它有时间进行转换,然后删除"不活动" class,以便下次执行时,它可以使用" inactive"选择器中的类,在.5秒后不选择两个对象。
然而,在0.5秒之后,不仅"无效"课程被删除,但是一个"活跃的"班级突然冒出来了。世界上我做错了什么?!
HTML
<div class="banner">
<a class="back" onclick="bannerBack()"><i class="fa fa-angle-left"></i></a>
<a class="next" onclick="bannerNext()"><i class="fa fa-angle-right"></i></a>
<div class="item-container">
<div class="featured-item active">...</div>
<div class="featured-item">...</div>
</div>
</div>
jQuery功能
var ready = true;
function bannerNext() {
if (ready) {
ready = false;
$(".featured-item.active").addClass("inactive");
$(".featured-item.inactive").removeClass("active");
if ($(".featured-item.inactive").is(".featured-item:last-child")) $(".featured-item").first().addClass("active");
else $(".featured-item.inactive").next().addClass("active");
setTimeout(function(){
$(".featured-item.inactive").removeClass("inactive");
ready = true;
}, 500);
}
}
编辑:缩短HTML代码,因为内部的内容在代码中没有任何功能。
答案 0 :(得分:0)
解决。我在代码旁边运行了一个倒数计时器,它可以每秒激活第一个元素,这要归功于提供可能的解决方案。