私は<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でも機能しますが、わずかな問題があります。左クリックしてスクロールバーを「つかむ」と、イベントが発生したときにドラッグを続けると、スクロールバーが途中で解放されます。ユーザーにドラッグバーをもう一度クリックするように強制します。マイナーな問題ですが、理由を知りたいですか?
スクロールが開始されたときにのみ、このイベントを1回だけ発生させるつもりです。
ライブラリまたはフレームワークがこの奇妙な動作を解決した場合、それらがこれに対処しているソースを示していただけますか?
また、「スクロールを停止したポイント」を決定するためのタイミングライブラリなどは、これにはかなりやり過ぎだと思います。