有什么方法可以加快根据滚动调整的元素的位置吗?



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

这里你需要的只是CSS。

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

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

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

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

最新更新