Итак, я точно определил событие прокрутки в TinyScrollbar (http://www.baijs.nl/tinyscrollbar/js/jquery.tinyscrollbar.js)) и хочу выполнить обратный вызов, чтобы уменьшить прозрачность полосы прокрутки.
Я думал использовать setTimeout
и clearTimeout
будет работать, и это вроде как работает, но, похоже, вызывает функцию столько раз, сколько oScrollbar.obj.css({opacity:1});
, но после задержки в 1000 мс, установленной задержкой тайм-аута.
Это вызывает эффект мерцания.
oScrollbar.obj.css({opacity:1});
console.log('Scrolling');
clearTimeout(fade);
var fade = setTimeout( function() {
console.log('Scroll Stopped');
oScrollbar.obj.stop().fadeTo(300,0)
}, 1000);
Есть ли лучший способ выполнить функцию только один раз после того, как событие перестало быть вызванным?