我为一个div实现了一个onscroll函数,它的工作方式如下:
window.onscroll = function () {
document.getElementById("faceExtractor").style.top = (($(window).scrollTop()) + 50) + "px";
};
效果很好。现在,我使div元素也可拖动,这意味着在有人拖动div a但向下然后滚动之后,由于onscroll函数,div再次放在页面顶部下方50px处。我想解决这个问题,以便div在滚动时保持它的位置,即使有人拖动它到一个特定的位置,我也尝试这样做:
window.onscroll = function () {
topDistance = document.getElementById("faceExtractor").getBoundingClientRect().top;
if (topDistance < 50){
document.getElementById("faceExtractor").style.top = (($(window).scrollTop()) + 50) + "px";
} else {
var gap = ($(window).scrollTop()) + topDistance;
document.getElementById("faceExtractor").style.top = gap + "px";
}
};
不过,那就根本不起作用了。如何修改onscroll,使div保持其位置,而不总是放在页面顶部或静态位置?