我对JQuery很新,所以我不知道从哪里开始解决这个问题.
我在网站上有一个表格,我希望暂时显示各种占位符并循环浏览它们(模仿用户可以在那里输入的多个选项;例如Alice,Bob,Charles等用于NAME表单输入)点击输入自己的文字.
我发现这个例子 - http://jsfiddle.net/eFjnU/(下面的代码) - 循环文本,但我怎么能将它应用于表单输入区域中的临时占位符?
HTML
<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>
Run Code Online (Sandbox Code Playgroud)
JQuery的
var divs = $('div[id^="content-"]').hide(),
i = 0;
(function cycle() {
divs.eq(i).fadeIn(400)
.delay(1000)
.fadeOut(400, cycle);
i = ++i % divs.length;
})();
Run Code Online (Sandbox Code Playgroud)
您可以将上面的div更改为输入,但这将循环整个输入框,我只希望占位符文本淡入/淡出.
编辑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">
Run Code Online (Sandbox Code Playgroud)
您无法为占位符文本设置动画,但可以创建一个定期更改属性的函数:
var placeholders = ['Alice','Bob','Charles'];
(function cycle() {
var placeholder = placeholders.shift();
$('input').attr('placeholder',placeholder);
placeholders.push(placeholder);
setTimeout(cycle,1000);
})();
Run Code Online (Sandbox Code Playgroud)
这基本上就是你想要的减去淡入/淡出