Javascript Jquery css函数不支持';不能在动画完成处理程序中工作

Javascript Jquery css函数不支持';不能在动画完成处理程序中工作,javascript,jquery,css,web,Javascript,Jquery,Css,Web,以下是js代码: var index=0; function reset(){ for(var i=0;i<count+2;i++){ $(imgs[i]).css("left",width*(i-1-index)); } } reset(); //$(".dcCarousel").swipeleft(function(){ $("#left").click(function(){ index = index+1; for(var i=0;i

以下是js代码:

var index=0;
function reset(){
    for(var i=0;i<count+2;i++){
        $(imgs[i]).css("left",width*(i-1-index));
    }
}
reset();
//$(".dcCarousel").swipeleft(function(){
$("#left").click(function(){
    index = index+1;
    for(var i=0;i<count+2;i++){
        $(imgs[i]).animate({"left":width*(i-1-index)}, complete=function(){
            if(index>=count) {
                index = 0;
                //$(this).delay(0,reset);
                reset();
            }
        });
    }
});
var指数=0;
函数重置(){
对于(var i=0;i
index=index+1;

对于(var i=0;i和当前代码,您将运行许多动画,第一个完成的动画将在其他动画运行时尝试重置css。未完成的动画将覆盖重置功能更改

要解决此问题,请尝试以下方法

var animationCount = 0;
var index=0;
function reset(){
    for(var i=0;i<count+2;i++){
        $(imgs[i]).css("left",width*(i-1-index));
    }
}
reset();
$("#left").click(function(){
    index = index+1;
    animationCount = count + 2;
    for(var i=0;i<count+2;i++){
        $(imgs[i]).animate({"left":width*(i-1-index)}, complete=function(){
            if ( index >= count ) {
                animationCount -= 1;
                if ( animationCount == 1 ) {
                    index = 0;
                    reset();
                }
            }
        });
    }
});
var animationCount=0;
var指数=0;
函数重置(){

对于(var i=0;iTry:
$(“#左”)。在('click',function(){
…删除
complete=function()中的
complete
){
1.想要一个响应良好的旋转木马吗?使用css3和javascript。不要使用jquery.2.循环中的动画…滞后..在css3中创建一个3d容器,只需要旋转/移动它。我不知道jquery是否有一些动画链接的方法,但我认为这可能是因为应该调用reset的完整函数实际上不必是called lastHey,你在代码中的什么地方定义了计数?是的,关于动画覆盖重置值,你是对的。结果只有第一个完成的动画被调用了reset()(它将索引设置为0),但它的更改被覆盖。我太傻了以至于看不到这一点…非常感谢!np,我的动画逻辑搞错了。刚刚修复了它(我想)
for(var i=0;i<count+2;i++){
  index = index+1;
var animationCount = 0;
var index=0;
function reset(){
    for(var i=0;i<count+2;i++){
        $(imgs[i]).css("left",width*(i-1-index));
    }
}
reset();
$("#left").click(function(){
    index = index+1;
    animationCount = count + 2;
    for(var i=0;i<count+2;i++){
        $(imgs[i]).animate({"left":width*(i-1-index)}, complete=function(){
            if ( index >= count ) {
                animationCount -= 1;
                if ( animationCount == 1 ) {
                    index = 0;
                    reset();
                }
            }
        });
    }
});