Javascript 是什么阻止此动画自动执行?

Javascript 是什么阻止此动画自动执行?,javascript,jquery-animate,slider,Javascript,Jquery Animate,Slider,我的客户希望他们网站上的“赞助商”滑块可以滚动、随机或淡入淡出。我尝试了不同的方法来实现所有这些,但没有任何效果。现在,滑块由设置为“.click”命令的按钮控制。有没有一种方法可以用Javascript添加动画?我需要做哪些更改才能实现这一点?如果不是动画,有没有办法用Javascript随机加载页面上的数组?我一直尝试输入不同的更改,但没有任何效果。我觉得也许我需要“关掉其他东西”让它们工作 不过我对Javascript还不熟悉,所以我希望能得到一些帮助 代码如下: // =========

我的客户希望他们网站上的“赞助商”滑块可以滚动、随机或淡入淡出。我尝试了不同的方法来实现所有这些,但没有任何效果。现在,滑块由设置为“.click”命令的按钮控制。有没有一种方法可以用Javascript添加动画?我需要做哪些更改才能实现这一点?如果不是动画,有没有办法用Javascript随机加载页面上的数组?我一直尝试输入不同的更改,但没有任何效果。我觉得也许我需要“关掉其他东西”让它们工作

不过我对Javascript还不熟悉,所以我希望能得到一些帮助

代码如下:

// ============
// = SPONSORS =
// ============

