【发布时间】:2015-06-24 22:50:06
【问题描述】:
我正在向我的网站添加一个 Chatango HTML5 聊天框,但是当用户在聊天框中向上或向下滚动时,它也会向上或向下滚动页面的其余部分。我一直在试验我在这个网站上找到的不同代码,但到目前为止没有任何效果。
我以为我在这里找到了解决方案:How to disable scrolling in outer elements? 并将其应用于我的聊天室。它在这个 codepen 编辑器上完全符合我的要求:http://codepen.io/EagleJow/pen/QbOBJV
但在 JSFiddle 中使用相同的代码:https://jsfiddle.net/4bm6ou90/1/(或在我的实际网站上)不会阻止页面的其余部分滚动。我已经在 Firefox 和 Chrome 中进行了测试,结果相同。
这里是javascript:
var panel = $(".panel");
var doc = $(document);
var currentScroll;
function resetScroll(){
doc.scrollTop(currentScroll);
}
function stopDocScroll(){
currentScroll = doc.scrollTop();
doc.on('scroll', resetScroll);
}
function releaseDocScroll(){
doc.off('scroll', resetScroll);
}
panel.on('mouseenter', function(){
stopDocScroll();
})
panel.on('mouseleave', function(){
releaseDocScroll();
})
有什么想法吗?
【问题讨论】:
-
你为什么把它定位为绝对。将其位置更改为
position: fixed,它不会随页面滚动。 -
我希望聊天保持在页面上的位置。此外,如果聊天处于固定位置,如果您尝试滚动聊天室历史记录并且页面的其余部分在其后面向上或向下移动,它仍然看起来很奇怪。