首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用JQuery循环占位符文本的形式?

用JQuery循环占位符文本的形式?
EN

Stack Overflow用户
提问于 2013-08-25 18:03:32
回答 2查看 1.2K关注 0票数 5

我对JQuery相当陌生,所以我不知道从哪里着手解决这个问题。

我在一个网站上有一个表单,我希望在用户单击输入自己的文本之前,暂时显示各种占位符并循环它们(模仿用户可以在其中输入的许多选项;比如Alice、Bob、Charles等)。

我发现了这个例子-- http://jsfiddle.net/eFjnU/ (下面的代码)--通过文本循环,但是如何将它应用到表单输入区域中的临时占位符呢?

HTML

代码语言:javascript
复制
<div id="content-1">Sample text 1</div>
<div id="content-2">Sample text 2</div>
<div id="content-3">Sample text 3</div>
<div id="content-4">Sample text 4</div>
<div id="content-5">Sample text 5</div>
<div id="content-6">Sample text 6</div>
<div id="content-7">Sample text 7</div>

JQuery

代码语言:javascript
复制
var divs = $('div[id^="content-"]').hide(),
    i = 0;

(function cycle() { 

    divs.eq(i).fadeIn(400)
              .delay(1000)
              .fadeOut(400, cycle);

    i = ++i % divs.length;

})();

您可以将上面的内容从div更改为输入,但这将循环整个输入框,并且我只希望占位符文本淡入/淡出。

编辑1:

例如:

代码语言:javascript
复制
<input type="text" name="whatever" type="text" placeholder="Alice">
<input type="text" name="whatever" type="text" placeholder="Bob">
<input type="text" name="whatever" type="text" placeholder="Charles">
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-25 18:41:21

不能动画占位符文本,但可以创建一个定期更改属性的函数:

演示小提琴

代码语言:javascript
复制
var placeholders = ['Alice','Bob','Charles'];

(function cycle() { 
    var placeholder = placeholders.shift();
    $('input').attr('placeholder',placeholder);
    placeholders.push(placeholder);
    setTimeout(cycle,1000);
})();

这基本上就是你想要的减去fadeIn/fadeOut

票数 4
EN

Stack Overflow用户

发布于 2013-08-25 18:14:07

持卡人文本需要一个容器。这可能是任何东西。与输入字段上方或下面的span或label标记一样简单。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18432035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档