我尝试让弹出窗口出现一次,当用户将鼠标悬停在任意一个图片库(class="notice"
)上时触发。我尝试了.one()
,这很有帮助,但是现在消息对于图库中的每个图像都会出现一次。我希望它只对所有图像出现一次,无论用户首先悬停在哪一个上。
我尝试过的事情:
*.first
和.get(index)
,但这些方法要求您只指定一张图片,我希望任何图片都可以使用.removeClass('.notice')
在mouseleave
上,但是jQuery正在查看旧的DOM,因此无效。这是我的代码:
$(document).ready(function(){
$('.notice').one('mouseenter', function() {
$('.popup').fadeIn(1000);
$(this).addClass('faded');
})
.one('mouseleave', function() {
$('.popup').fadeOut(1000);
$(this).removeClass('faded');
});
});
答案 0 :(得分:1)
你可以自己解开它:
var $notice = $('.notice');
$notice.on('mouseenter', function() {
$('.popup').fadeIn(1000);
$(this).addClass('faded');
$notice.off('mouseenter');
})