Javascript 有人能解释一下为什么从单击处理程序$(';#sm#u logo';)调用runAnimation()时无法访问吗
我在这里删减了一些代码,以便发布并找出为什么runAnimation()不可访问$(“#sm_logo”)事件处理程序?是因为它是一种自我启动的功能吗?我可以回避这个问题,但我真的很想知道为什么不能打电话 $(文档).ready(函数(){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
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
});