有什么方法可以加速元素的位置,这是根据滚动调整的?

时间:2012-12-01 07:34:27

标签: javascript jquery optimization scroll

我有一个位于左上角的元素。它是打印管理器的一部分,并且有一些UI。这是我用来确保它在滚动时位于同一位置的代码。

var printManagerElement = document.getElementById("printManager");
var windowReference = $(window);
window.onscroll = function () {
  printManagerElement.style.top = windowReference.scrollTop() + "px";
};

当滚动缓慢时,没有撕裂。但是如果我尽可能快地滚动我的鼠标滚轮,或者抓住滚动条并快速移动它,那么我会注意到一瞬间的撕裂。

撕裂是否可预防?有没有办法加速这段代码?或者替代这种方法?

修改

div的风格如下所示

padding:2px;
margin:2px;
border: 1px solid blue; 
background-color:white;
position:absolute;
top:0px;
left:0px;
z-index:10;

2 个答案:

答案 0 :(得分:2)

这里所需要的只是CSS。

position:fixed; top:0; left:0;

答案 1 :(得分:1)

我认为你应该使用CSS代替。在CSS文件中,按如下方式使用它:

#printManager {
    position: fixed;
    top: 10px;
    left: 10px;
}

这会将您的打印管理器从顶部放置10px,从浏览器窗口左上角的左侧放置10px