我希望有一个搜索框输入字段,当不在焦点时会闪烁多个默认值。如在“纽约” 3 秒,然后在“洛杉矶” 3 秒等,或者模拟这些打字也很好。
我所做的是这个
但问题是 .val() 每隔 3 秒就会被覆盖一次,即使它处于焦点位置也是如此。
我希望有一个搜索框输入字段,当不在焦点时会闪烁多个默认值。如在“纽约” 3 秒,然后在“洛杉矶” 3 秒等,或者模拟这些打字也很好。
我所做的是这个
但问题是 .val() 每隔 3 秒就会被覆盖一次,即使它处于焦点位置也是如此。
我想出的一种方法:
var words = ['New York', 'Los Angeles', 'Home'];
var $search = $('#searchId');
var index = -1;
function foo() {
if ($search.is(':focus')) {
return;
}
index++;
$search.val(words[index % words.length]);
}
setInterval(foo, 3000);
在 html 中
<input id="txtCity" type="text" value="New York" />
输入脚本
arr = ["New York", "Los Angesles", "London"];
txtCity = $('#txtCity');
i=0;
setInterval(function(){
if (txtCity.is(':focus'))
return;
txtCity.val(arr[i++]);
if(i==arr.length)
i = 0;
}, 2000);
$('#txtCity').focus(function(){
this.value=""
});
您将需要一些脚本来执行此操作,因此 jQuery 是一个不错的方法。简单的标记不会解决您的问题。相关:使用 Javascript 动态更改 HTML5 输入元素的“占位符”属性