コンテナ div があります。コンテナー内には、記事のタイトルとは別に、記事の画像とトリミングされたテキストを含む非表示の div (記事のタイトルの隣 & コンテナー div の「外側」の位置: abolute) があります。
私が欲しいもの: ユーザーは記事のタイトルにカーソルを合わせます:
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
その結果、ポップアップ
<div class="article_popup">
記事のタイトル コンテナの横にフェード インします。
ユーザーがポップアップにカーソルを合わせていない場合、ポップアップは 1 秒後にフェードアウトします。その場合、popu は、ユーザーがポップアップにマウスオーバーしている限り表示されたままになり、1 秒後にフェードアウトします。
問題:
-1- 同じクラスを共有する多くの記事コンテナーとポップアップ div があるため、1 つのタイトルだけをホバーするとすべてのポップアップが表示されます。
-2- 私はこれと同様の解決策を試しました:
(function ($) {
$(document).ready(function(){
$('.field-title').bind('mouseenter', function() {
$('.article_popup').fadeIn();
});
$('.field-title').bind('mouseleave', function() {
$('.article_popup').fadeOut();
});
});
}(jQuery));
ただし、これは、ユーザーがポップアップ自体にカーソルを合わせた場合には当てはまりません。
更新: http://jsfiddle.net/zThP7/14/
これが私のHTMLです(同じクラスのネストされたdivが多数あることがわかります):
<div class="container_block">
<table class="container_table">
<tbody>
<tr class="row-1">
<td class="col-1">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
<td class="col-2">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
</tr>
<tr class="row-2">
<td class="col-1">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
<td class="col-2">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
</tr>
<tr class="row-3">
<td class="col-1">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
<td class="col-2">
<div class="field-title"><span class="field-content"><a href="#">Lorem Ipsum</a></span></div>
<div class="article_popup_container">
<div class="field-content">
<div class="article_popup">
<div class="article_popup_photo"><a href="#"><img src="http://image_path"/></a></div>
<div class="article_popup_text">Lorem Ipsum</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
これは、提案されたjqueryプラグインではなく、カスタムコードで解決することを好みますが、複雑すぎる場合は、機能的でクロスブラウザー互換のプラグインで問題ありません。