Вот упрощённый код:
Код:
|
<html>
<head><title>Document</title>
<script type='text/javascript'>
var a,timeoutik;
function f1(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'block';
};
/*_____________________________________________________________*/
function f2(){
if(timeoutik){
clearTimeout(timeoutik);
timeoutik = 0;
};
timeoutik = setTimeout(function(){
if(!a) a = document.getElementById('tik_tak');
a.style.display = 'none';
},2000);
};
</script>
</head>
<body>
<a href='page.html' onMouseOver='f1()' onMouseOut='f2()'>Жми на меня</a>
<div id="tik_tak" style="display:none;
position:absolute; left:10px; top:35px;">
<img src='1.gif' alt='фотка'></div>
</body>
</html> |
1)А почему обработчик событий onMouseOut='bounty_hide()'>
засовывается в онлоад,то есть когда пользователь увёл мышку от текста?
2)Как может в этой функции
Код:
|
function bounty_show() {
if (bounty_hide_timeout) {
clearTimeout(bounty_hide_timeout);
bounty_hide_timeout = 0;
};
if (!bounty_obj) bounty_obj = document.getElementById('hint');
bounty_obj.style.display = 'block';
}; |
происходит проверка if (bounty_hide_timeout) { на то, содержит ли переменная bounty_hide_timeout что нибудь, если bounty_hide_timeout получает своё значение в теле совсем другой функции,которая находится ниже?
3)clearTimeout(timeoutik); Без этой строки также работает, значит можно её убрать просто написав
timeoutik = 0; ?