IE中的简单jQuery回调

IE中的简单jQuery回调,jquery,internet-explorer,callback,undefined,Jquery,Internet Explorer,Callback,Undefined,我有以下几个功能: $(this).find('.subnav').fadeIn(200, buttonHide ); 在本例中,buttonHide是我在别处声明的一个函数。完成200ms fadeIn后,我想调用该函数 太好了。在FF和Safari工作。但在IE中,它返回一个未定义的错误。事实上,我在Ariel Flesler的scrollTo中使用onAfter函数时遇到了同样的问题。。。有什么好处 要让IE运行这些回调,我必须做些什么 编辑:下面是包含函数的代码。在上面的代码片段之后调

我有以下几个功能:

$(this).find('.subnav').fadeIn(200, buttonHide );
在本例中,buttonHide是我在别处声明的一个函数。完成200ms fadeIn后,我想调用该函数

太好了。在FF和Safari工作。但在IE中,它返回一个未定义的错误。事实上,我在Ariel Flesler的scrollTo中使用onAfter函数时遇到了同样的问题。。。有什么好处

要让IE运行这些回调,我必须做些什么

编辑:下面是包含函数的代码。在上面的代码片段之后调用此页。。。我有点傻;这是个问题吗?在加载所有内容之前,不会运行任何get

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);
});

我注意到一件事:回拨中断后的逗号,即:

$('#move_this_up').click(function(){
    $('#content').stop().scrollTo( '-=270', 1000,
        { onAfter:function(){
            inactiveContentStates();
        }, // COMMA BAD!!!!
    });
});
在调用函数之前声明函数并删除逗号会有所帮助


希望这对其他人有用

显示其余的代码。这几乎毫无疑问是一个范围、闭包的问题,或者只是一个小小的javascript错误。请给出一个完整的例子。发布一个包含这个和按钮的完整脚本。只是为了确保。。。在定义此代码之前是否定义了
buttonHide
?加载所有脚本,单击即可调用该函数。这是IE的问题吗?还在学习!哦,顺便说一句,问题出在IE7上。尚未签入IE8(我相信在IE8中可以)。这里有一个活生生的例子