2016-10-14 11 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

関連する問題