2017-04-22 141 views
-2

我想將這段代碼從JavaScript轉換成jQuery。如何在jQuery中做到這一點?

這是當前的代碼:

var i = 0; 
    var start = true; 

    document.getElementById("startclick").addEventListener("click", function() { 
     if (start) { 
      start = false; 
      interval = setInterval(function() { 
       i++; 
       document.getElementById('list').innerHTML += "albastru_" + i + '<br>' ; 
      }, 3000); 
     } else { 
      start = true; 
      clearInterval(interval); 
     } 

    }); 

這裏是我的嘗試:

$x = 0; 
$start = true; 
$(document).ready(function() { 
    $('#buton2').on('click',function() { 
    if($start){ 
     $start = false; 
     $interval = setInterval(function() { 
      $x ++; 
      $('#list').html('<p>albastru_</p>' + $x + '<br>'); }, 1000); 
     } else { 
      $start = true; 
      clearInterval($interval); 
     } 
    }) 
}); 
+1

請出示你已經嘗試了什麼。這不是免費的代碼轉換服務,轉換非常簡單 – charlietfl

+0

$ x = 0; $ start = true; $(文件)。就緒(函數(){ $( '#buton2')上( '點擊',函數(){ 如果($開始){$ 開始=假; $間隔= setInterval的(函數(){$ X ++; $( '#列表')HTML( '

albastru_

'+ $ X +'
'); },1000);} 其他{$ 開始= true; clearInterval($ interval); } }) }); – Alex

+0

@charlietfl我是新來的jQuery和編程,sry.And我不知道爲什麼它像這樣粘貼。 – Alex

回答

0

你可以這樣做以下。我假設startclick是一個按鈕,點擊它之後.append()會在3秒後將所需數據添加到#list格。

更新了與開始和停止按鈕的答案。

var i = 0; 
 
var start = true; 
 
var interval = null; 
 

 
$('#startclick').click(function() { 
 
    if (interval !== null) return; 
 
    interval = setInterval(function() { 
 
     i++; 
 
     $('#list').append("albastru_" + i + '<br>'); 
 
    }, 3000); 
 
}); 
 

 
$("#stop").click(function() { 
 
    clearInterval(interval); 
 
    interval = null; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 

 
<div id="list"> 
 
</div> 
 
<br /> 
 
<button id="startclick">START!</button> 
 
<button id="stop">STOP!</button>

+0

,謝謝你的回答。但我也想當我點擊開始,循環停止。 – Alex

+0

可以停止使用同一個按鈕嗎? – Alex

+0

@Alex是的,你有上面的代碼,玩它。 – cosmoonot