Не выполнять ф-цию второй раз, пока она не проработает до конца.
Есть картинка:
<img id="up" src="image/r_off.png" border="0" width="58" height="162" alt="" onclick="next_but();">Есть скрипт: <script language="JavaScript"> var sliding = false; var k = 0; function next_but() { sliding = clearInterval(sliding); k = 0; sliding = setInterval(function() { if( k < 261 ) { k = k + 9; document.getElementById('t1').scrollLeft = document.getElementById('t1').scrollLeft + 9; } else { sliding = clearInterval(sliding); } }, 5 ); } </script>Он работает примерно 1-3 сек. Когд я кликаю по картинке, то выполняеться next_but(). Если кликать с интервалом бодьше 3-4 сек, то все ок, но если кликать быстро, например два раза, то результат не тот. Мне просто надо, чтоб переменная k обезательно дошла до 261, лишь только тогда можно выполнить эту ф-цию опять. Как запретить виполнение ф-ции второй раз, пока она не проработает до конца? Спасибо. |
Как-то так. Вообще можно сделать функцию красивей, но лень думать в такое время.)
sliding=0; function next_but() { if(!sliding) { k = 0; sliding = setInterval(function() { if( k < 261 ) { k+=9; document.getElementById('t1').scrollLeft+=9; } else { clearInterval(sliding); sliding=0; } }, 5 ); } } |
Спасибо, шот я не смог сам догадатся вчера..., спасибо!
|
Часовой пояс GMT +3, время: 23:18. |