jquery仅在第一次悬停时显示div
我正在尝试创建一个带有“popup”类的div,该类将淡入5秒钟,然后在“left”悬停时淡出,但仅在第一次悬停时。这是我到目前为止的代码jquery仅在第一次悬停时显示div,jquery,variables,if-statement,hover,fade,Jquery,Variables,If Statement,Hover,Fade,我正在尝试创建一个带有“popup”类的div,该类将淡入5秒钟,然后在“left”悬停时淡出,但仅在第一次悬停时。这是我到目前为止的代码 $(document).ready(function() { var i = 1; if (i == 1) { $('.left').hover(function() { $('.popup').fadeIn(1000); }, function() { $('.popup').fadeOut(1000);
$(document).ready(function() {
var i = 1;
if (i == 1) {
$('.left').hover(function() {
$('.popup').fadeIn(1000);
},
function() {
$('.popup').fadeOut(1000);
});
i++;
};
});
如果要将所有.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);
});
});
你可以这样做。下面是示例代码
$(document).ready(function() {
var i=1;
$('.left').on({
mouseenter: function (e) {
if(i<2)
{
$('.popup').fadeIn(1000);
i++;
}
},
mouseleave: function (e) {
$('.popup').fadeOut(1000);
}
});
});
$(文档).ready(函数(){
var i=1;
$('.left')。在({
鼠标指针:函数(e){
如果(使用一个)。@LarryBattle.你是对的,但有些人喜欢用艰苦的方式来做。阅读下面的答案…@gdoron,有些人喜欢知道用多种方式来做某事。以防其中一种方式不起作用。哇。太多的代码。one
以一种更有效的方式为你做这件事.阅读我的答案。是的,一个
也适用于此。但我喜欢使用.data
:)如果使用解除绑定,您知道处理程序一直在那里,但您的代码根本不是最佳实践:(是的,但在第一次之后做不同的事情时,这更合适。这看起来是最优雅的答案。不过,这在我的网站上不起作用…
$(document).ready(function() {
var i=1;
$('.left').on({
mouseenter: function (e) {
if(i<2)
{
$('.popup').fadeIn(1000);
i++;
}
},
mouseleave: function (e) {
$('.popup').fadeOut(1000);
}
});
});