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