У меня есть несколько таких функций:
$(this).find('.subnav').fadeIn(200, buttonHide );
Теперь buttonHide , в данном случае, это функция, которую я объявил в другом месте. После завершения 200 мс, я хочу вызвать эту функцию.
Отлично. Работает в FF и Safari. В IE, однако, он возвращает ошибку как неопределенную. Фактически, я столкнулся с ОДНОЙ и той же проблемой при использовании функции onAfter в scrollTo Ариэля Флезлера ... что дает?
Что мне нужно сделать, чтобы 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);
});