使用JQuery循环浏览表单中的占位符文本?

使用JQuery循环浏览表单中的占位符文本?,jquery,Jquery,我对JQuery相当陌生,所以我不确定从哪里开始解决这个问题 我在一个网站上有一个表单,我想在用户点击输入他们自己的文本之前,临时显示各种占位符,并在其中循环(模仿用户可以在那里输入的许多选项;例如Alice、Bob、Charles等,用于名称表单输入) 我发现这个示例(下面的代码)循环显示文本,但如何将其应用于表单输入区域中的临时占位符 HTML 您可以将上面的内容从div更改为input,但这将循环输入和输出整个输入框,我只希望占位符文本淡入/淡出 编辑1: 例如: <input ty

我对JQuery相当陌生,所以我不确定从哪里开始解决这个问题

我在一个网站上有一个表单,我想在用户点击输入他们自己的文本之前,临时显示各种占位符,并在其中循环(模仿用户可以在那里输入的许多选项;例如Alice、Bob、Charles等,用于名称表单输入)

我发现这个示例(下面的代码)循环显示文本,但如何将其应用于表单输入区域中的临时占位符

HTML

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

编辑1:

例如:

<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">


占位符文本需要一个容器。这可能是任何东西。简单到输入字段上方或下方的span或label标记。

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

var placeholders = ['Alice','Bob','Charles'];

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

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

不太清楚你想做什么,你想让它们都在同一个输入上?你不能设置占位符文本的动画,最多你可以让它出现/消失,就像这样,不确定这是否有效;请参见新建编辑。我正在查看输入标记的占位符文本。@FaceOfJock
delay()
默认情况下仅适用于动画队列,而且如果要使用delay,则必须在元素上调用它,它不是全局函数我也尝试使用setTimeout,但它不起作用:有什么建议吗?@FaceOfJock您需要将超时代码封装在匿名函数中,如果要进行循环,则需要在每次迭代中增加超时延迟非常感谢,非常有用:)
<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">
var placeholders = ['Alice','Bob','Charles'];

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