2015-12-07 3 views
0

Я сделал onclick alert, что нормально для простого оповещения, но я пытаюсь оповестить его о цикле, он работает только в однократном действии, чтобы завершить цикл. Во втором клике не отображается окно предупреждения ... !!!Циклическое предупреждение не работает

<ul> 
    <li>Click one</li> 
    <li>Click two</li> 
</ul> 

<script> 
    var n = 1; 
    var txt = "Now you can see me"; 
    $(document).ready(function() { 
     //$(document).unbind('click').bind('click', function(){ 
     $(document).off('click').on('click', function() { 
      for (n; n <= 10; n++) { 
       alert(txt + " for " + n + " times"); //after finished loop can't show alert 
      } 
     }); 
    }); 
</script> 

Я пытался использовать с отключенным и выключенным триггером()? Почему не работает во второй раз?

ответ

2

Перед повторным запуском необходимо инициализировать n до 1.

<script> 
    var n = 1; 
    var txt = "Now you can see me"; 
    $(document).ready(function() { 
     //$(document).unbind('click').bind('click', function(){ 
     $(document).off('click').on('click', function() { 
      for (n = 1; n <= 10; n++) { 
       alert(txt + " for " + n + " times"); //after finished loop can't show alert 
      } 
     }); 
    }); 
</script> 
+0

Зачем нужно назначать? Большое спасибо –

+0

@DavidJawphan Вы могли бы назначить до самого цикла, но assinging необходимо, так как после завершения цикла значение n будет равно 10 и не будет сброшено. В следующий раз цикл будет проверять его состояние и не войдет внутрь. – gurvinder372

+0

@DavidJawphan Когда вы используете уже инициализированную переменную, используйте цикл 'for', как показано ниже:' var i = 0; for (; i <9; i ++) {console.log (i); } '(источник: [Mozilla Developper Network] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) [** JSFiddle **] (https: // jsfiddle .net/v3n00pxn /). –

Смежные вопросы