onmouseout with 2 image =)
<img id="img0" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="100" height="100" /><br/> <img id="img1" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="100" height="100" /> <script> to=150; mouseover=new Array(false,false); for(i=0;i<2;i++){ e=document.getElementById('img'+i); e.onmouseover=function(){ e=this; id=e.id.substring(3); per=to/100; a=100; b=100; mouseover[id]=true; setTimeout(function(){ if((e.width<(a*per))&&(mouseover[id])){ e.width++; e.height++; setTimeout(arguments.callee,50); } },50) } e.onmouseout=function(){ e=this; id=e.id.substring(3); per=to/100; a=100; b=100; mouseover[id]=false; alert("real width: "+e.width+" > "+a+"; MouseOnImage: "+mouseover[id]) setTimeout(function(){ if((e.width>a)&&(!mouseover[id])){ e.width--; e.height--; setTimeout(arguments.callee,50); } },50) } } </script> если навести курсор на картинку то она увеличивается, когда увести то уменьшается, но если увести на другую картинку, то уменьшение не произойдет, вопрос почему? ведь условия рекурсии будут соблюдаться, и будут одинаковы что уводишь на белый фон, что на другую картинку |
У меня в опера 11 уменьшение происходит в обоих случаях.
|
Чел, ты совсем не двигаешься в javascript! Пару дней назад был год, как ты зарегился на форуме, то есть ты уже не первый день пишешь на javascript, и делаешь тупейшие ошибки. Рекомендую задуматься...
Собственно, почему ты забил на переменные??? Очевидно, потому что ты не понимаешь, зачем они нужны, чем отличаются от свойств глобального объекта и пр. Как итог: у тебя все функции используют одно и тоже свойство window.e. |
спасибо за просвещение =))
от что вышло, теперь работает: <img id="img0" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="100" height="100" /><br/><hr/> <img id="img1" src="http://javascript.ru/forum/images/ca_serenity/misc/logo.gif" width="100" height="100" /> <script> var to=150; var e=Array(document.getElementById('img'+0),document.getElementById('img'+1)); var mouseover=new Array(false,false); for(i=0;i<2;i++){ e[i].onmouseover=function(){ var n=this.id.substring(3); per=to/100; a=100; b=100; mouseover[n]=true; setTimeout(function(){ if((e[n].width<(a*per))&&(mouseover[n])){ e[n].width+=4; e[n].height+=4; setTimeout(arguments.callee,50); } },50) } e[i].onmouseout=function(){ var n=this.id.substring(3); mouseover[n]=false; per=to/100; a=100; b=100; setTimeout(function(){ if((e[n].width>a)&&(!mouseover[n])){ e[n].width-=4; e[n].height-=4; setTimeout(arguments.callee,50); } },50) } } </script> |
Часовой пояс GMT +3, время: 08:43. |