2015-02-05 63 views
0
var selection = document.getElementById('selection'); 
var closed = true; 

function openorclosebar() { 

    if(closed == false){ 
     selection.style.webkitAnimation='bounceOutDown 1s forwards'; 
     selection.style.animation='bounceOutDown 1s forwards'; 
     closed = false; 
    } 
    else{ 
     selection.style.webkitAnimation='bounceInUp 1s forwards'; 
     selection.style.animation='bounceInUp 1s forwards'; 
     closed = true; 
    }; 
} 

如何獲取全局變量「選擇」和「關閉」以使用它們。我試過「window.selection」和「window.closed」,但沒有任何幫助。如果你有一個想法,請幫助我,這是非常重要的項目。函數內部無法獲取全局變量(javascript)

+3

你在'openorclosebar'裏面的代碼將會成功訪問你在函數外部聲明的變量。你可能誤解了這個問題(我期望'selection'不會保留你認爲應該保留的值) – Quentin 2015-02-05 14:05:36

+0

現在我該怎麼辦? – 2015-02-05 14:08:49

+3

'if(close == false){close = false}'這裏有什麼問題? – Hacketo 2015-02-05 14:09:05

回答

0

global closed variable是隻讀的:這是window小號.closed財產 - 比如has happened before with .name :-)

使用IEFE讓你的局部變量:

(function() { 
    var selection = document.getElementById('selection'); 
    var closed = true; 

    function openorclosebar() { 
     if(!closed) { 
      selection.style.webkitAnimation='bounceOutDown 1s forwards'; 
      selection.style.animation='bounceOutDown 1s forwards'; 
      closed = false; 
     } else { 
      selection.style.webkitAnimation='bounceInUp 1s forwards'; 
      selection.style.animation='bounceInUp 1s forwards'; 
      closed = true; 
     } 
    } 
}()); 

也有看看other unsafe names瀏覽器環境。

相關問題