我有一個叫做flyout
的函數,它在單擊按鈕時滑動菜單div,然後再次點擊。Jquery IE的外部自定義函數是不明確的
問題1:它在Chrome,FF等運行良好,但IE9告訴我,flyout is undefined
,雖然功能仍然有效。
問題2:在IE8中沒有錯誤消息,但菜單滑入和退出一次單擊。
我不確定但希望兩個問題都有關係。我對Jquery和Jquery UI相當陌生,所以我不確定我是否正確使用了所有東西。任何幫助將非常感激。
JS在外部JavaScript文件:
$(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>
可能有一些反對命名匿名函數的規範。 – 2013-03-12 20:16:01
這不是一個匿名函數,他正在製作一個函數的jQuery對象。 – Niels 2013-03-12 20:16:49
@Niels'$(function)'是'(document).ready(function(){})的快捷方式;' – 2013-03-12 20:18:28