0

使用以下代码有什么好处:

$(window).scroll(function () {
  var scrollPos = parseInt( $(document).scrollTop() );
  $(".div1").css({"background-position-y":scrollPos});
  $(".div2").css({"background-position-y":scrollPos});
});

而不是将其拆分为两个函数,如下所示:

$(window).scroll(function () {
  var scrollPos = parseInt( $(document).scrollTop() );
  $(".div1").css({"background-position-y":scrollPos});
});

$(window).scroll(function () {
  var scrollPos = parseInt( $(document).scrollTop() );
  $(".div2").css({"background-position-y":scrollPos});
});

自然,第二个选项会略微增加处理器的使用率,因为它必须不止一次地为同一个变量计算新值。但是,假设一台相对现代的机器,选择第一个比第二个例子有什么优势吗?

4

1 回答 1

1

如果您没有从代码行中获得报酬,那么任何比这个更长的版本都只会增加维护成本:

$(window).scroll(function () {
  $(".div1,.div2").css({"background-position-y": $(document).scrollTop()});
});

并且速度较慢,但​​这与当今的浏览器速度无关。

以防万一您没有通知此更改,我还删除了parseIntasscrollTop返回一个整数。

于 2013-03-12T14:12:16.873 回答