javascript - 如何缓慢迭代 jquery 循环,并每次替换占位符文本

标签 javascript jquery html placeholder

我尝试了一些不同的方法,例如设置超时和每隔几秒调用一个函数,但我似乎可以让以下方法起作用:

var searchText = ["1", "2", "3", "4", "5"];


    for(x = 0; x < searchText.length; x++){

        // set the placeholder text
        jQuery('.banner .search-field').attr('placeholder', searchText[x]);



    }

上面的代码迭代了数组中的值,但是速度太快,用户看不到。我可以通过检查 console.log 看到它工作正常

我尝试过使用延迟功能,但无法使其工作。有没有办法让它在更新之间延迟?

最佳答案

您可以使用简单的 for 循环和 setTimeout 来实现,

var secs = 5;
var elem = jQuery('.banner .search-field');
for(x = 1; x <= secs; x++) {
  setTimeout(function(x) {
    elem.attr('placeholder', x);
  }, x * 1000, x);
}

DEMO

关于javascript - 如何缓慢迭代 jquery 循环,并每次替换占位符文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042235/

相关文章:

javascript - 如何在Angularjs中设计下表

javascript - 如何删除人力车直方图中的垂直线?

javascript - 如何计算跨度中每个字符的宽度和高度

jQuery append() - 在我看来它应该可以工作,但不行

javascript - 如何在D3中监听频繁的SSE?

javascript - 如何隔开复选框、列表和删除按钮

html - 无法限制特定部分或 div 上的 CSS 动画

Javascript:从对象数组中提取对象,并将它们放入新数组中

javascript - 表单选择直接到网页

javascript - 验证可以添加或删除字段的动态表单