Posted in Javascript onJanuary 16, 2015
本文实例讲述了jquery搜索框效果实现方法。分享给大家供大家参考。具体实现方法如下:
<html> <head> <title>jquery:搜索框效果</title> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(function(){ $('#search').val("请输入搜索内容").addClass("c1"); $('#search').focus(function(){//搜索框获得焦点时 $('#search').val("").addClass("c2"); }); $('#search').blur(function(){//搜索框失去焦点时 if($('#search').val()==""){ $('#search').val("请输入搜索内容").attr("class","c1"); } }); }); </script> <style type="text/css"> .c1{color:gray;font-style:italic;} .c2{color:#000;font-style:normal;} </style> </head> <body> <input type="text" size="38" id="search" /><button>搜索</button> </body> </html>
补充说明:有些不完美,如果搜索框原来还有其它样式,当失去焦点时,如果采用例子中的代码,那其它样式也会没了,因为attr()为设置样式。如果采用addClass()为追加样式,也不怎么合适,虽然能达到效果,但原来的c2样式还在,显示时被c1样式替换而已(这需要c1样式写在c2后面)。好像没有替换样式的方法?
修改后解决上面的问题,较完美版本(代码还可以优化更简单)
<html> <head> <title>jquery:搜索框效果</title> <script type="text/javascript" src="jquery-1.8.2.min.js"></script> <script type="text/javascript"> $(function(){ $('#search').val("请输入搜索内容").addClass("c1"); $('#search').focus(function(){//搜索框获得焦点时 if($('#search').val()=="请输入搜索内容"){ $('#search').val("").addClass("c2").removeClass("c1"); } }); $('#search').blur(function(){//搜索框失去焦点时 if($('#search').val()==""){ $('#search').val("请输入搜索内容").addClass("c1").removeClass("c2"); } }); }); </script> <style type="text/css"> .c1{color:gray;font-style:italic;} .c2{color:#000;font-style:normal;} </style> </head> <body> <input type="text" size="38" id="search" /><button>搜索</button> </body> </html>
希望本文所述对大家的jQuery程序设计有所帮助。
jquery搜索框效果实现方法
- Author -
shichen2014声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@