2011-01-27 10 views
1

私は、背景を表示するためにホバーを使用するCSSを備えたIMGを持っています。すぐに表示されるのではなく、背景をフェードインするためにjQueryを使用する簡単な方法はありますか?jQueryを使ってcss:hoverの背景をフェードインする簡単な方法はありますか?

私の現在のコードは次のとおりです。

HTML: <img id="home-logo" src="path/logo-home.png">` 
CSS: #home-logo:hover { background: url(path/logo-back.png) right bottom no-repeat;} 
+0

はい。背景を別の要素に置き、その要素をフェードインします。背景画像の不透明度は、ブラウザやJavaScriptライブラリではサポートされていません。 – eyelidlessness

+0

コメント/アイデアをありがとう。私はその概念をいくつか使って遊びます。私はそれを上に置くとフェード・イン・アウトすることができますが、どのように透明にロードされ、ホバーでフェードインされるのですか? – Jon

+0

それを考え出した。あなたの援助をいただきありがとうございます、あなたの提案は助けました。 – Jon

答えて

0

が、私はそれを考え出したと、これを行うための最善の方法を発見した背景の代わりに、2枚の画像を使用していました:

HTML: 
    <img id="home-link" src="path/logo.gif"><img id="home-fade" src="path/logo-fade.gif"> 

CSS: 
    #home-link { cursor:pointer; } 
    #home-fade { display:none; } 

JS: 
    $(document.body).hover(function() { 
      $("#home-fade").fadeIn('slow'); 
     },function(){ 
      $("#home-fade").fadeOut('slow'); 
     }); 
0

はい!これを使用できます。

$('#home-logo').hover(function(){ 
    $(this).fadeIn('slow', function() { 
    //do something 
    }); 
}); 

詳細については、このチュートリアルを参照してください。 fadeIn

0

不透明度を消す必要があるかもしれません。その場合、fadeToメソッドを使用できます。 最初の引数はdurationまたはspeed、2番目の引数は不透明の値です。

のjQuery CODE:

$('#home-logo').hover(
    function(){ 
     $(this).fadeTo('slow',0.2); 
    }, 
    function(){ 
     $(this).fadeTo('slow', 1.0); 
    }); 

HTMLのCODE:

<img id="home-logo" src="path/logo-home.png"> 

DEMO

+0

ありがとうございます。私はいくつか一緒に遊んだ。これはイメージをフェードアウトするのには効果的ですが、残念ながら背景は消えません。 – Jon

+0

その場合、2枚の画像が必要です。ロゴは1枚、背景は1枚です。 –

関連する問題