我希望有一个搜索框输入字段,在未聚焦时闪烁多个默认值。如在“纽约”中持续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);
你将需要一些脚本来做到这一点,所以jQuery是一个好方法。简单的标记不会解决您的问题。相关阅读:那我想出了Changing the "placeholder" attribute of HTML5 input elements dynamically using Javascript
你可以像下面这样做Demo on JsFiddle
在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=""
});
为什么要这么做?这听起来像一个UI功能,可能会混淆你的用户。 –
@RoryMcCrossan。该死的,我喜欢比赛太多,我为他做了...... :( – gdoron
@gdoron我知道这种感觉,你看到一个非常糟糕的问题,但你不得不寻找一个解决方案:D –