モーダルは正常に動作しますが、モーダルを閉じようとすると、ブートストラップ JavaScript ページのデモと同じスライド アップ フェードアウト アニメーションが実行されません。
私はいくつかのデバッグを行い、私のバージョンでは $this.element.trigger(e); にヒットすると、すぐにポップアップを閉じます。しかし、bootstrapのデモ版では$this.element.trigger(e)に到達し、画面に影響を与えずに$.supportTransitionに到達し、hideWithTransition()にヒットすると、本来のように上にスライドしてフェードアウトします。
誰が何が起こっているのか知っていますか?助けてくれてありがとう。
モーダル:
<div id="myModal" class="modal hide fade" style="display: none;" tabindex="-1" role="dialog" aria-labelledby="modal" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-target="myModal" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal Heading</h3>
</div>
<div class="modal-body">
<h4>Text in a modal</h4>
<p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem.</p>
<h4>Popover in a modal</h4>
<p>This <a href="#" role="button" class="btn popover-test" title="A Title" data-content="And here's some amazing content. It's very engaging. right?">button</a> should trigger a popover on click.</p>
<h4>Tooltips in a modal</h4>
<p><a href="#" class="tooltip-test" title="Tooltip">This link</a> and <a href="#" class="tooltip-test" title="Tooltip">that link</a> should have tooltips on hover.</p>
<hr>
<h4>Overflowing text to show optional scrollbar</h4>
<p>We set a fixed <code>max-height</code> on the <code>.modal-body</code>. Watch it overflow with all this extra lorem ipsum text we've included.</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
<p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
<p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
<p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>
</div>
アンカーモーダルトリガー:
<a role="button" data-toggle="modal" href="#myModal" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a>
これをmagentoサイトで使用していることを忘れていました。私はmagento community edition 1.7.0.2を使用しています。どこかに競合があるに違いありません。jsfiddle を試してみます。
アップデート!
わかりました、犯人を見つけました。非競合モードの Jquery で使用しているプロトタイプ スクリプトを削除しました。プロトタイプを削除すると、正常に機能しました。プロトタイプでなぜそれが起こるのか、誰にも分かりますか? これからも探っていきたいです。ありがとう。