百度搜索案例
阿新 • • 發佈:2018-12-16
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>百度搜索</title>
<style>
#box{
position: absolute;
left: 50%;
margin-left: -200px;
top: 200px;
}
#txt{
width: 300px;
height: 20px;
}
</style>
</head>
<body>
<div id="box">
<input type="text" id="txt" value="">
<input type="button" value="搜尋" id="btn">
</div>
<script src="../案例分析/common.js"></script>
<script>
function $(id) {
return document.getElementById(id)
}
//設定元素的文字內容 ,element為任意元素 ,text為任意文字內容
// function setInnerText(element,text) {
// if(typeof element.textContent === 'undefined'){
// element.innerText = text;
// }else{
// element.textContent = text;
// }
//
// }
var keywords = ['胡哥小浪漫','清除我','夏至未至','小樣的一切',
'縫紉下u先','凡人修仙傳','胡哥','胡歌','呼籲','胡戈','胡下'
];
//獲取文字框的註冊鍵盤擡起事件
$('txt').onkeyup = function () {
//每一次鍵盤擡起都判斷頁面中有沒有這個div
if($('dv')){
//有進行刪除
$('box').removeChild($('dv'));//因為會重新進行建立
}
//獲取文字框輸入的內容
var text = this.value;
var tempArr = [];//臨時陣列--空陣列--存放對應的資料
//把文字框的輸入的內容與陣列中的每個資料進行對比
for(var i=0;i<keywords.length;i++){
if(keywords[i].indexOf(text) === 0){ //判斷每個字串的第一個字元是否與輸入的字串相同
tempArr.push(keywords[i]); //把字串進行追加到陣列當中
}
}
console.log(tempArr.length);
console.log(tempArr);
//遍歷臨時陣列,建立div
//如果臨時陣列和文字框是空的,不用建立div
if(this.value.length === 0||tempArr.length ===0){ //當文字框什麼都沒有,而且臨時陣列也為空
//如果頁面中有div,刪除div
if($('dv')){ //判斷頁面中是否有這個div
$('box').removeChild($('dv'));
}
return;//由於這是函式,用return 後面的事件不再繼續進行
}
var objDiv = document.createElement('div');
$('box').appendChild(objDiv);//把div加入到box
objDiv.id = 'dv';
objDiv.style.width = '300px';
//objDiv.style.height = '200px';
objDiv.style.border = '1px green solid';
//迴圈遍歷臨時陣列,建立對應的p標籤
for(var i=0;i<tempArr.length;i++){
var pObj = document.createElement('p');
objDiv.appendChild(pObj);
setInnerText(pObj,tempArr[i]);//給p標籤加入文字內容
pObj.style.margin = '0';
pObj.style.padding = '0';
pObj.style.cursor = 'pointer';
pObj.style.marginTop = '5px';
pObj.style.marginLeft = '5px';
//createDiv();
//滑鼠進入
pObj.onmouseover = function () {
this.style.backgroundColor = 'red';
}
//滑鼠移出
pObj.onmouseout = function () {
this.style.backgroundColor = ''
}
}
}
</script>
</body>
</html>