2012-07-10 98 views
0

我用我遇到的問題設置了這個小提琴。我需要腳本來隱藏動畫完成後點擊的按鈕。什麼是正確的方法來做到這一點?jQuery點擊變量範圍問題

http://jsfiddle.net/digitalaxis/utJKU/

HTML:

<div> 
    <a id='button1' href="#">Button 1</a> 
    <a id='button2' href="#">Button 2</a> 
    <a id='button3' href="#">Button 3</a> 
    <a id='button4' href="#">Button 4</a> 
    <a id='button5' href="#">Button 5</a> 
</div> 
<div id="box"> 
    Some element 
</div> 

JS:

$('a[id^="button"]').click(function() {  
    $('#box').hide('slow', function() {   
     $('a').hide('slow'); 
    }); 
}); 
+0

試試這個:http://jsfiddle.net/mHjtS/ – Andrew 2012-07-10 20:56:54

+1

我知道你已經有了你的解決方案,但你應該直接在帖子本身提供代碼示例,所以我已經把它移到了這裏。如果像jsFiddle這樣的外部資源永遠不可用,那麼我們的想法就是將這個問題看作是獨立的。 – 2012-07-10 21:02:15

回答

8

設置一個全局變量,其中接收$(this),並在呼叫時使用回,像這樣:

$('a[id^="button"]').click(function() { 
    var $this = $(this); 
    $('#box').hide('slow', function() { 
     $this.hide('slow'); 
    }); 
});​ 
+2

比我快! +1 – ahren 2012-07-10 20:56:36

+0

完美!感謝里卡多! – 2012-07-10 20:57:37