私には<div>
のコンテンツがあります。私はoDIV
、これはid属性をDIV与え、この小さなスクリプトを経由してonscroll
イベントに関数をバインド:IE6 onscroll glitch
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回だけ発生します。
ライブラリーまたはフレームワークでこの奇妙な動作が解決された場合は、この問題に対処するソースを示してください。
また、「スクロールを止めた時点」を判断するためのタイミングライブラリなどは、これではやりすぎだと思います。
これをテストしましたが、それでも同じグリッチがありました。しかし、それは私に答えにつながった。 'className'属性を変更すると、一時停止が強制的にレンダリングされます。クラスを再割り当てするのではなく、関数内に 'style.display ="ブロック ";"または 'style.visibility =" visible "; 'を配置することで、私がIE6で経験していた一時停止を削除したようです。 – user17753