fungsi javascript setInterval().
为情所困
为情所困 2017-05-19 10:12:53
0
5
514

Gunakan fungsi setInterval() untuk menambahkan css secara dinamik pada li

<ul>
    <li> 1 </li>
    <li> 2 </li>
    <li> 3 </li>
    <li> 4 </li>
  </ul>
var i = -1;
setInterval(function(){
  i++;.
  console.log(i);
  (i > 3) ? i = -1 : changeClass(i);

}, 1000);

function changeClass(j) {
  $('li').eq(j).addClass('cur').siblings().removeClass('cur');
}

Didapati bahawa perubahan i ialah 0->1->2->3->4->0->1->2->3->4 yang berikut Selepas menambah css pada li yang ditandakan dengan 3, akan ada selang 1s sebelum ia terus bertukar secara dinamik, kerana tiada li yang ditandakan dengan 4. Apa yang menyebabkan ini

为情所困
为情所困

membalas semua(5)
伊谢尔伦

Sebab (i > 3) ? i = -1 : changeClass(i);

Apabila i=4 (i > 3) ? , jika 4 pasti lebih besar daripada 3, laksanakan i = -1,

Fungsi changeClass(i) tidak akan dilaksanakan, jadi tiada li dengan subskrip 4

某草草
i大于3的时候,i=-1了。同时这次没有执行changeClass(i)
if(i > 3) i = 0;changeClass(i)
習慣沉默

0 - 3 sudah 4. Hanya apabila anda menulis (i > 3) ia akan menjadi -1, yang bermaksud ia akan mengambil masa lima larian sebelum menjadi -1
Jika anda mahu menjalankannya 4 kali, ia akan menjadi -1 -1 hendaklah ditukar kepada (i >= 3)

仅有的幸福
if(i<3){
    changeClass(i);
}else{
    changeClass(i);
    i = -1 
}

仅有的幸福

Yang keempat tidak boleh ditutup, jadi disyorkan untuk menukar i>3 kepada i>4 atau i>=3

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan