2012-12-04 13 views
27

いくつかのCSSスタイルは、ホバーの要素に適用する必要があり、スタイルシートや$(this).addClass('someStyle')を使わずにjavascript/jqueryを直接使用してCSSスタイルを適用する必要があります。別のページ。jQuery/Javascriptを使用してホバーのCSS属性を追加する

我々は:hoverイベントのためにCSSスタイルを追加する必要がありますどのように

$('#some-content').css({ 
    marginTop: '60px', 
    display: 'inline-block' 
}); 

を使用して通常のCSSスタイルを適用することができますか?


我々はに頼る必要があります:私はホバーよりも優れていることがMouseEnterイベントとmouseleaveを使用して見つける

$('#some-content').hover(
     function(){ $(this).css('display', 'block') }, 
     function(){ $(this).css('display', 'none') } 
) 
+0

'.hover()jQueryので'メソッドを見て。 http://api.jquery.com/hover/ –

+0

jquery、onmouseover、onmouseoutのホバーイベントに基づいてクラスを追加したり削除したりするのはなぜですか? –

+0

あなたはそれを離れて夢中になったときに要素を消したいですか?どうやってそれに戻ってくるの? – Alnitak

答えて

21

。より多くのコントロールがあります。

$("#somecontent").mouseenter(function() { 
    $(this).css("background", "#F00").css("border-radius", "3px"); 
}).mouseleave(function() { 
    $(this).css("background", "00F").css("border-radius", "0px"); 
}); 
+5

"もっとコントロールがあります"というステートメントについて詳しく教えてください。私が知っている限り、 '.hover()'関数は、コード化したことを正確に行うための略語です。 –

+3

私は、「マウスが要素を入力する」と「マウスが要素を残している」ということを明確に説明するのが好きです。しかし、このページのグラフは、生存マウスセンター/マウス放置が最適化の点で最良であることを示唆しています。 http://jsperf.com/hover-vs-mouseenter – Jon

12

これを試してみてください:

$('#some-content').hover(function(){ 
    $(this).css({ marginTop: '60px', display: 'inline-block' }); 
}, function(){ 
    $(this).css({ //other stuff }); 
}); 

または使用してクラス

$('#some-content').hover(function(){ 
    $(this).toggleClass('newClass'); 
}); 
ここ

詳細情報.hover().toggleClass()

あなたは hoverイベントに入れなければならない
3

var elem = $('#elem'); 

elem.hover(function() { 
    // ... :hover, set styles 
}, function() { 
    // ... this function is called when the mouse leaves the item, set back the 
    //  normal styles 
}); 

しかし、私は完全にクラスで自分のCSSを入れて、JSでこれらのクラスを使用することをお勧めします、あなたはできるだけ多くすることができますように言語を分割する必要があります。

2
$("#someObj").hover(function(){ 
    $(this).css(...); 
}:); 

http://api.jquery.com/hover/

+0

マウスを動かすと、CSSがスティックされます。 – Moss

関連する問題