2013-03-07 12 views
9

私は段落内のリンクのホバー上の段落に背景色を付けるためにこのスクリプトを持っています。どのようにすればいいのかわからないのは、いったん「ホバリングしない」と元の背景色に戻すことです。jquery un-hover

$(function(){ 
    $(".box a").hover(function(){ 
    $(this).parent().css('background-color', '#fff200'); 
    }); 
}); 

ありがとう!

+3

':hover'疑似セレクタを使用し、JavaScriptなしでCSSでこれを行うことをお勧めします。 http://quirksmode.org/css/selectors/hover.html – Brandon

+0

私は親アイテムの色を変更しているので、私はCSSだけを使うことはできないと思います。 CSSだけで親セレクタを選択することはできないと思います。 – user1754427

答えて

28

あなたはむしろcss()よりaddClass()を使用し、このためのjQueryを使用する必要がある場合は、以下の機能がとしてのonmouseoverと

$(function(){ 
    $(".box a").hover(function(){ 
    $(this).parent().css('background-color', '#fff200'); 
    }, function(){ 
     // change to any color that was previously used. 
     $(this).parent().css('background-color', '#fff200'); 
    }); 
}); 
+0

これは完全に機能します(2番目の背景色は元の色でなければなりません - #fffは私の場合で、ホバー色ではありません)。 – user1754427

+0

私はその理由を知っているので、私は前の色に変更するコメントを入れました:)私は助けることができたことがうれしい、答えを受け入れることを忘れないでください –

1

jQuery documentationにホバーアウトハンドラがあります。それで元の色に戻すことができます。あなたがしているすべてが色を変えているなら、CSSを使わないのはなぜですか?

$(function(){ 
    $(".box a").hover(function(){ 
     $(this).parent().css('background-color', '#fff200'); 
    },function(){ 
     $(this).parent().css('background-color', '#originalhexcolor'); 
    }); 
}); 
+0

私は親アイテムの色を変更しているので、私はCSSだけを使うことはできないと思います。 CSSだけで親セレクタを選択することはできないと思います。 – user1754427

+0

私はjQueryが最善の方法だと思っています。 –

2

jQueryの

$(".box a").hover(function(){ 
    $(this).parent().css('background-color', '#fff200'); 
}, function() { 
    $(this).parent().css('background-color', '#ffffff'); 
}); 

fiddleを参照してください。

1

ONMOUSEOUT作品:

$('.box a').hover(function(){ 
    $(this).closest('.box').addClass('hoveredOver'); 
}, function(){ 
    $(this).closest('.box').removeClass('hoveredOver'); 
}); 

CSSで:

.hoveredOver { 
    background-color: #fff; 
} 

JS Fiddle demo

参考文献:

関連する問題