0

我有<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 中确实有效,但有一个小问题。如果您通过左键单击并按住并在触发事件时继续拖动来“抓住”滚动条,则会过早释放滚动条。强制用户再次点击拖动条。这是一个小问题,但我想知道为什么?

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

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

另外,我认为用于确定“他们停止滚动的点”的计时库等对此来说太过分了。

4

1 回答 1

1

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

于 2012-05-02T21:04:31.780 回答