if($('#sponsors').length>0){

    // let's make sure our logos are centered
    $(window).load(function(){
        $('#sponsor-logos li').each(function(){
            wrapper = $(this).find('span.logo');
            wrapper_height = wrapper.height();
            sponsor_logo = $(this).find('img');
            total_height = 84;
            logo_height = sponsor_logo.height();
            buffer = Math.floor(((total_height - logo_height) / 2));
            wrapper.css('paddingTop',buffer + 'px').height(wrapper_height-buffer);
        });
    });

    window_width = 656;
    slide_duration = 500;


    // get our arrows on there
    $('#sponsors .inner').prepend('<a class="prev" href="#">Prev</a>').append('<a class="next" href="#">Next</a>');

    // set our width
    thumbs = $('#sponsor-logos');
    thumbs.width(thumbs.children().length*164);
    thumbs.wrap('<div class="slider"></div>');




    // hook the arrows
    $('#sponsors  a.prev').click(function(){
        thumbs = $('#sponsor-logos');
        if((Math.abs(parseInt(thumbs.css('left').replace('px',''),10)))>1){
            if(!thumbs.data('animating')){
                thumbs.data('animating',true);
                thumbs.animate(
                        {left:'+='+window_width+'px'},
                        slide_duration, 'swing', function(){
                            thumbs.data('animating',false);
                        }
                    );
            }
        }else{
            // already too far, we'll bounce for feedback
            if(!thumbs.data('animating')){
                thumbs.data('animating',true);
                thumbs.animate(
                        {left:'+=15px'},
                        (slide_duration/5), 'swing', function(){
                            thumbs.animate(
                                    {left:'-=15px'},
                                    (slide_duration/5), 'swing', function(){
                                        thumbs.data('animating',false);
                                    }
                                );
                        }
                    );
            }
        }
        return false;
    });

    $('#sponsors a.next').click(function(){
        thumbs = $('#sponsor-logos');
        if(thumbs.width() - window_width - Math.abs(parseInt(thumbs.css('left').replace('px',''),10)) > 150){ // 150 represents at least one thumb (194 to be exact)
            if(!thumbs.data('animating')){
                thumbs.data('animating',true);
                thumbs.animate(
                        {left:'-='+window_width+'px'},
                        slide_duration, 'swing', function(){
                            thumbs.data('animating',false);
                        }
                    );
            }
        }else{
            // already too far, we'll bounce for feedback
            if(!thumbs.data('animating')){
                thumbs.data('animating',true);
                thumbs.animate(
                        {left:'-=15px'},
                        (slide_duration/5), 'swing', function(){
                            thumbs.animate(
                                    {left:'+=15px'},
                                    (slide_duration/5), 'swing', function(){
                                        thumbs.data('animating',false);
                                    }
                                );
                        }
                    );
            }
        }
        return false;
    });

}
//============
//=赞助商=
// ============
如果($('#赞助商')。长度>0){
//让我们确保我们的标识居中
$(窗口)。加载(函数(){
$(“#赞助商徽标li”)。每个(功能(){
包装器=$(this.find('span.logo');
包装器高度=包装器高度();
赞助商标志=$(此).find('img');
总高度=84;
logo_height=赞助商_logo.height();
缓冲区=数学地板((总高度-徽标高度)/2);
css('paddingTop',buffer+'px').height(wrapper\u height-buffer);
});
});
窗宽=656;
滑动持续时间=500;
//把我们的箭放在那里
$('#赞助商.inner')。前缀('')。附加('');
//设定我们的宽度
拇指=$(“#赞助商徽标”);
拇指.宽度(拇指.子项().长度*164);
拇指。包裹(“”);
//钩住箭头
$('a.prev')。单击(函数(){
拇指=$(“#赞助商徽标”);
if((Math.abs(parseInt(thumbs.css('left').replace('px',''),10))>1){
如果(!thumbs.data('animating')){
拇指数据('动画',真);
拇指动画(
{左:'+='+窗口宽度+'px'},
幻灯片\u持续时间,“摆动”,函数(){
拇指数据('动画',false);
}
);
}
}否则{
//已经太远了,我们将反弹以获得反馈
如果(!thumbs.data('animating')){
拇指数据('动画',真);
拇指动画(
{左:'+=15px'},
(幻灯片持续时间/5),“摆动”,功能(){
拇指动画(
{左:'-=15px'},
(幻灯片持续时间/5),“摆动”,功能(){
拇指数据('动画',false);
}
);
}
);
}
}
返回false;
});
$('a.next')。单击(函数(){
拇指=$(“#赞助商徽标”);
如果(thumbs.width()-window_width-Math.abs(parseInt(thumbs.css('left')).replace('px',''),10))>150{//150表示至少一个拇指(确切地说是194)
如果(!thumbs.data('animating')){
拇指数据('动画',真);
拇指动画(
{左:'-='+窗口宽度+'px'},
幻灯片\u持续时间,“摆动”,函数(){
拇指数据('动画',false);
}
);
}
}否则{
//已经太远了,我们将反弹以获得反馈
如果(!thumbs.data('animating')){
拇指数据('动画',真);
拇指动画(
{左:'-=15px'},
(幻灯片持续时间/5),“摆动”,功能(){
拇指动画(
{左:'+=15px'},
(幻灯片持续时间/5),“摆动”,功能(){
拇指数据('动画',false);
}
);
}
);
}
}
返回false;
});
}

看起来您可能修改了预制jquery图像滑块的脚本。如果是这样的话,你很可能会很艰难地处理这件事。通常,将提供的脚本包含在头文件中,然后在html文件中,将其指向DOM中的一个元素,如

$("#galleryContainerElement").imgSlider({ object:of, slider:preferences });
如果您在使用特定滑块时遇到问题,请告诉我们是哪一个

如果你还没有,我会建议使用滑块(现在是Zurb的基础框架的一部分,但是你可以单独下载)。或者,在jQuery上构建了几十个滑块,如果您熟悉jQuery,大多数滑块都很容易配置

如果您想重新发明轮子,jQuery有一个函数(在您提供的代码中使用过几次)。您需要使用在onload/document.ready上触发的or函数,以及在
$(“#赞助商a.prev”)中声明的函数。单击()
$(“#赞助商a.next”)。单击()
应该移出,以便可以回收它们。考虑到已经存在这么多的滑块,我不太倾向于走过去写你自己的滑块


旁注:请注意,W3C学校与W3C没有任何关联;我在这里引用它们是因为它们的示例非常简单。

$(“#赞助商logos li')中。每个()
都将变量声明为隐含全局变量。您可能应该使用var来声明它们:
var wrapper=$(this.find('span.logo'),…,buffer=(用逗号分隔每个新变量,并用分号结束您的声明块)。我刚刚意识到,我从来没有为这个彻底的答案感谢过您。最后我用另一个滑块结束了比赛。谢谢你把我引向正确的方向@巴纳,你是