2011-08-11 189 views
0

此腳本適用於fadeIn onClick然後fadeOut onClick的文本框。這是第一次。但是,第二次執行時,$ .noop()變量不起作用。 Here's我剛開始工作的網站的鏈接。如果你點擊「音樂」,「生物」或「鏈接」標籤兩次,你會看到我在說什麼。這裏的jQuery:

$(document).ready(function() { 
$('#music-box').hide(); 
    $('#links-top-music').click(function() { 
     $('#music-box').fadeIn(1000); 
     $.noop(); 
       $('#links-top-music').click(function() { 
        $('#music-box').fadeOut(750); 
       }); 
      }); 
     }); 
+1

'$ .noop()'沒有做任何事情(根據定義)。無論你想要做什麼,你做錯了。 – tylerl

+1

[jQuery上的noop函數](http://api.jquery.com/jQuery.noop/)什麼都不做 - 它是一個NO-OPeration函數。它不是直接調用,而是傳遞給未使用的回調函數。 – OverZealous

+0

我試圖讓框保持淡入,直到點擊。我應該使用什麼變量?它對第一個fadeIn/fadeOut工作正常。但是,之後暫停效果否是活動的。 – Graham

回答

1

$(document).ready(function() { 
    var buttonStatus = false; 
    $('#music-box').hide(); 
    $('#links-top-music').click(function() { 
     if(buttonStatus) { 
      $('#music-box').fadeOut(750); 
     } else { 
      $('#music-box').fadeIn(1000); 
     } 
     buttonStatus = !buttonStatus; 
    }); 
}); 

這將有形和無形之間切換。

2

試試這個。

$(document).ready(function() { 
    $('#music-box').hide(); 
    $('#links-top-music').click(function(evt) { 
     if ($('#music-box:visible').length) { 
      $('#music-box').fadeOut(750); 
     } 
     else { 
      $('#music-box').fadeIn(1000); 
     } 
     evt.preventDefault(); 
    }); 
}); 

演示在這裏:根據您的更新評論http://jsfiddle.net/naveen/pfT5E/

+1

我更喜歡你的。我會離開我的後代。 – OverZealous

+1

也很棒。謝謝 – Graham

+0

高興地幫助... – naveen

相關問題