Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能解释一下为什么从单击处理程序$(';#sm#u logo';)调用runAnimation()时无法访问吗_Javascript_Jquery - Fatal编程技术网

Javascript 有人能解释一下为什么从单击处理程序$(';#sm#u logo';)调用runAnimation()时无法访问吗

Javascript 有人能解释一下为什么从单击处理程序$(';#sm#u logo';)调用runAnimation()时无法访问吗,javascript,jquery,Javascript,Jquery,我在这里删减了一些代码,以便发布并找出为什么runAnimation()不可访问$(“#sm_logo”)事件处理程序?是因为它是一种自我启动的功能吗?我可以回避这个问题,但我真的很想知道为什么不能打电话 $(文档).ready(函数(){ var$box=$('.box').hide(),div=0,loop=0,t; (函数runAnimation(){ $($box[div++]| |[])。动画({opacity:'toggle'},'10',function(){ $(this.hid

我在这里删减了一些代码,以便发布并找出为什么runAnimation()不可访问$(“#sm_logo”)事件处理程序?是因为它是一种自我启动的功能吗?我可以回避这个问题,但我真的很想知道为什么不能打电话

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

var$box=$('.box').hide(),div=0,loop=0,t;
(函数runAnimation(){
$($box[div++]| |[])。动画({opacity:'toggle'},'10',function(){
$(this.hide();
如果(div!=$box.length){
$('.style-7').hide('10');
运行动画();
}
否则{
$('.style-7').show();
div=0;
(循环

}))//end doc ready

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


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

这很有意义,所以我只需要在第一时间单独调用它,而不是调用它自己,谢谢。
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
});