我有几个这样的功能:
$(this).find('.subnav').fadeIn(200, buttonHide );
现在,在这种情况下, buttonHide是我在其他地方声明的函数。一旦 200 毫秒的淡入完成,我想调用该函数。
伟大的。适用于 FF 和 Safari。但是,在 IE 中,它会返回未定义的错误。事实上,我在 Ariel Flesler 的scrollTo中使用 onAfter 函数时遇到了同样的问题……什么给出了?
我需要做什么才能让 IE 能够运行这些回调?
编辑:这是包含该功能的代码。这个页面在上面的代码片段之后被调用......我有点菜鸟;那是问题吗?无论如何,在所有内容加载之后,什么都不会运行。
jQuery(function( $ ){
/* BEGIN MENU SCROLLER INITIALIZATION */
// Resets pane
$('.menuClip').scrollTo( 0 );
// scrolls to active item to
$('body:not(.archive) .menuClip').stop().scrollTo( $('.current_page_item') );
$('.menuDown').click(function(){
$('.menuClip').stop().scrollTo( '+=70px', 800, {
onAfter:function(){
buttonHide();
},
});
});
$('.menuUp').click(function(){
$('.menuClip').stop().scrollTo( '-=70px', 800, {
onAfter:function(){
buttonHide();
},
});
});
/* END MENU SCROLLER INITIALIZATION */
});
$(buttonHide = function() {
setTimeout(function(){
var elemM = $(document).find('.menuClip:visible');
if (elemM[0].scrollHeight - elemM.scrollTop() == elemM.outerHeight()) {
$('.menuDown').animate({"opacity":"0"}, 200);
} else {
$('.menuDown').animate({"opacity":"1"}, 200);
}
if (elemM.scrollTop() == 0) {
$('.menuUp').animate({"opacity":"0"}, 200);
} else {
$('.menuUp').animate({"opacity":"1"}, 200);
}
}, 200);
});