IE6 滚动故障

IE6 onscroll glitch

本文关键字:故障 滚动 IE6      更新时间:2023-09-26

我有一个包含一些内容的<div>。 我给了这个div 一个 id 属性,oDIV,并通过这个小脚本将一个函数绑定到 onscroll 事件:

window.onload = {
    document.getElementById("oDiv").onscroll = function() {
        document.getElementById("tooltip").className = "sTooltip";
        this.onscroll = null;
    };  
}

我在div 中添加了一些简单的 CSS,以便出现垂直滚动条。 内容向下延伸了很多,有很多东西可以滚动。

#oDiv {
     border: 1px solid black;
     float: left;
     height: 300px;
     overflow: auto;
     overflow-x: hidden;
     padding: 0;
     padding-right: 40px;
     clear: left;
}

无论如何,如果用户尝试滚动,我希望出现一个工具提示,提醒用户有一个过滤器选项来隐藏他们必须滚动的一些内容。

在Firefox和更当前的浏览器中,它工作得很好。

我遇到的问题是我必须支持 IE6,这种方法在 IE6 中确实有效,但有一个小问题。 如果通过左键单击并按住并在触发事件时继续拖动来"抓取"滚动条,则滚动条会提前释放。 强制用户再次单击拖动栏。 这是一个小问题,但我想知道为什么?

我只打算在滚动启动时触发此事件一次。

如果一个库或框架已经解决了这种奇怪的行为,你能展示他们解决这个问题的来源吗?

另外,我认为用于确定"它们停止滚动的点"的计时库等对此是矫枉过正的。

这可能是因为IE暂停以呈现"工具提示"。不要在工具提示上使用display:none,请尝试使用visibility:hidden,然后切换到visibility:visible