[英]how to check if it was the last element
如何檢查是否是最后一個div? 如果是的話,我需要刪除所有類“就緒”
HTML:
<div class="green"></div>
<div class="orange"></div>
<div class="red"></div>
<div class="green"></div>
<div class="orange"></div>
js:
$(function() {
setInterval(showBlock, 1000);
function showBlock() {
var x = $("div:first").addClass("ready");
var c = $("div");
$(".ready").css("display", "block");
if (c.hasClass("ready")) {
$(".ready:last").next().addClass("ready");
}
}
})
;
查看您的代碼,我理解的是您希望每秒顯示一個div。 為此,我建議采用以下方法。 首先將hidden
類添加到所有div
,然后每秒鍾將其從第一個hidden div
中刪除。
$(function() { $('div').addClass('hidden'); var i = setInterval(showBlock, 1000); function showBlock() { var x = $("div.hidden:first").removeClass("hidden"); if($("div.hidden").length == 0) { clearInterval(i); } } });
.hidden { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <div class="green">Green</div> <div class="orange">Orange</div> <div class="red">Red</div> <div class="green">Green</div> <div class="orange">Orange</div>
據我了解您的問題,以下解決方案必須適合您的情況:
$(function() { setInterval(showBlock, 1000); function showBlock() { var ready_divs = $("div.ready").length; var total_divs = $("div").length; if(ready_divs!=total_divs){ if(ready_divs==0){ $("div:first").addClass('ready'); }else{ $("div.ready:last").next('div').addClass('ready'); } }else{ $("div").removeClass('ready') } } });
div{ width: 20px; height: 20px; border:1px solid red; } div.ready{ border:3px solid blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div class="green"></div> <div class="orange"></div> <div class="red"></div> <div class="green"></div> <div class="orange"></div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.