2016-10-22 17 views
-2

JavaScriptを使用して簡単なトグルクラスを作成しようとしていますが、コードに問題があります。誰かが間違いが何であるか教えてもらえますか?ありがとう。非常に単純なJavascriptのトグルが動作しない

HTML:

<div id="buttonOne">CLick Here One</div> 
    <div id="carouselOne"> 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi incidunt minus laudantium, tempora fuga expedita odit esse fugiat, quas vel debitis, quae dolorem dolores neque labore. Cumque placeat assumenda, mollitia!</p> 
</div> 

CSS:

#carouselOne { 
    display: none; 
} 

#buttonOne { 
    cursor: pointer; 
} 

.toggleHideShow { 
    display:block; 
} 

Javascriptを:

var btnOne = document.getElementById("buttonOne"); 

function functionOne() { 
    var carOne = document.getElementById("carouselOne"); 
    if (carOne.className == "") { 
     carOne.className = "toggleHideShow"; 
    }else { 
     carOne.className = ""; 
    } 
} 
btnOne.addEventListener("click", functionOne); 
+1

は、DOMの準備ができたときにバインドクリックイベントですか? –

+0

はいイベントはバインドされています – NoName84

+0

代わりにjqueryを使用してこの種の問題が発生しないようにします –

答えて

1

はこれを試してみてください:

var btnOne = document.getElementById("buttonOne"); 
 

 
function functionOne() { 
 
    var carOne = document.getElementById("carouselOne"); 
 

 
    carOne.classList.toggle('hidden'); 
 
} 
 

 
btnOne.addEventListener("click", functionOne);
.hidden { 
 
    display: none; 
 
}
<div id="buttonOne">CLick Here One</div> 
 

 
<div id="carouselOne"> 
 
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Animi incidunt minus laudantium, tempora fuga expedita odit esse fugiat, quas vel debitis, quae dolorem dolores neque labore. Cumque placeat assumenda, mollitia!</p> 
 
</div>

+0

* "これを試してください" *は適切な説明ではありません – charlietfl

1

変更CSSライン

.toggleHideShow { 
#carouselOne.toggleHideShow { 

からそして、これは動作します

+0

これを試しましたか? – mplungjan

+0

@mplungjanはい私は試しました –

+0

なぜそれは動作して表示されますか?または、少なくとも理由を説明してください – mplungjan

関連する問題