0

ホバーイベントがトリガーされるかどうかを判断するdivが表示されているかどうかを検出するスクリプトを作成しようとしています。

ID「連絡先」が非表示の場合、メニュー項目にカーソルを合わせるとブロックの色が変わります。次に、別のメニュー項目をクリックして ID "contact" を表示すると、ホバーは機能しません。さらに別のメニュー項目をクリックして ID「contact」を非表示にすると、ホバーが再び機能するようになります。

これは私がjsFiddleで得た限りです: http://jsfiddle.net/YktAZ/123/

「else」が必要かどうかさえわかりませんが、それがホバーを「だまして」「機能しない」または変更を表示しない唯一の方法です。条件が満たされない場合は、それを機能させ、ホバーをトリガーしないようにする必要があります。

4

1 に答える 1

1

ホバー関数内に if ステートメントを配置すると、これが機能します。基本的に、 を実行するたびにswap_hover()、新しいホバー イベント ハンドラーを要素に追加します。実際にホバーを「オン」または「オフ」にするわけではありません。

最善の方法は、次のようなことです。

$("#item").hover(function(){
    //hover on
    if($("#otherItem").is(":visible"){
        //do this code  
    }
}, function(){
    //hover off
    //do this code.
});
于 2012-05-29T20:51:50.557 に答える