私はこのようないくつかの機能を持っています:
$(this).find('.subnav').fadeIn(200, buttonHide );
さて、この場合のbuttonHideは、別の場所で宣言した関数です。200 ミリ秒のフェードインが完了したら、その関数を呼び出したいと思います。
偉大な。FF と Safari で動作します。ただし、IE では undefined としてエラーが返されます。実際、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);
});