Вопрос по setTimeout()

mshdn

Новичок
проблема с setTimeout()

вариант рабочий - если вызываю <body onload='generate()'>
задержка по setTimeout("echorab()",4000); срабатывает,
а если из функции golos() - нет.
<script Language="JavaScript"><!--
var mywin,i,s;
i=1;
function echorab() { i=i+1;generate();}

function generate()
{
if(i==2) { document.getElementById('layer6').style.visibility="hidden"; return false; }
else{ document.getElementById('layer6').style.visibility="visible";
setTimeout("echorab()",4000); }
}
function golos() {
if( confirm('Вы уверены?') ){
generate();
} else return false;
}
 

Ti

Новичок
у меня работает:

HTML:
<div id="layer6">#layer6</div>
<button onclick="golos()">golos()</button>
<script>
 var mywin,i,s;
 i=1;
 function echorab() {
     alert('echorab()')
     i=i+1;
     generate();
 }

 function generate()  {
    if(i==2) {
         document.getElementById('layer6').style.visibility="hidden"
         return false
    }
    else {
        document.getElementById('layer6').style.visibility="visible"
        setTimeout("echorab()",4000)
    }
 }
 function golos() {
     if( confirm('Вы уверены?') ){
         generate()
     } else {
         return false;
     }
 }
 </script>
 

mshdn

Новичок
да, чудеса, спасибо за ответ.У меня не работает вариант
<a onclick="return golos()" href="index_rab.php?id='.$id.'">
<img border=0 style="position:absolute; right:2px; bottom:0px;" src="buttons/add.png"
width="20px" height="20px" title="Голосовать"/></a>
вроде разница небольшая - у вас кнопка - здесь ссылка?
 
Сверху