Просмотр полной версии : Цикл while + немного jquery
Tonik a.k.a Mademax
21.08.2011, 00:26
Здравствуйте, есть скрипт который выставляет на событие нажатия кнопок функции:
$(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 аналогично...
почитайте статью "замыкания", это поможет :)
Tonik a.k.a Mademax
21.08.2011, 00:33
не очень помогло,но что нибудь по данному примеру посоветуйте
$(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)
}
B@rmaley.e><e
21.08.2011, 11:07
melky, бесконечный цикл.
Нужно поменять строки 6 и 7 местами.
угу. поменял
не подумал об этом )
nikita.mmf
21.08.2011, 14:05
$(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 ) ;
}
Андрей38
04.09.2011, 19:37
melky, бесконечный цикл.
Нужно поменять строки 6 и 7 местами.
$(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)
}
..как остановить по достижении 4 ? У меня не получается.
И самое нужное_ можна ли с помощью while сделать ---
<div id='text'> xxx</div>
var i=$('#text').text()
var2=('xxx')
while(i !=var2){
alert('в это время работает другое ')
}
если оно ( while )только с числами работает,что тогда применить ? Или такое сэтИнтервалом решеться?Но и его не могу ОСТАНОВИТЬ если 2 переменные стают одинаковыми...Или применить сэтИнтервалом с IF ?..Тогда не могу остановить после его запуска
if (i == 4) break например
Андрей38
04.09.2011, 20:33
if (i == 4) break например
Огромнейшее СПАСИБО :thanks: :thanks: :thanks: !сейчас подставлю
http://www.w3schools.com/JS/js_break.asp
http://myrusakov.ru/cikly-javascript.html
http://www.codenet.ru/webmast/js/operators.php
Андрей38
04.09.2011, 21:09
$(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)
}
http://szenprogs.ru/blog/jquery_vstroennye_funkcii/2010-10-13-89
http://myrusakov.ru/cikly-javascript.html
<!-- * http://myrusakov.ru/cikly-javascript.html-->
<script type="text/javascript">
for (i = 0; i < 30; i++) {
if (i <20) continue;
// if (i == 10) break;
// document.write( ' <div id='+i+'> id= '+i+' </div> ' )
alert( ' <div id='+i+'> id= '+i+' </div> ' );
}
</script>
http://xhtml.co.il/ru/jQuery/toArray
http://xhtml.co.il/ru/jQuery/Типы/Массив
http://xhtml.co.il/ru/jQuery/get !!!!!!
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(){
$("*", document.body).click(function (e) {
e.stopPropagation();
var domEl = $(this).get(0);
alert(domEl.tagName);
});
});
</script>
<style>
span { color:red; }
div { background:yellow; }
</style>
</head>
<body>
<span> </span>
<p>In this paragraph is an <span>important</span> section</p>
<div><input type="text" /></div>
</body>
</html>
http://szenprogs.ru/blog/jquery_vstroennye_funkcii/2010-10-13-89
Андрей38
19.10.2011, 01:35
что быстрее _for c ленгзом или each?
<!DOCTYPE html>
<html>
<head>
<style>
span { color:red; }
</style>
<script src="http://code.jquery.com/jquery-1.5.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
var es=$('div')
for (var i = 0; i <es.length; i++)
{
es.eq(i) .clone().wrap('p').appendTo ('#df')
}
});
</script>
<div id='df'> </div>
</head>
<body>
Reversed - <span></span>
<div>One</div>
<div>Two</div>
<div>Three</div>
</body>
</html>
Ну и альтернатива этому--- c обычным each в связке с this...Что будет работать быстрее?
Какой вариант предпочтительнее , уважаемые гуру?..
.. а в сравнении с регуляр.выражением?..
И каким секундомером мерять:) ?
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot