有人可以解释为什么runAnimation()是不可访问的,当从点击处理程序$('#sm_logo')调

Can someone explain to why runAnimation() is not accesible when called from the click handler $('#sm_logo')

本文关键字:程序 处理 logo #sm 为什么 runAnimation 解释 访问      更新时间:2023-09-26

我已经削减了一些代码在这里张贴,并找出为什么runAnimation()是不可访问的$('#sm_logo')事件处理程序?是因为它是一个自启动函数吗?我可以避开这个问题,但我真的很想知道为什么不能打这个电话。

文档

$()时()函数{

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

});//结束文档准备

通过在其声明周围放置(),将其隐藏在全局命名空间中。