jquery搜索框效果实现方法

前端技术 2023/09/06 JavaScript

本文实例讲述了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程序设计有所帮助。

本文地址:https://www.stayed.cn/item/15706

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。