首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能解释一下为什么从单击处理程序$('#sm_logo')调用时无法访问runAnimation()吗?

有人能解释一下为什么从单击处理程序$('#sm_logo')调用时无法访问runAnimation()吗?
EN

Stack Overflow用户
提问于 2011-11-20 11:02:07
回答 1查看 56关注 0票数 1

我在这里删减了一些代码来发布,并找出为什么$('#sm_logo')事件处理程序不能访问runAnimation()?是因为它是一个自启动函数吗?我可以绕过这个问题,但我真的很想知道为什么打电话不能进行。

$(文档)函数(.ready(){

代码语言:javascript
复制
var $boxes = $('.box').hide(), div = 0, loop = 0, t;

(function runAnimation (){

    $($boxes[div++] || []).animate({opacity: 'toggle'}, '10',  function(){
        $(this).hide();
        if(div != $boxes.length) {
            $('.style-7').hide('10');
            runAnimation();
    }
    else {
        $('.style-7').show();
        div=0;
        (loop < companies.length -1) ? ++loop : loop = 0;
        t = setTimeout(function(){
            runAnimation();
        }, 2000);
   }    
   });
})()


$('#sm_logo').toggle(function(){
    if( $($boxes).is(':animated') ) 
       $($boxes).stop();
else if ( $('.style-7').is(':visible'))
    clearTimeout(t);
}, function() {
         runAnimation(); //why does this not find the function?
    //location.href = location.href; //this is how I worked around the prob, but 
        //i don't like the fact that the animation restarts from 0
});

});//结束文档准备就绪

EN

回答 1

Stack Overflow用户

发布于 2011-11-20 11:05:06

通过将()放在其声明周围,可以将其对全局名称空间隐藏起来。

移除它们,它就会出现在那里。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8199150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档