2016-10-14 71 views
2

我想讓按鈕讓一個div彈出,但目前我正面臨一個問題。問題在於,當您單擊按鈕時,類「切換」未被切換。當點擊按鈕時,JavaScript不會觸發

這裏是我的標記:

​​

和我的JS:

function toggle(){ 

     var bottom-bar = document.querySelector('.bottom-bar'); 
       bottom-bar.classList.toggle('toggle'); 

    }   

    var button = document.querySelector('.bottom-bar_toggle-button'); 

    button.addEventListener('click', toggle); 

,我的造型:

.bottom-bar { 
    position: fixed; 
    bottom: 0; 
    width: 76%; 
    margin: 0 12%; 
    background-color: #FFFFFF; 
    padding: 25px; 
    border-radius: 5px 5px 0 0; 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23); } 
    .bottom-bar .toggle { 
    height: 100vh; 
    top: 10%; } 

.toggle { 
    height: 100vh; 
    top: 10%; } 

.bottom-bar_top-info { 
    text-align: center; } 
    .bottom-bar_top-info span { 
    opacity: 0.54; } 

.bottom-bar_toggle-button { 
    position: absolute; 
    top: 0; 
    left: 0; 
    background-color: transparent; 
    border: 0px; 
    outline: 0px; 
    margin: 16px; 
    padding: 8px; 
    cursor: pointer; } 

這裏是通過CodePen一個活生生的例子:http://codepen.io/ZoidCraft/pen/NRBOqb

+0

這是一個變量名中的連字符嗎?連字符的意思是在javascript中的「減去」 – adeneo

+0

JS中的bottom-bar等於'bottom - bar'。看到有什麼不同? –

回答

1

bottom-bar不是有效的變量名稱。嘗試bottomBar

codepen

+2

謝謝。這已經解決了我的問題:) –

0

正如你可以在你的筆看到,變量名產生一個錯誤。嘗試將變量bottom-bar重命名爲bottomBar,然後運行。

-2

如果您想擁有自己的風格,請使用下劃線(_)而不是短劃線( - )。

變量可能是bottom_bar而不是bottom-bar

+1

你實際上並沒有解釋爲什麼這是一個問題,還提供了一個可靠的來源來解釋爲什麼變量*應該是*? – Li357

+0

@AndrewL。我稍微更新一句,以避免像你這樣的人誤解。你也不會不喜歡我的回答,並解決爲什麼我的答案是一個問題。我仍然不明白你想向我解釋什麼。你能給我更多的解釋嗎?謝謝。 – Karl

+0

問題是你不解釋爲什麼代碼不工作;你沒有提出一個原因,只是一個(在我看來)非傳統的選擇。解釋爲什麼代碼不起作用*,然後*給出替代方案,否則答案不完整。 – Li357

相關問題