2017-01-03 5 views
1

私は非常に私が望むものに近づいていますが、少し助けが必要です。 .fadeToggle()を使用してテキストをフェードインし、ホバーでフェードアウトする

$('.change').hover(function() { 
 
    $(this).fadeToggle('slow', 'linear', function() { 
 
    $(this).text('wanna be CodeNinja').css('color', 'grey'); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1>a <span class="change">CodeNinja</span>.</h1>

は、私はちょうど、下線付きCodeNinja上にカーソルを移動すると、それはたいがCodeNinjaしてから、再度マウスアウトディスプレイCodeNinjaにフェードインし、表示するために誰かにしたいです。

ああドメインに(あなたがテキストを設定したら、再びfadeToggle()を使用して、現在に基づいて新しいテキスト値を設定するtext()に機能を提供することにより、これを達成することができますwww.mrpben.net

+0

は、jsfiddle –

答えて

3

です要素をもう一度表示します)、テキスト色を設定/設定解除する場合はtoggleClass()を入力します。これを試してみてください:今何が起こる

$('.change').hover(function() { 
 
    $(this).fadeToggle('slow', function() { 
 
    $(this).text(function(i, t) { 
 
     return t == 'CodeNinja' ? 'wanna be CodeNinja' : 'CodeNinja'; 
 
    }).fadeToggle().toggleClass('over'); 
 
    }); 
 
});
.change.over { 
 
    color: grey; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<h1>a <span class="change">CodeNinja</span>.</h1>

+0

確かに作成し、私は(http://api.jquery.com/ [テキスト() ''のこの署名]を使用していますtext /#text-function)を使用して、関数を提供することができます。 'i'パラメータは現在の要素のインデックスであり、' t'は現在のテキスト値です。そこから私は[三項式](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator)を使って必要な値を返します。この場合、2つの値を切り替えるだけです。 –

+0

おかげで、これは本当にクールだと大いに感謝しています。また、私はスーパークローズしていることを見てもいいです。もう一度おねがいします – mrpbennett

+0

3進数はこれと同じです: 'if(t == 'CodeNinja'){return 'CodeNinjaしたいです} else {return' CodeNinja '}' –

関連する問題