Если высота элемента не изменена, вам нужно только наблюдать за событиями resize и scroll .Так что попробуйте:
$(window).bind('resize', handler);
$(document).bind('scroll', handler);
Поскольку эти события могут запускаться довольно часто, вы должны держать операции обработчика как минимум.Например, вы можете кэшировать вызовы $
, используя замыкание :
var handler = (function(a, b){
return function(event) {
if ((a.scrollTop() + a.height()) == b.height()) {
/* … */
}
})($('#lay3b_top'), $('#measuring_wrapper'));
Здесь переменные a
и b
внутри внутренней функции, возвращаемой функциейвнешняя функция связана с возвращаемыми значениями $('#lay3b_top')
и $('#measuring_wrapper')
соответственно.(function(){})()
является выражением анонимной функции, которое немедленно вызывается с заданными аргументами для привязки аргументов к области действия функции.