2011-11-11 9 views
0

all。 私は持っています。mouseout set previusはdivの前のbgイメージを返します

<div id="imagecontainer" class="header-image-container">&nbsp;</div> 

BG画像は、親クラスに従ったページのCSSで指定されています。

.category-1 #imagecontainer { 
background: url(_/images/1.jpg); 
} 

メニューがあります。私はこのページのためのCSSイメージで指定されたリターンイメージを親クラスに従ってマウスオーバーしてBGイメージをオーバーチャージしたい。私はそれがJQueryを使って本物であると思う。例えば、カテゴリ3のページを開いてカテゴリ1のメニュー項目にマウスを移動して#imagecontainerのcatefory-1のBG画像を見てから、カテゴリ3のBG画像を再度見てマウスを移動します。

答えて

0

$('#menu').mouseenter(function() { 
    $('#imagecontainer').css({'background':'blue'}); 
}).mouseleave(function() { 
    $('#imagecontainer').removeAttr('style'); 
}) 

あなたがここにアクションでそれを見ることができます。http://jsfiddle.net/Cdzk8/

あなたimagecontainer上の他のインラインスタイルを持っている場合、それはまた、それらを削除しますマウスの葉に。その場合、あなたはmblase75が推奨しているもののような何かをするでしょう。

+0

ありがとうございます。しかし、私はmblase75によって提案された方法を働かせることができなかったので、本当に動揺しています。 – redbass

0

スワップアウトする前に、現在のバックグラウンドイメージをdataとして保存し、スワップバックするときにそこから取得します。

私はこれがしたいんだろうと思い
$('#imagecontainer').mouseover(function() { 
    $(this).data('bgimg') = $(this).css('background-image'); 
    $(this).css('background-image','url(my/new/url.jpg)'); 
}).mouseout(function() { 
    $(this).css('background-image', $(this).data('bgimg')); 
}); 
+0

ありがとう、それは私には役に立たなかった=(それは正しく動作していない – redbass

+0

複数のアイテムに同じ '#imagecontainer' IDを使用していますか?それは許可されておらず、あなたの問題を説明することができます – Blazemonger

+0

あなたのソリューションhttp: //jsfiddle.net/S7xKn/3/ nothig works ...スクリプトの2行目を削除するまで – redbass

関連する問題