Цикл while + немного jquery
Здравствуйте, есть скрипт который выставляет на событие нажатия кнопок функции:
$(document).ready(function () { var i = 0; // создаем переменную i while(i < 4){ // делать пока i меньше 4 $("#test"+i).click(function(){viewInfo(i)}) // для каждой кнопки выставлем функцию с параметром её id i++ //увеличиваем счетчик } }) function viewInfo(id) //собственно ,сама функция вывода id { alert(id) } и вот сами кнопки <button id='test1'></button> <button id='test2'></button> <button id='test3'></button> <button id='test4'></button> при нажатии на любую кнопку выводит "4".Почему? Цикл for аналогично... |
почитайте статью "замыкания", это поможет :)
|
не очень помогло,но что нибудь по данному примеру посоветуйте
|
$(document).ready(function () { var i = 0; // создаем переменную i while(i < 4){ // делать пока i меньше 4 *!* (function(i){ */!* $("#test"+i).click(function(){viewInfo(i)}) // для каждой кнопки выставлем функцию с параметром её id *!* })(i++); */!* } }) function viewInfo(id) //собственно ,сама функция вывода id { alert(id) } |
melky, бесконечный цикл.
Нужно поменять строки 6 и 7 местами. |
угу. поменял
не подумал об этом ) |
$(document).ready(function () { for ( var i = 4; i--; ) { $( "#test" + i ).bind( 'click', { id : i }, function ( e ) { viewInfo( e.data.id ); }) } }; function viewInfo( id ) { alert( id ) ; } |
Цитата:
var i = 0; // создаем переменную i while(i < 4){ // делать пока i меньше 4 (function(i){ $("#test"+i).click(function(){viewInfo(i)}) // для каждой кнопки выставлем функцию с параметром её id })(i++); } }) function viewInfo(id) //собственно ,сама функция вывода id { alert(id) } ..как остановить по достижении 4 ? У меня не получается. И самое нужное_ можна ли с помощью while сделать --- <div id='text'> xxx</div> var i=$('#text').text() var2=('xxx') while(i !=var2){ alert('в это время работает другое ') } если оно ( while )только с числами работает,что тогда применить ? Или такое сэтИнтервалом решеться?Но и его не могу ОСТАНОВИТЬ если 2 переменные стают одинаковыми...Или применить сэтИнтервалом с IF ?..Тогда не могу остановить после его запуска |
if (i == 4) breakнапример |
Цитата:
http://www.w3schools.com/JS/js_break.asp http://myrusakov.ru/cikly-javascript.html http://www.codenet.ru/webmast/js/operators.php |
Часовой пояс GMT +3, время: 00:27. |