我的演示中有两个div,我想滚动不同的div,但不能两个都滚动。
我被写为console.log('left');和console.log('left'); 。 当我只需要向左滚动或向右滚动时,似乎有冲突。
我得到了hsz的回答,但我的问题似乎很难澄清:(
// console:left
document.getElementById('body').onscroll = function (e) {
document.getElementById('num').scrollTop = document.get`enter code here`ElementById('body').scrollTop;
console.log('left');
}
// console:right
document.getElementById('num').onscroll = function (e) {
document.getElementById('body').scrollTop = document.getElementById('num').scrollTop;
console.log('right');
}
答案 0 :(得分:1)
您必须引入一个标志,该标志将指定初始化滚动的内容-自然滚动(当前由用户完成的滚动)或第二格:
let organicScrolling = true;
// console:left
document.getElementById('body').onscroll = function(e) {
if (organicScrolling) {
document.getElementById('num').scrollTop = document.getElementById('body').scrollTop;
console.log('left');
}
organicScrolling = !organicScrolling;
};
// console:right
document.getElementById('num').onscroll = function(e) {
if (organicScrolling) {
document.getElementById('body').scrollTop = document.getElementById('num').scrollTop;
console.log('right');
}
organicScrolling = !organicScrolling;
};