本文實例講述了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程序設計有所幫助。