HTML:
<ul class="clients">
<li>
<div class="over left">Description</div>
<div class="inner">Image</div>
</li>
</ul>
CSS:
.clients { margin-right: -20px; }
.clients li {
float: left;
width: 128px;
height: 120px;
margin: 0 20px 20px 0;
border: 1px solid #c2c2c2;
}
.clients .over {
display: none;
position: absolute;
width: 250px;
font-size: 11px;
line-height: 16px;
background: #ecf5fb;
margin: 3px 0 0 3px;
padding: 18px;
z-index: 25;
}
.clients .right { margin: 3px 0 0 -161px; }
.clients .inner { width: 128px; height: 120px; overflow: hidden; }
したがって、フロートされた正方形のリストと、それぞれに絶対位置を持つポップアップ ブロックがあります。
JS:
jQuery(function($) {
$(".clients li").bind('mouseover mouseout',function(){$(this).find("div.over").toggle()});
});
オーバーした場合 - 表示、そうでない場合 - 非表示。まったく問題ありませんが、もっと高度にする必要があります。オフセットをキャッチして、クラスを.overブロックに与える必要があります。
- 右 (ブラウザ ウィンドウの隅) からのオフセットが 150px未満の場合は、ブロックにクラス "right" を追加
.over
します。 - 右からのオフセットが 150px を超える場合 -ブロックのクラス「左」を追加し
.over
ます。
どうすればそれができますか?