我正在尝试使用类'popup'创建一个div,它将淡入5秒钟,然后在'left'悬停时淡出,但仅在第一次悬停时淡出。到目前为止,这是我的代码......
$(document).ready(function() {
var i = 1;
if (i == 1) {
$('.left').hover(function() {
$('.popup').fadeIn(1000);
},
function() {
$('.popup').fadeOut(1000);
});
i++;
};
});
答案 0 :(得分:3)
$('.left').one('mouseenter', function() {
$('.popup').fadeIn(1000);
})
.one('mouseleave', function() {
$('.popup').fadeOut(1000);
});
答案 1 :(得分:0)
如果您希望将所有.left元素应用一次,则可以使用它的.data()属性,如下所示:
$(document).ready(function() {
$('.left').hover(function() {
if ($(this).hasData("hovered_once")==false) {
$('.popup').fadeIn(1000);
$(this).data("hovered_once")=="yes";
}
},
function() {
$('.popup').fadeOut(1000);
});
});
答案 2 :(得分:0)
你可以这样做。这是示例代码。
$(document).ready(function() {
var i=1;
$('.left').on({
mouseenter: function (e) {
if(i<2)
{
$('.popup').fadeIn(1000);
i++;
}
},
mouseleave: function (e) {
$('.popup').fadeOut(1000);
}
});
});
示例演示