2

クラス「ポップアップ」でdivを作成しようとしています。これは5秒間フェードインし、「左」にホバーするとフェードアウトしますが、ホバーしたのは初めてです。これまでのところ、これが私のコードです…</p>

$(document).ready(function() {
var i = 1;
if (i == 1) {
    $('.left').hover(function() {
    $('.popup').fadeIn(1000); 
    }, 
    function() {
        $('.popup').fadeOut(1000);  
    });
    i++; 
}; 
});
4

3 に答える 3

4
$('.left').one('mouseenter', function() {
    $('.popup').fadeIn(1000); 
})
.one('mouseleave', function() {
    $('.popup').fadeOut(1000);  
});
于 2012-04-29T21:03:19.697 に答える
0

これですべての.left要素を1回適用する場合は、次のように.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);  
    });
}); 
于 2012-04-29T21:03:28.927 に答える
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);  
        }
    });

});​

サンプルデモ

http://jsfiddle.net/mediasoftpro/ZtWru/7/

于 2012-04-29T21:10:49.577 に答える