服务器之家:专注于服务器技术及软件下载分享
分类导航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服务器之家 - 编程语言 - JavaScript - jquery搜索框效果实现方法

jquery搜索框效果实现方法

2021-07-14 17:41jQuery教程网 JavaScript

这篇文章主要介绍了jquery搜索框效果实现方法,分析了jquery搜索框效果的实现技巧及注意事项,具有一定参考借鉴价值,需要的朋友可以参考下

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

延伸 · 阅读

精彩推荐