最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實現(xiàn)搜索關(guān)鍵詞的智能提示功能

 更新時間:2017年07月07日 15:29:23   作者:Gary_P  
最近在百度搜索的時候,當你輸入一個字或者詞的時候,他會給你們彈出一個下拉框出來,里面是和你相關(guān)的搜索提示,效果非常人性化,基于js怎么實現(xiàn)搜索關(guān)鍵詞智能提示功能,下面小編通過實例代碼給大家介紹下,需要的的朋友參考下吧

最近在百度搜索的時候,當你輸入一個字或者詞的時候,他會給你們彈出一個下拉框出來,里面是和你相關(guān)的搜索提示

比如 我輸入楊字,他會給我提示以下搜索提示

我嘗試著用JavaScript做了一個類似的練習,以下是我用VS2013寫的代碼,有不對的地方,請不吝賜教。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
onload = function () {
function handle() {
var keyWords = { 
"楊忠科": ["楊忠科的視頻", "楊忠科的微博", "楊忠科的郵箱"],
"楊": ["楊利偉", "楊振宇", "楊過"],
"楊忠": ["楊忠科", "楊忠學", "楊忠愛國"],
"楊忠科愛":["楊忠科愛祖國","楊忠科愛首都","楊忠科愛學習"]
};
if (keyWords[this.value]) {
//判斷body中是否有這個層,如果有就刪掉了
if (document.getElementById('dv')) {
document.body.removeChild(document.getElementById('dv'));
}
//開始創(chuàng)建層
var dvObj = document.createElement('div');
dvObj.id = 'dv';
dvObj.style.width = '300px';
//dvObj.style.height = '200px'; //將來可以不要
dvObj.style.border = '1px solid red';
document.body.appendChild(dvObj);
//脫離文檔流
dvObj.style.position = 'absolute';
dvObj.style.left = this.offsetLeft + 'px';
dvObj.style.top = this.offsetHeight + this.offsetTop + 'px';
//循環(huán)創(chuàng)建
for (var i = 0; i < keyWords[this.value].length; i++) {
//創(chuàng)建一個可以存文本的標簽
var pObj = document.createElement('p');
pObj.innerText = keyWords[this.value][i];
//p標簽要有小手,還有高亮顯示
pObj.style.cursor = 'pointer';
pObj.style.margin = '5px';
pObj.onmouseover = function () {
this.style.backgroundColor = 'red';
};
pObj.onmouseout = function () {
this.style.backgroundColor = '';
}
dvObj.appendChild(pObj); //把p標簽加到層中
}
//創(chuàng)建可以顯示文件的標簽
}
}
//firefox下檢測狀態(tài)改變只能用oninput,且需要用addEventListener來注冊事件。 
if (/msie/i.test(navigator.userAgent)) //ie瀏覽器 
{
document.getElementById('txt').onpropertychange = handle
}
else {//非ie瀏覽器,比如Firefox 
document.getElementById('txt').addEventListener("input", handle, false);
}
}; 
</script>
</head>
<body>
<span id="msg"></span>
請輸入搜索關(guān)鍵字<input type="text" name="name" value="" style="width:300px;height:30px;font-size:25px; border:1px solid green" id="txt"/>百度一下
</body>
</html>

效果展示:

關(guān)于這個練習我有以下幾點思索

1.因為搜索熱詞提前被設(shè)定好,放在鍵值對里面,所以搜索的范圍也就被限定了,這個可以再被加深,和數(shù)據(jù)庫中的數(shù)據(jù)連接起來,搜索的的關(guān)鍵詞直接從數(shù)據(jù)庫中查詢,這個具體怎么寫我還沒研究透,希望有經(jīng)驗的前輩可以指教。

2.關(guān)于這個代碼的應(yīng)用我覺得可以應(yīng)用在用戶查詢搜索上,百度搜索就是一個很好的實例

3.代碼畢竟是JS寫的,如果用戶的電腦將JS控件阻止了,效果也就不行了。

以上所述是小編給大家介紹的JS實現(xiàn)搜索關(guān)鍵詞的智能提示功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

米泉市| 拉萨市| 建德市| 涿州市| 江津市| 长白| 闽清县| 青龙| 莱芜市| 江安县| 沙湾县| 汉源县| 云霄县| 兖州市| 郸城县| 临武县| 江安县| 尚志市| 鄂尔多斯市| 绥宁县| 汕尾市| 阳江市| 广宗县| 图木舒克市| 莱阳市| 松桃| 邮箱| 凤山市| 白银市| 石台县| 大姚县| 安阳市| 响水县| 图片| 镇江市| 普格县| 读书| 修文县| 长阳| 句容市| 合作市|