隐藏输入字段占位符(文本框水印)的焦点后一秒钟
Hide input field placeholder (textbox watermark) on focus after one second
我发现,在现代浏览器中,我可以隐藏输入的占位符文本(文本框水印)通过使用这个css:
[placeholder]:focus::-webkit-input-placeholder {
opacity: 0;
}
<input id="txt_first_name" type="text" placeholder="Enter Your First Name">
<input id="txt_last_name" type="text" placeholder="Enter Your Last Name">
,它可以工作。我的问题是如何在1000毫秒后以动画的方式隐藏文本?有什么jquery/javascript技巧吗?
jsFIddle Demo
我建议使用占位符css和类名。然后在focus/blur的元素上切换类名。
css.hideHolder[placeholder]:focus::-webkit-input-placeholder{
opacity: 0;
-webkit-transition: opacity 0.5s ease-in-out;
-moz-transition: opacity 0.5s ease-in-out;
transition: opacity 0.5s ease-in-out;
}
/*moz support*/
.hideHolder[placeholder]:focus::-moz-placeholder{
opacity: 0;
-webkit-transition: opacity 0.5s ease-in-out;
-moz-transition: opacity 0.5s ease-in-out;
transition: opacity 0.5s ease-in-out;
}
js
var hideHolder = 0;
$('input[placeholder]').focus(function(){
clearTimeout(hideHolder);
var me = this;
hideHolder = setTimeout(function(){
$(me).addClass('hideHolder');
},1000);
}).blur(function(){
clearTimeout(hideHolder);
$(this).removeClass('hideHolder');
});
您可以在一秒钟后将占位符设置为空字符串。
HTML:<input class="removePlaceholder" id="txt_first_name" type="text" placeholder="Enter Your First Name">
<input class="removePlaceholder" id="txt_last_name" type="text" placeholder="Enter Your Last Name">
JS:
var tempPlaceholder;
var eraserTimeout;
$('.removePlaceholder').focus(function() {
var element = $(this);
tempPlaceholder = element.attr('placeholder');
eraserTimeout = setTimeout(function() {
element.attr('placeholder', '');
}, 1000);
}).blur(function() {
clearTimeout(eraserTimeout);
$(this).attr('placeholder', tempPlaceholder);
});
可以在jsfiddle查看
如果你只关心Webkit,你可以使用这个(来自CSS技巧):
[placeholder]:focus::-webkit-input-placeholder {
transition: opacity 1s 0.5s ease;
opacity: 0;
}
上面的内容等待1秒,然后进行CSS过渡,在0.5秒内淡出。
要添加Firefox支持,可以这样做(还没有测试过):
[placeholder]:focus::-webkit-input-placeholder, [placeholder]:focus::-moz-placeholder {
transition: opacity 1s 0.5s ease;
opacity: 0;
}
我不确定这在IE中是否可行。
相关文章:
- JavaScript sweetAlert弹出窗口在一秒钟后自动关闭
- ng show和ng hide don'I don’我一秒钟都不工作
- 出现一秒钟然后显示为Javascript的消息
- Javascript单选按钮验证错误弹出不到一秒钟,但不应消失
- 如何使用javascript在一秒钟内做60次的事情
- 如何在函数执行前等待一秒钟
- 表单提交仅运行Javascript函数一秒钟
- Javascript:选择页面上的所有复选框.它会检查所有内容一秒钟,然后消失
- 下拉菜单不会显示超过一秒钟.不起作用
- 循环后暂停 css 精灵一秒钟
- .animate();在Javascript中是冻结一秒钟
- 如何在 jQuery 中阻止 keyup() 事件一秒钟
- 每五次迭代后暂停循环一秒钟
- 计算一秒钟内鼠标点击的次数
- 流星助手添加适当的css一秒钟,然后消失
- 在页面加载时,不是显示第一张幻灯片,而是显示最后一张幻灯片不到一秒钟
- 切换箭头键时,图像会停止一秒钟
- PHP输出将显示一秒钟
- 在缩略图上更改滑块图像.图像改变一秒钟,然后恢复
- 隐藏输入字段占位符(文本框水印)的焦点后一秒钟