Javascript 循环时jQuery淡出不工作
我正在尝试实现这个脚本,它将数组中的单词附加到Javascript 循环时jQuery淡出不工作,javascript,jquery,fadeout,Javascript,Jquery,Fadeout,我正在尝试实现这个脚本,它将数组中的单词附加到标记上,完成后将用另一个短语替换完整的句子,然后重新开始 我遇到的问题是,当从第二个短语过渡到附加具有淡入效果的第一个短语时,应用淡出效果。如果没有淡出效果,它将按预期工作,但当包含它时,它将不会循环回到起点 有谁能帮我弄清楚为什么淡出效果会把代码弄乱,以及如何让它与淡出效果一起工作 以下是被破坏的代码: var指数=0; Start(); 函数Start(){//DOM就绪 var str=[“第一”、“第二”、“第三”、“第四”]; 变量spa
标记上,完成后将用另一个短语替换完整的句子,然后重新开始
我遇到的问题是,当从第二个短语过渡到附加具有淡入效果的第一个短语时,应用淡出效果。如果没有淡出效果,它将按预期工作,但当包含它时,它将不会循环回到起点
有谁能帮我弄清楚为什么淡出效果会把代码弄乱,以及如何让它与淡出效果一起工作
以下是被破坏的代码:
var指数=0;
Start();
函数Start(){//DOM就绪
var str=[“第一”、“第二”、“第三”、“第四”];
变量span=''+str.join('')+'';
$(span).hide().appendTo(“#座右铭”).each(函数(i){
$(this).delay(2000*i).fadeIn('slow','swing',function()){
如果(索引==3){
设置超时(重启,2000);
}否则{
索引++;
}
});
});
}
函数重新启动(){
$(“#座右铭”).fadeIn('slow','swing',function(){
var div=$(“第二个短语。
”).hide();
$(“#座右铭”)。替换为(div);
$(“#座右铭”).fadeIn(“慢”,“摆动”,函数(){
setTimeout(函数(){
var reset=$(“”).hide();
$(“#座右铭”).replacetwith(重置).fadeOut('slow','swing',function(){
指数=0;
Start();
});
}, 3000);
});
});
}
这是因为在断开的示例中,重置
声明的末尾附加了.hide()
。如果删除该方法调用,代码将正常循环
工作解决方案:
var指数=0;
Start();
函数Start(){//DOM就绪
var str=[“第一”、“第二”、“第三”、“第四”];
变量span=''+str.join('')+'';
$(span).hide().appendTo(“#座右铭”).each(函数(i){
$(this).delay(2000*i).fadeIn('slow','swing',function()){
如果(索引==3){
设置超时(重启,2000);
}否则{
索引++;
}
});
});
}
函数重新启动(){
$(“#座右铭”).fadeIn('slow','swing',function(){
var div=$(“第二个短语。
”).hide();
$(“#座右铭”)。替换为(div);
$(“#座右铭”).fadeIn(“慢”,“摆动”,函数(){
setTimeout(函数(){
var reset=$(“”;
$(“#座右铭”).replacetwith(重置).fadeOut('slow','swing',function(){
指数=0;
Start();
});
}, 3000);
});
});
}