0

私はulリストを持っており、以下にjqueryを使用して、ユーザーが私たちについての下のサブメニューをホバリングしているかどうかを確認し、そうであればホバーにcssを設定します。これは背景色を緑に変更しますが、緑から離れても消えませんか?

Jクエリ

$('ul > li > ul > li a').hover(
    function(){
        var whatami = $(this).parents('li').eq(1).find('a[title]:first').attr('title');
        console.log(whatami);
        if (whatami == 'About Us') {
            //alert(whatami);
            $('.white ul.mega-menu li .sub-container.non-mega li a:hover').css({"background-color":"green"});

        }
    },
    function(){
    });
4

3 に答える 3

3

ホバーの仕組みは、マウスが入ると最初の関数が実行され、マウスが離れると2番目の関数が実行されるというものです。2番目の関数には何もないため、マウスが離れても何も起こりません。2番目の関数でやりたいことは何でもする必要があります:

$('ul > li > ul > li a').hover(
function(){
    // make it green
},
function(){
    // CHANGE IT BACK HERE
});
于 2012-09-07T18:52:50.933 に答える
2

jQuery では、:hover は単なる要素セレクターであり、CSS の a:hover とは異なります。次のようなものを試してください:

$('.white ul.mega-menu li .sub-container.non-mega li a').hover(
    function () {
        $(this).css({"background-color":"green"});
    },
    function () {
        $(this).css({"background-color":"none"});
    }
); ​
于 2012-09-07T18:54:48.747 に答える
0

.white ul.mega-menu li .sub-container.non-mega li aセレクターとして使用する必要があるものであり、現在のセレクターul > li > ul > li aはより一般化されています。

$(this)グリーンのセッティングにはどちらかを使ってみてください

于 2012-09-07T18:53:54.243 に答える