Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有用于淡出文本框提示的jQuery插件?_Javascript_Jquery_Textbox_Fade_Hint - Fatal编程技术网

Javascript 是否有用于淡出文本框提示的jQuery插件?

Javascript 是否有用于淡出文本框提示的jQuery插件?,javascript,jquery,textbox,fade,hint,Javascript,Jquery,Textbox,Fade,Hint,我想知道是否有一个jQuery插件可以在文本框为空时显示提示 我发现的是:。但是,这只是充当HTML5属性的占位符。我要找的是一个插件,它可以显示多个淡入淡出的提示,比如。(编辑:我指的是文本框中的灰色文本,而不是工具提示。) 虽然自己创建它可能不会太麻烦,但我不同意重新发明轮子的理论——那么有人知道这样的插件是否已经可用吗 谢谢。这可能会有帮助:嘿,普里姆维德,怎么样?试试这个: 它应该是你要找的东西。我自己做了一个,所以它完全符合我的需要: 这很简单,但效果很好 编辑:缺陷较少的新版本,为什

我想知道是否有一个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"
    ]);
});