2010-11-19 47 views

回答

1

使用one()綁定一個一次性的事件處理程序,然後結合「真正的」永久的事件處理函數將在這裏工作:

var box = $('#box'); 

$('a').one('click', function(){ 
    box.delay(2000).fadeToggle(); 
    $(this).click(function(){ 
     box.fadeToggle(); 
     return false; 
    }); 
    return false; 
}); 

看到這個簡單的演示在這裏:http://jsfiddle.net/yijiang/2m3bb/

1

這是我怎麼會做它,使用setTimeout()

var firstClick = true; 

$('#mybutton').click(function(){ 
    if (firstClick) { 
     setTimeout(function() { 
      $('.mybox').fadeToggle(500); 
      firstClick = false; // #mybutton has been clicked once, we no longer want to wait before toggling on subsequent clicks of #mybutton 
     }); 
    } else { 
     $('.mybox').fadeToggle(500); 
    }  
}) 
1

可以使用的只是toggle()代替fadeToggle()獲得更多的控制。

$('#mybutton').click(function(){ 
var firstTime = true; 
$('.mybox').toggle(
    function() { 
     $(this).fadeIn(500); 
    }, 
    function() { 
     if (firstTime) 
     { $(this).delay(2000); } 
     $(this).animate({'width':'toggle'}).fadeOut(500); 
    } 
); 
}) 
相關問題