我正在使用jQuery创建搜索栏,我的代码粘贴在下面
小提琴:https://jsfiddle.net/fpLf1to4/
var inputSearch = $('.searchInput').hide();
var searchArray = ['s','e','a','r','c','h'];
var searchReturn = '';
$('#search').on('click', function(){
$(inputSearch).fadeToggle(500).focus();
for(var i = 0 ; i < searchArray.length ; i++){
searchReturn = searchReturn + searchArray[i];
}
$(inputSearch).attr('placeholder', searchReturn[0]);
});
注意:现在,我仅将数组的第一个索引用于输入属性。
$(inputSearch).attr('placeholder', searchReturn[0]);
现在,每隔一秒钟我要更新我的
attr()
$(inputSearch).attr('placeholder', searchReturn[0] + searchReturn[1]);
下一秒
$(inputSearch).attr('placeholder', searchReturn[0] + searchReturn[1] + searchReturn[2]);
等等 ...
最佳答案
您必须使用setInterval
函数,而不是for
循环。这是您可以执行的操作:
$('#search').on('click', function(){
$(inputSearch).fadeToggle(500).focus();
var i = 0;
var interval = setInterval(function() {
searchReturn = searchReturn + searchArray[i];
$(inputSearch).attr('placeholder', searchReturn);
if(i == searchArray.length - 1) {
clearInterval(interval)
}
i++;
}, 2000);
});
这是小提琴:https://jsfiddle.net/fpLf1to4/1/
关于javascript - 如何使用jQuery处理数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32423019/