2017-04-22 132 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