Dan*_*cia 2 javascript variables jquery caching
在以下示例中,将这些值存储为变量(.scroll()之外)是一个好主意吗?
$(window).scroll(function(){
  if ( $(document).height() <= ( $(window).height() + $(window).scrollTop() ) ) {
    // position stuff
  } else {
    // other position stuff
  }
});
我看到的唯一缺点是,如果窗口调整大小,应再次检查高度.或者我只需要存储对象本身?
非常感谢任何反馈!
最起码,这是绝对存储到引用一个好主意,$(document)和$(window)在外面scroll的回调,因为滚动事件可能会被反复和快速射击.
var $win = $(window),
    $doc = $(document);
$win.scroll(function(){
  if ( $doc.height() <= ( $win.height() + $win.scrollTop() ) ) {
    // position stuff
  } else {
    // other position stuff
  }
});
不要像你要求的那样做,并将文档和窗口高度存储在回调之外 - 只要你根据需要更新它们.处理所有这些的一个好方法是使用优秀的jQuery油门/去抖动插件,它为您提供了一个简单的界面,以确保功能不会太频繁地运行.