2017-08-21 8 views
0

私はcss:visibilityを隠して表示するモーダルダイアログを作成しました。ダイアログが隠された後に崩壊の広がりが消えない

すべての物事がうまく働いたが崩壊してメニューがうまく機能していないJavascriptのコード

HideModal(){ 
var modal = document.GetElementById("myModal"); 
modal.style.visibility = "hidden"; 
} 

<div id="myModal"> 
    <a data-toggle="collapse" href = "#spread"> 
    <span class = "caret"></span>Spread 
    </a> 
    <div id = "spread" class = "panel-collapse collapse"> 
    ... 
    </div> 
</div> 
<button onclick = "HideModal()">Hide Modal</button> 

。 メニューを開いてダイアログを非表示にすると、すべてのものが消えますが、スプレッドが消えません。
この種の問題に会った人はいますか?

答えて

0

あなたの問題は、この行では、あなたの質問との私の実験では

modal.style.visibility = "hidden"; 

で、視認性の崩壊は、隠された可視性をオーバーライドします。

ソリューション 変更HideModal()コンテンツ

$('#myModal').addClass("hidden"); 
+0

あなたの答えは私の推測と似ていますが、私の場合、隠れたクラスは適切ではありません。 –

0

倒壊させたいdivに崩壊クラスを適用する必要があります。

<div id="myModal"> 
    <a data-toggle="collapse" href = "#spread" style="display:block"> 
    <span class = "caret"></span>Spread 
    </a> 
    <div class="collapse" id="spread"> 
    ... 
    </div> 
    <button>Hide Modal</button> 
</div> 

a{display:block}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
 

 

 
    <div id="myModal"> 
 
     <a data-toggle="collapse" href = "#spread"> 
 
     <span class = "caret"></span>Spread 
 
     </a> 
 
     <div class="collapse" id="spread"> 
 
     ... 
 
     </div> 
 
     <button>Hide Modal</button> 
 
    </div> 
 
    
 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

+0

に私はちょうど私が開いているページのいずれかに出て、このコードをテスト - リンクをクリックすると、DIVの#spreadの崩壊を切り替え予想通り - これは、リンクテキストの横に移動する非表示モーダルボタンのレイアウトの問題を引き起こしますが、リンクのインラインディスパッチによるものです。ボタンのトグルは期待通りに機能します。 – gavgrif

+0

必要に応じてBootstrapとjqueryをページに追加していますか? – gavgrif

+0

私はちょうどコードスニペットを追加して、リンクのクリック時にspred divトグリングの崩壊を表示する - 「Spread」リンクをクリックする - divが崩壊クラスをトグルする - これはあなたが望むものではない? – gavgrif

関連する問題