2

私はそれらを理解しようとしていますが、理解できないようです。だから私は誰かがこれらがどのように機能するかをよりよく理解するのを手伝ってくれるかと思いました。

ホバー状態を追加すると、マウスが要素上にあるか、マウスが要素から離れているかに関係なく、不透明度効果が適用されます...繰り返します...

そして、mouseenter&leaveは正常に機能しますが、$(this)を一度彼に伝える方法がわからないので、何かを作成して機能しますが、おそらく誰かが正しい方法とより良い方法を教えてくれるかもしれません。

$("nav.topMenu-left li, nav.topMenu-right li").on('mouseenter', function() {
    $(this).animate({'opacity': '0.5'}, 100);
});

$("nav.topMenu-left li, nav.topMenu-right li").on('mouseleave', function() {
    $(this).animate({'opacity': '1'}, 100);
});
4

2 に答える 2

2

イベントハンドラーを組み合わせることができます。

$("nav.topMenu-left li, nav.topMenu-right li").on('mouseenter mouseleave', function(e) {
   if (e.type === 'mouseenter')
      $(this).animate({'opacity': '0.5'}, 100);
   else 
      $(this).animate({'opacity': '1'}, 100);   
});

または、イベントを委任していないため、次のhover方法を使用できます。

$("nav.topMenu-left li, nav.topMenu-right li").hover(function(){
    $(this).animate({'opacity': '0.5'}, 100);
}, function(){
    $(this).animate({'opacity': '1'}, 100);   
})
于 2012-10-04T12:46:06.653 に答える
1

オプションがあれば、CSSでこれを行います。

CSSの:hoverプロパティを使用したサンプルコード

CSS

div{
    width: 100px;
    height: 100px;
    background-color: blue;                
    opacity: .5;
}
div:hover{
    opacity: 1;
}

そうでなければ、@ undefinedの解決策はあなたが探しているものです=)

于 2012-10-04T12:49:55.333 に答える