JS如何實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能-創(chuàng)新互聯(lián)

小編給大家分享一下JS如何實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

成都創(chuàng)新互聯(lián)專注于北鎮(zhèn)網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供北鎮(zhèn)營銷型網(wǎng)站建設(shè),北鎮(zhèn)網(wǎng)站制作、北鎮(zhèn)網(wǎng)頁設(shè)計(jì)、北鎮(zhèn)網(wǎng)站官網(wǎng)定制、微信小程序定制開發(fā)服務(wù),打造北鎮(zhèn)網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供北鎮(zhèn)網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

js的作用是什么

1、能夠嵌入動態(tài)文本于HTML頁面。2、對瀏覽器事件做出響應(yīng)。3、讀寫HTML元素。4、在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)。5、檢測訪客的瀏覽器信息。6、控制cookies,包括創(chuàng)建和修改等。7、基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。

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

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

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

我嘗試著用JavaScript做了一個類似的練習(xí),以下是我用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 = { 
"楊忠科": ["楊忠科的視頻", "楊忠科的微博", "楊忠科的郵箱"],
"楊": ["楊利偉", "楊振宇", "楊過"],
"楊忠": ["楊忠科", "楊忠學(xué)", "楊忠愛國"],
"楊忠科愛":["楊忠科愛祖國","楊忠科愛首都","楊忠科愛學(xué)習(xí)"]
};
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)建一個可以存文本的標(biāo)簽
var pObj = document.createElement('p');
pObj.innerText = keyWords[this.value][i];
//p標(biāo)簽要有小手,還有高亮顯示
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標(biāo)簽加到層中
}
//創(chuàng)建可以顯示文件的標(biāo)簽
}
}
//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=""  id="txt"/>百度一下
</body>
</html>

效果展示:

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

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

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

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

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

看完了這篇文章,相信你對“JS如何實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站bm7419.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

當(dāng)前題目:JS如何實(shí)現(xiàn)搜索關(guān)鍵詞的智能提示功能-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article36/dsdisg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、響應(yīng)式網(wǎng)站、企業(yè)網(wǎng)站制作、App開發(fā)網(wǎng)站設(shè)計(jì)、做網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司