Не выполнять ф-цию второй раз, пока она не проработает до конца.
Есть картинка:
<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, время: 04:17. |