Javascript для цикла () в Drupal не работает? - PullRequest
2 голосов
/ 12 ноября 2009

Я потратил много времени, пытаясь выяснить, почему мой цикл Javascript for () не будет работать в блоке Drupal, я чувствую, что проверил синтаксис - есть идеи, почему это не работает ?!

$(document).ready(function() {
var i=0;
while (i<=5)
  {
 alert(i);
  i++;
}
});

Это ничего не делает, а также, если я добавлю что-то подобное, тоже не будет работать:

for (var i=0; i<31; i++){
alert(i);
}

Спасибо!

1 Ответ

3 голосов
/ 12 ноября 2009

Ни одно из предупреждений не произойдет, пока поток не завершит выполнение. К тому времени я превысил ваш лимит. Это очень часто задаваемый вопрос. Вам нужно узнать о замыканиях в JavaScript.

Вот хороший обзор. В StackOverflow также есть много ответов на этот вопрос.

http://james.padolsey.com/javascript/closures-in-javascript/

Из этой статьи этот код:

for (var i = 0; i < 100; ++i) {
    myElements[i].onclick = (function(n) {
        return function() {
            alert( 'You clicked on: ' + n );
        };
    })(i);
}

Что похоже на то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...