作者TonyQ (沉默是金)
看板Ajax
标题Re: [问题] 请教jQuery回圈的问题 !
时间Tue Oct 28 11:39:55 2008
※ 引述《killuaza (Killuaza)》之铭言:
: 各位先进好
: 小弟目前有一小段程式有问题
: 对jQuery 还不是很熟 ,还请大家多多帮忙 !
: for(var i=1;i<best.length;i++){
: if(i<10){
: document.write("<td id=zone0-"+ i + " width=60 align='center'>0" + i + "</td>");
: }else{
: document.write("<td id=zone0-"+ i + " width=60 align='center'>" + i + "</td>");
: }
: if((i%10)==0)document.write("</tr><tr>");
: $("td#zone0-"+i).click(function(){
/*这里面的时空是被按下之後的时空*/
: if($(this).css("background-color")=='red'){
: $(this).css("background-color","white");
: zoneInput[0]--;
: best[i]--;
: }else{
: if(zoneInput[0]>=max){
: alert('Over Max');
: }else{
: $(this).css("background-color","red");
: zoneInput[0]++;
: best[i]++;
: }
: }
: });
: }
: 我想做的就是在一表格内点任一数字
: 然後该数字就会做加总
: 但在 .click(function 里,回圈的 i 值都是固定 为 81 (best.length=80)
: 这是为什麽咧 ?
因为静态变数+时间差的关系 ,
你这样写绑订的时候是把 i 这个变数绑进function(){}
而不是把i的值给绑进去 , 希望这样讲你能了解. XD
而 i 最後它去找系统中 i 的值时候 , i 是跑完loop後最後剩下的值.
我没测过 , 不过我想把资料存起来应该就好了吧. :p
$("td#zone0-"+i).data("index",i).click(function(){
var i=$(this).data("index");
/*.....剩下的处理... */
});
--
What do you want to have ? / What do you have?
从书本中,你可以发现我的各种兴趣。
从CD中,你可以了解我所喜欢的偶像明星。
或许从文字你很难以了解一个人,但从物品可以。
My PPolis , My past. http://ppolis.tw/user/Tony
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.219.202
1F:→ TonyQ: "[问题] function 里的 setTimeout 与 变数" 跟这问题一样 10/28 11:40
2F:推 killuaza:太感谢你了 TonyQ 大哥,马上就解决了问题! 谢谢~ 10/28 11:44