Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery仅在第一次悬停时显示div_Jquery_Variables_If Statement_Hover_Fade - Fatal编程技术网

jquery仅在第一次悬停时显示div

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);

我正在尝试创建一个带有“popup”类的div,该类将淡入5秒钟,然后在“left”悬停时淡出,但仅在第一次悬停时。这是我到目前为止的代码

$(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);  
        }
    });

});​