【问题标题】:Input placeholder that changes every few seconds每隔几秒更改一次的输入占位符
【发布时间】:2016-07-19 00:29:36
【问题描述】:
<input id="home_search" type="text" placeholder="Kyle">

我正在寻找一种解决方案,该解决方案允许占位符每 2 秒更改为预定的其他占位符。如“约翰”“莎莉”

【问题讨论】:

  • 您希望占位符每 2 秒自动更改一次吗?
  • 您将从哪里获得新的占位符值?
  • 我相信有一个 jQuery 解决方案可以让我输入 5 个左右的占位符并让它们每 2 秒交替一次?
  • 嗯,这是一个很好的问题,为什么我努力回答它应该被赞成而不是被反对

标签: jquery html css input placeholder


【解决方案1】:

使用此代码可以正常工作

$(document).ready(function(){
    var placeHolder = ['one','two','three','four','five'];
    var n=0;
    var loopLength=placeHolder.length;

    setInterval(function(){
       if(n<loopLength){
          var newPlaceholder = placeHolder[n];
          n++;
          $('input').attr('placeholder',newPlaceholder);
       } else {
          $('input').attr('placeholder',placeHolder[0]);
          n=0;
       }
    },2000);
});

使用上面的代码,您可以向数组添加任意数量的值,它将无限工作,并在循环完成时返回到第一个占位符

更新的工作小提琴:https://jsfiddle.net/5pwuqkbp/2/

【讨论】:

  • 太好了,非常感谢!我怎样才能让它在无限循环中工作?
  • 嗯,它并没有完全符合我的要求。我正在寻找它在五点后回到原来的一个占位符?并无限循环?
  • 几乎!但它目前只去 1,2,3,4,5,1 我希望它去 1,2,3,4,5,1,2,3,4,5,1,2,3,4,5 ... 永远。有任何想法吗?谢谢你。
  • 那是我的错误...修复它检查这个小提琴jsfiddle.net/5pwuqkbp/2
【解决方案2】:

你是说这个吗?

<script>
    jQuery(document).ready(function () {
        var i = 1;
        setInterval(function () {
            switch (i) {
                case 1:
                    $("#home_search").attr('placeholder', 'John');
                    break;
                case 2:
                    $("#home_search").attr('placeholder', 'Sally');
                    break;
            }
            i++;
            if (i > 2) {
                i = 1;
            }
        }, 2000);
    });
</script>

【讨论】:

  • 这是示例代码,你的代码比我的好。
猜你喜欢
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 2015-05-07
  • 2019-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多