В следующем коде метод CLICK() запускается только один раз:
<!DOCTYPE html>
<html>
<head>
<script src="/jquery-1.10.2.min.js"></script>
<script>
$(function(){
var arr = ["test1", "test2", "test3"];
var i=0;
$("#btn").click( function () {
while(arr[i])
alert(arr[i++]);
});
});
</script>
</head>
<body>
<div id="btn">Click Me</div>
</body>
</html>
В чем проблема? Я прочитал все остальные темы, но не помог.
Большое спасибо.
Он делает следующее: - Просто сбросьте i
в 0. В вашем обработчике условие не выполняется во второй раз, потому что ваш i
становится array.length
из вашего предыдущего выполнения, и он терпит неудачу, поскольку в arr[array.length]
i.e3 нет элемента ваш случай.
$("#btn").click(function () {
while(arr[i])
alert(arr[i++]);
i = 0; //here reset it
});
или просто переместите его в область действия функции.
$("#btn").click(function () {
var i = 0;
while(arr[i])
alert(arr[i++]);
});
Метод click запускается на каждом клике, но после первого он больше не вводит цикл while, потому что i === 3
.
Я думаю, что проблема вызвана переменной i, пожалуйста, переместите я в функцию щелчка, например:
$("#btn").bind('click', function(){
var i = 0;
while(arr[i])
alert(arr[i++]);
});
попробуй это:
$("#btn").on('click', function () {
while(arr[i])
alert(arr[i++]);
});