注: 問題のスクリプトは私が書いたのではなく、同僚が書きました。私たちのために、これに関する意見を得るためにボランティアをしています。初心者のように聞こえる誤った用語や説明をご容赦ください。私はスクリプトの専門家ではなく、HTML/CSS の専門家です。
問題のページ:
http://cure.org/curekids/kenya/2010/02/joseph_muchiri/
問題のスクリーンショット:
問題:
このページを見ると、ページの上部にダッシュのようなツールバーが表示されますが、サイト ヘッダーのすぐ下にあります (「CUREkids」と書かれた部分)。
そのツールバーの任意の領域にカーソルを合わせると、左側に小さな緑色のタブがあり、その後ろからアニメーションで表示されます (クエスチョン マークが付いた部分)。クリックすると、タブが切り替わり、説明的なSlidedeckインターフェイスが開きます。これまでのところ、すべて順調です。
問題は、ツールバー上でマウスを動かす速度が速すぎると、奇妙な不具合が発生して jQuery ルールが奇妙な方法で起動し、タブが後ろから出てきて、ツールバーの上に戻ってしまうことです。
追加の詳細:
スクリプトが機能する方法は、タブがデフォルトでツールバーの後ろに隠されていることです.jQueryは最初にタブを左にアニメーション化してツールバーから出てきます.次にz-indexを変更して実際にツールバー要素の上に持ってきて最大化します.タブの使いやすさとクリック領域。これはすべて mouseOver で行われます。mouseOut では、逆のことが起こります (z-index がツールバーよりも低い値に変更された後、元の位置にアニメーションで戻ります)。
私の考え
mouseOver イベントが非常に迅速に発生したときにオーバーラップ バグが発生しないように、スクリプトの記述方法に問題があるに違いないと思います。
すべての助けに感謝します。