flyout
ボタンのクリックでメニュー div をスライドインし、もう一度クリックするとアウトするという関数があります。
問題 1: Chrome や FF などでは正常に動作しますが、IE9 ではflyout is undefined
機能は引き続き動作しますが、それが表示されます。
問題 2: IE8 では、エラー メッセージは表示されませんが、メニューがワンクリックでスライドインおよびバックアウトします。
よくわかりませんが、両方の問題が関連していることを願っています。私は Jquery と Jquery UI にかなり慣れていないので、すべてを正しく使用しているかどうかわかりません。どんな助けでも大歓迎です。
外部 JavaScript ファイルの JS:
$(function flyout() {
$(".btn-toggle").click(function (e) {
var newSelector = $('#flyout-' + $(this).attr('id')),
toggle = newSelector.css('display') == 'block';
e.preventDefault();
newSelector.toggle('slide', { direction: 'right' }, 300);
$('.hide').not(newSelector).hide('slide', { direction: 'right' }, 300);
if (!toggle) {
newSelector.children('.l-menu').effect('highlight', 1000);
$('a.btn-toggle i').removeClass('icon-chevron-right');
$(this).find('.icon-chevron-left').toggleClass('icon-chevron-right');
} else {
$(this).find('.icon-chevron-left').toggleClass('icon-chevron-right');
};
});
});
HTML と JS:
<a href="#" id="fo2" class="btn btn-small btn-info btn-toggle"><i class="icon-chevron-left"></i> <i class="icon-thumbs-up"></i> Helpful Hints</a>
<a href="#" id="fo1" class="btn btn-small btn-amber btn-toggle"><i class="icon-chevron-left"></i> <i class="icon-tasks"></i> Progress</a>
<div id="flyout-fo2" class="fixed-tr hide">
...Menu HTML
</div>
<div id="flyout-fo1" class="fixed-tr2 hide">
...Menu HTML
</div>
<script type='text/javascript' language='javascript'>
$(document).ready(function () {
flyout();
});
</script>