Джон Ресиг предлагает использовать setInterval (), чтобы уменьшить количество вызовов обработчика - см. http://ejohn.org/blog/learning-from-twitter/
Решение Джона из сообщения в блоге:
var outerPane = $details.find(".details-pane-outer"),
didScroll = false;
$(window).scroll(function() {
didScroll = true;
});
setInterval(function() {
if ( didScroll ) {
didScroll = false;
// Check your page position and then
// Load in more results
}
}, 250);
Может ли вызов интервала продолжения действительно быть разумным идея?
Будет ли подход Майкла Джексона иметь больше смысла, поскольку он не означает, что мы постоянно проводим опросы?
Решение Майкла из комментариев:
var timer = 0;
$(window).scroll(function () {
if (timer) {
clearTimeout(timer);
}
// Use a buffer so we don't call myCallback too often.
timer = setTimeout(myCallback, 100);
});
Кто-нибудь может поделиться советом / мнением?
Рич
]