画像が重なっていない場合にのみ機能します(図参照)。あなたの場合、すべての画像はまったく同じサイズであり、お互いに積み上げています。ブラウザはイメージをソリッドオブジェクトとして扱うので(透明性については気にしません)、どのイメージをどのように決定し、現時点でどのイメージにホバーしたいのですか?
+-----------+-----------+
| | |
| img1 | img2 |
| | |
| | |
+-----------+-----------+
| | |
| img3 | img4 |
| | |
| | |
+-----------+-----------+
しかし、あなたがこの問題を回避することができます
ただ、すべての領域が含まれている画像の一つ上の単一のイメージマップを使用して、少しのJavaScriptで、あなたが他のすべてのホバー効果を誘発することができます画像。あなたのコードに基づいて
$("area").hover(function(){
var $target = $("#"+$(this).data("target")); // getting the target image
$target.attr("src",$target.attr("src").replace("slice","slice-focus")); //replacing the src with the src of the hover image
},function(){
var $target = $("#"+$(this).data("target"));
$target.attr("src",$target.attr("src").replace("focus-","")); //revert the changes
});
の作業例:jsFiddle-Demo
複数のイメージを重ねる特別な理由はありますか?なぜ、1つのレイヤーにすべてを分けて表示しないのですか? –
質問してください。 – Christoph
私は質問を追加しました。ホバー上の個々の画像を変更したいので、1つの画像を使用することはできません。 – Mark