コードを次のように変更すると、問題が解決します。
このソリューションは、提供された絶対数と提供されたコードに固有のものであることに注意してください。
簡単に微調整して短くし、ソリューション全体で動的に機能させることができます。
私の意図は、これを回避する方法を示すことです。
HTML 部分:
<div class="wrapper">
<div class="menu_right">
<div class="item_right"><div class="inner_right" style="top: 0px; right:0px;"><a href="#">1</a></div></div>
<div class="item_right"><div class="inner_right" id="middleRow" style="top: 130px; right:0px;"><a href="#">2</a></div></div>
<div class="item_right" ><div class="inner_right" style="bottom: 0px; right:0px;"><a href="#">3</a></div></div>
</div>
</div>
JavaScript の部分:
$(" .inner_left, .inner_right ").hover(function() {
var currentId = $(this).attr('id');
if (currentId == "middleRow") {
var topPos = $(this).position().top - 25;
var topPosPx = topPos + "px"; //or you could simply put 105px here specific to your code
$(this).css("z-index", "99999");
$(this).stop(true,false).animate({ width: "240px",height: "180px", top: topPosPx }, 250);
$(this).css("background-color", "#D0D0D0");
}
else {
$(this).css("z-index", "99999");
$(this).stop(true,false).animate({ width: "240px",height: "180px" }, 250);
$(this).css("background-color", "#D0D0D0");
}
},function() {
var currentId = $(this).attr('id');
if (currentId == "middleRow") {
$(this).css("z-index", "");
$(this).stop(true,false).animate({ width: "125px",height: "130px", top: "130px" }, 250);
$(this).css("background-color", "#ffffff");
}
else {
$(this).css("z-index", "");
$(this).stop(true,false).animate({ width: "125px",height: "130px" }, 250);
$(this).css("background-color", "#ffffff");
}
});
CSS については、jsfiddle.net コードで提供されている css を変更する必要はありません。