這可能是一個愚蠢的問題(他們都不是?),但我已經難倒了一段時間... 我試圖建立一個lightbox類型彈出窗口,用於顯示定義列表中的列表項的詳細信息。我有fadeIn
和fadeOut
正常工作,但是如果我在彈出窗口仍處於活動狀態時嘗試觸發相同的列表項,則會出現錯誤。jquery觸發衝突的燈箱彈出
這裏是我的工作代碼...
<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
請作爲jsfiddle – 2012-08-07 04:25:21