0

我有一个位于左上角的元素。它是打印管理器的一部分,上面有一些 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;
4

2 回答 2

2

你需要的只是 CSS。

position:fixed; top:0; left:0;
于 2012-12-01T07:45:19.347 回答
1

我认为您应该改用 CSS。在您的 CSS 文件中,按如下方式使用它:

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

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

于 2012-12-01T07:44:16.397 回答