Javascript 是否有用于淡出文本框提示的jQuery插件?
我想知道是否有一个jQuery插件可以在文本框为空时显示提示 我发现的是:。但是,这只是充当HTML5属性的Javascript 是否有用于淡出文本框提示的jQuery插件?,javascript,jquery,textbox,fade,hint,Javascript,Jquery,Textbox,Fade,Hint,我想知道是否有一个jQuery插件可以在文本框为空时显示提示 我发现的是:。但是,这只是充当HTML5属性的占位符。我要找的是一个插件,它可以显示多个淡入淡出的提示,比如。(编辑:我指的是文本框中的灰色文本,而不是工具提示。) 虽然自己创建它可能不会太麻烦,但我不同意重新发明轮子的理论——那么有人知道这样的插件是否已经可用吗 谢谢。这可能会有帮助:嘿,普里姆维德,怎么样?试试这个: 它应该是你要找的东西。我自己做了一个,所以它完全符合我的需要: 这很简单,但效果很好 编辑:缺陷较少的新版本,为什
占位符。我要找的是一个插件,它可以显示多个淡入淡出的提示,比如。(编辑:我指的是文本框中的灰色文本,而不是工具提示。)
虽然自己创建它可能不会太麻烦,但我不同意重新发明轮子的理论——那么有人知道这样的插件是否已经可用吗
谢谢。这可能会有帮助:嘿,普里姆维德,怎么样?试试这个:
它应该是你要找的东西。我自己做了一个,所以它完全符合我的需要:
这很简单,但效果很好
编辑:缺陷较少的新版本,为什么不将其作为插件提交:)
(函数($,未定义){
$.fn.fadehints=功能(数据、速度){
var i=0;
var$this=$(this);
var offset=$this.offset();
var$input=$(“”).css(“位置”、“绝对”)
.css(“左”,offset.left)
.css(“顶部”,offset.top)
.css(“背景色”、“透明”)
.css(“颜色”、“灰色”)
.css(“边框”,0)
.css(“填充”,2)
.css(“字体大小“,$this.css(“字体大小”))
.css(“字体系列”),$this.css(“字体系列”);
var$parent=$this.parent();
var$div=$(“”).append($this.detach(),$input);
var change=function(){
如果(i>=data.length){
i=0;
}
$input.hide().val(数据[i]).fadeIn(1000);
i++;
};
$this.bind(“焦点向下键”,函数(e){
if(!(e.bubbles==null)){//仅当事件由用户触发时清除
窗口。清除间隔(间隔);
$input.hide();
}
} );
$input.bind(“单击焦点”,函数()){
窗口。清除间隔(间隔);
$this.focus();//$this===真正的文本框
$(this).hide();//$(this)==重叠文本框
} );
$this。单击(函数(){
$input.hide();
窗口。清除间隔(间隔);
} );
$this.blur(函数(){
窗口。清除间隔(间隔);
if($this.val()==“”&&$this[0]!==document.activeElement){
如果(!$input.is(“:可见”)){
改变();
}
间隔=窗口。设置间隔(变化、速度);
}
} );
$parent.append($div);
改变(真实);
var间隔=窗口设置间隔(变化、速度);
退还$this;
};
})(jQuery);
$(函数(){
$('#tb')。时尚元素([
“测试1”、“测试2”
]);
});
非常感谢。然而,我实际上并不是在寻找工具提示,而是一个示例文本(例如灰色文本),它放在文本框中显示可以放入的内容。我可能错了,但它是否也支持淡入淡出和多个值?嗯,这与文本框和示例值没有多大关系。我实际上是指屏幕上的文本框,而不是工具提示。
(function( $, undefined ) {
$.fn.fadehints = function( data, speed ) {
var i = 0;
var $this = $( this );
var offset = $this.offset();
var $input = $("<input>").css( "position", "absolute" )
.css( "left", offset.left )
.css( "top", offset.top )
.css( "background-color", "transparent" )
.css( "color", "gray" )
.css( "border", 0 )
.css( "padding", 2 )
.css( "font-size", $this.css( "font-size" ) )
.css( "font-family", $this.css( "font-family" ) );
var $parent = $this.parent();
var $div = $( "<div>" ).append( $this.detach(), $input );
var change = function() {
if( i >= data.length ) {
i = 0;
}
$input.hide().val( data[i] ).fadeIn( 1000 );
i++;
};
$this.bind( "focus keydown", function(e) {
if( !( e.bubbles == null ) ) { // Only clear if event was triggered by user
window.clearInterval( interval );
$input.hide();
}
} );
$input.bind( "click focus", function() {
window.clearInterval( interval );
$this.focus(); // $this === the real textbox
$( this ).hide(); // $(this) === the overlap textbox
} );
$this.click( function() {
$input.hide();
window.clearInterval( interval );
} );
$this.blur( function() {
window.clearInterval( interval );
if( $this.val() === "" && $this[0] !== document.activeElement ) {
if( !$input.is(":visible")) {
change();
}
interval = window.setInterval( change, speed );
}
} );
$parent.append( $div );
change(true);
var interval = window.setInterval( change, speed );
return $this;
};
})(jQuery);
$(function() {
$('#tb').fadehints([
"test1", "test2"
]);
});