Javascript 动画文本函数回调jquery

Javascript 动画文本函数回调jquery,javascript,jquery,Javascript,Jquery,我这里有问题 我有动画(显示/隐藏)文本。第一个文本有类“活动”。动画显示此文本,然后删除类“active”,并将此类添加到下一个文本中,然后再次回调函数。。该函数还检查最后一个文本是否有类“active”,然后删除并将类“active”添加到第一个文本,隐藏所有文本并再次回调。这就是它的工作原理。当动画再次完成回调并为第一个文本设置动画时,第一次工作正常,然后函数向多个文本添加“活动”,然后所有文本和函数中断。我不知道为什么会发生这种情况,我尝试使用setInterval,但遇到了同样的问题

我这里有问题 我有动画(显示/隐藏)文本。第一个文本有类“活动”。动画显示此文本,然后删除类“active”,并将此类添加到下一个文本中,然后再次回调函数。。该函数还检查最后一个文本是否有类“active”,然后删除并将类“active”添加到第一个文本,隐藏所有文本并再次回调。这就是它的工作原理。当动画再次完成回调并为第一个文本设置动画时,第一次工作正常,然后函数向多个文本添加“活动”,然后所有文本和函数中断。我不知道为什么会发生这种情况,我尝试使用setInterval,但遇到了同样的问题

函数animateText(){
“严格使用”;
if($(“.text container.active”).hasClass(“左”)){
$(“.text container.active”).addClass(“active”);
$(“.text container.active”).delay(1000)。动画({
marginLeft:0,
不透明度:1
},700,函数(){
if($(“.text container.text:last”).hasClass(“活动”)){
$(“.text container.text:last”).removeClass(“活动”)
$(“.text container.text”).animate({
不透明度:0
},700,函数(){
$(“.text container.text:first”).addClass(“活动”);
animateText();
})
}
$(“.text container.active”).removeClass(“active”).next().addClass(“active”);
animateText();
});
}else if($(“.text container.active”).hasClass(“右”)){
$(“.text container.active”).addClass(“active”);
$(“.text container.active”).delay(1000)。动画({
marginRight:“5px”,
不透明度:1
},700,函数(){
if($(“.text container.text:last”).hasClass(“活动”)){
$(“.text container.text:last”).removeClass(“活动”)
$(“.text container.text”).animate({
不透明度:0
},700,函数(){
$(“.text container.text:first”).addClass(“活动”);
animateText();
})
}
$(“.text container.active”).removeClass(“active”).next().addClass(“active”);
animateText();
});
}
}

你好,世界

你好,世界2

你好,世界3

你好,世界4

你好,世界5

你好,世界6


只要涉及此动画,类
.active
就没有用处。注意:我在代码段中添加了一些css以适应它,所以请告诉我它是否有用

$(文档).ready(函数(){
animateText($(“.text container.active”);
});
函数animateText($this){
var leftParams={'left':0,不透明度:1};
var rightParams={'right':0,不透明度:1};
$this.stop(true)。设置动画(
($this.hasClass('left')?leftParams:rightParams),
1000,函数(){
if($this.next().presence())
animateText($this.next());
其他的
startOver();
}
);
}
函数startOver(){
变量选择器=$(“.text container.text”);
var next=$(“.text container>.active”);
动画({
不透明度:0
},200,函数(){
selector.filter('.left').css('left',-200);
selector.filter('.right').css('right',-200);
animateText(下一个);
});
}
$.fn.presence=函数(){
返回this.length!==0&&this;
};
.text容器{
显示:内联块;
宽度:260.4px;
高度:419px;
填充顶部:10px;
左侧填充:5px;
溢出:隐藏;
}
.text容器.text{
最大宽度:225px;
浮动:左;
填充:8px 9px;
边缘底部:6px;
边界半径:20px;
文本对齐:左对齐;
背景色:rgba(224230237.5);
明确:两者皆有;
不透明度:0;
位置:相对位置;
}
.文本容器。左{
浮动:左;
左:-200px;
}
.文本容器。对{
浮动:对;
右:-200px;
背景色:#1bb45e;
}

你好,世界

你好,世界2

你好,世界3

你好,世界4

你好,世界5

你好,世界6


如果($(“.text container.active”).hasClass(“left”){…
所有子div都没有class
left
。这应该是什么时候的事?在动画函数之前添加了class left..您可以检查一下,非常感谢您,我非常感谢您所做的努力。