输入字段的多个默认值

时间:2012-05-30 08:57:06

标签: javascript jquery

我想有一个搜索框输入字段,当不在焦点时闪烁多个默认值。如在“纽约”中持续3秒,然后“洛杉矶” 3秒等,或模拟这些输入也很不错。

我所做的就是这个

http://jsfiddle.net/5aD7W/1/

但问题是.val()每隔3秒就被覆盖一次,即使它处于焦点时也是如此。

3 个答案:

答案 0 :(得分: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);

Live DEMO

答案 1 :(得分:2)

你可以这样做Demo on JsFiddle

在html中

<input id="txtCity" type="text" value="New York"  />​

IN脚本

  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=""
 });
​
​

答案 2 :(得分:1)

你需要一些脚本才能做到这一点,所以jQuery是一个很好的方法。简单的标记不会解决您的问题。相关:Changing the "placeholder" attribute of HTML5 input elements dynamically using Javascript