これはばかげた質問かもしれません (それらすべてではありませんか?)、しかし、私はしばらくの間何かに行き詰まっていました... リスト項目に関する詳細を表示するためのライトボックス タイプのポップアップを構築しようとしています。定義リストで。と は正しく動作しfadeIn
てfadeOut
いますが、ポップアップがまだアクティブなときに別のリスト項目でも同じことをトリガーしようとすると、バグが発生します。
ここに私が取り組んでいるコードがあります...
<html>, etc...
<div>
<dl>
<dt>Trigger Element</dt>
<dd>
<div>
(lightbox content)
</div>
</dd>
<dl>
<dt>Trigger Element</dt>
<dd>
<div>
(lightbox content)
</div>
</dd>
Etc....
</dl>
(function() {
// Highlight the target dt items
$('div.cigar-pop').parent().prev().addClass('cigar-highlight');
// Initialize the lightbox functionality
$('dd').children('div').addClass('hidden');
$('dt').on('click', function() {
//I'm still not entirely sure why this part worked...
var $this = this;
$(this).next()
.children('div')
.addClass('active')
.fadeIn(800, function($this) {
$('body').one('click', function(){
$('.active').fadeOut('fast')
.removeClass('active');
});
});
});
})();
単純なことだと思いますが、何が原因かわかりません。これがこのフォーラムの比類のない天才にとって少し初歩的である場合は申し訳ありません:P