用户可以在弹出窗口中输入带有提示的单词,然后字符串的字母必须一个接一个地出现和消失。
但现在只有字符串的最后一个字符会出现并消失。
var newHeadingText = prompt("Please provide a new heading:");
for (var i = 0; i < newHeadingText.length; i++) {
$("#main-heading").text(newHeadingText[i]).fadeOut(3000).fadeIn(3000);
}
谢谢
答案 0 :(得分:0)
您目前正在为每个循环重置getDriver().findElement(locator).sendKeys(Keys.chord("phone number formatted"));
的值,这种情况几乎是瞬间发生的。
相反,我建议使用.text()
创建一个排序队列,第一个字母立即淡入,第二个字母在6秒超时后淡入,第三个字母在12秒超时等等。
我做出的其他改变:
setTimeout
以开始标题为&#34;隐藏&#34; .hide()
和.fadeIn()
,以便最后一个字母不会淡出,然后重新进入,然后再出来fadeOut()
(我们需要将其乘以2以补偿和淡出的淡入淡出。我们将其乘以fadeTime * 2 * i
,以便第一个从0开始,第二个在6000ms开始,第三个在1200ms开始,等等。)最终产品看起来像这样:
i
&#13;
var fadeTime = 3000; //ms for fade-in, fade-out
var newHeadingText = prompt("Please provide a new heading:");
for (var i = 0; i < newHeadingText.length; i++) {
fadeLetter(i); //call our function with the current iteration
}
function fadeLetter(i) {
setTimeout( //Use setTimeout to queue fade animations
function() {
$("#main-heading").text(newHeadingText[i]).hide().fadeIn(fadeTime).fadeOut(fadeTime);
}, fadeTime * 2 * i);
}
&#13;