JavaScript實(shí)現(xiàn)百度搜索框效果
,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
最近做了個(gè)百度搜索框今天給大家分享下。
效果:
1.當(dāng)進(jìn)入界面時(shí),自動(dòng)調(diào)用方法,獲取當(dāng)前的時(shí)間,并且實(shí)時(shí)更新時(shí)間。
2.點(diǎn)擊頁面頭部的換膚,自動(dòng)更換背景圖片
3.鼠標(biāo)點(diǎn)擊搜索框的時(shí)候自動(dòng)顯示用戶上次搜索的內(nèi)容,
4.當(dāng)鼠標(biāo)放在用戶上次搜索的內(nèi)容的時(shí)候搜索框的內(nèi)容變成鼠標(biāo)懸浮的內(nèi)容上
5.在搜索框中按回車的時(shí)候自動(dòng)錄入為上次輸入的內(nèi)容中,若本次內(nèi)容和上次內(nèi)容相同則不顯示
6.點(diǎn)擊百度一下按鈕自動(dòng)錄入搜索框中的內(nèi)容為上次搜索的內(nèi)容
界面:
界面html代碼:
css代碼:
*{margin: 0;padding: 0;} body,html{width: 100%;height: 636px;background: url('../img/bj2.jpg') no-repeat;background-size:100% 100% } .nav{width: 100%;height: 32px;background:rgba(0,0,0,0.3);padding-right:20px;padding-left:20px;box-sizing: border-box } .nav .left{list-style: none;float: left} .nav .left li{color:white;line-height: 32px;margin-right: 12px;font-size: 13px;float: left;} .nav .left li a{color:white;} .nav .left li a:hover{cursor: pointer} .nav .right{list-style: none;float: right;} .nav .right li a{color:white;line-height: 32px;margin-left: 12px;font-size: 13px;opacity:1;} .nav .right li{float: left;} #logo{margin: 0px auto;display: block;} .baidu_box{width: 646px;height: 44px;margin:0 auto;position: relative;margin-top: 20px; } .baidu_box #seek{height: 40px;width: 538px;float: left;text-indent: 0.6em;font-size: 16px;} .baidu_box #baidu{width: 104px;height: 44px;float: left;line-height: 44px;font-size:16px;text-align: center;background: url('../img/an_bg.jpg') no-repeat;background-size: 100% 100%;} .baidu_box #baidu:hover{cursor: pointer} .baidu_box .icon{position: absolute;top: 12px;left: 490px;} .baidu_box .icon:hover{cursor: pointer} .baidu_box ul{width: 541px;float: left;display: none;} .baidu_box ul p{width: 542px;line-height: 40px;list-style: none;display: none;text-indent: 0.6em;background: white} .baidu_box ul p:hover{cursor: pointer;background: url('../img/an_bg.jpg') no-repeat;background-size: 100% 100%;} .buttom{margin: 0 auto;width: 500px;height: 40px;margin-top:210px;} .buttom li {list-style: none;float: left;margin-left: 20px;} .buttom li a {line-height: 40px;color: #525252;}
js代碼:
//百度搜索框 var baidu = document.getElementById('baidu'); //獲取百度按鈕名字 var seekArray = new Array (); //創(chuàng)建新數(shù)組;用來存放用戶上一次搜索的問題 var seek = document.getElementById('seek'); //獲取百度搜索框 var p = document.getElementsByTagName('p'); //獲取下拉標(biāo)簽 baidu.onclick = baiDu;//給百度按鈕創(chuàng)建onclick事件 function baiDu(){ var seeked = seek.value; //獲取用戶在搜索框中搜索的內(nèi)容 if((seeked != seekArray[0]) && (seeked != seekArray[1])){ //判斷數(shù)組內(nèi)不能出現(xiàn)重復(fù)的值,若重復(fù)則不能添加到數(shù)組中 seekArray.unshift(seeked); //將用戶添加的內(nèi)容放入到新創(chuàng)建的內(nèi)數(shù)組中 } seekArray.length = 3; //將數(shù)組的長度定死為3 ;即顯示搜索框顯示的內(nèi)容就是為3 for(var x=0;x<seekArray.length;x++){ //將數(shù)組中的東西放入到我們的搜索框下菜單中 if((seekArray[x] != undefined)){ //判斷用戶上次搜索的東西,假如為空就不顯示 p[x].innerHTML = seekArray[x]; } } } //搜索框獲焦/失焦的狀態(tài) seek.onfocus = function(){ for(var x of p){ x.style.display = 'block'; } p[0].parentNode.style.display = 'block'; // } seek.onblur = function(){ p[0].parentNode.style.display = 'none'; for(var x of p){ x.style.display = 'none'; } } seek.onkeydown = function(Ent){ // console.log(baiDu); if(Ent.keyCode == 13){ //當(dāng)在input框中敲回車的時(shí)候 baiDu(); //觸發(fā)baiDu() } } //點(diǎn)擊用戶搜索過的新聞搜索框直接顯示 for(var x of p){ x.onmouseover = look ; //遍歷所有的li并且給每個(gè)li添加鼠標(biāo)懸浮事件 } function look(){ seek.value = this.innerHTML; } //獲取當(dāng)前時(shí)間 function dates(){ var now = document.getElementById('sj'); var time = new Date; var hour = time.getHours(); var mins = time.getMinutes(); if(parseInt(mins)<10){ mins = '0'+mins; } now.innerHTML = hour +':'+mins; } //點(diǎn)擊換背景 var bg = document.getElementById('bg');//獲取id為dg的標(biāo)簽 bg.onclick = function bgImg(){ //給他添加點(diǎn)擊事件 var bo = document.getElementById('bo'); //獲取body var i = parseInt(Math.random()*7); //寫個(gè)隨機(jī)數(shù)字 bo.setAttribute("style","background:url('img/bj"+(i+1)+".jpg') no-repeat;background-size:100% 100%");//更改他的樣式 }
這就是我寫的百度搜索框,假如大家有啥不懂的,歡迎下邊留言!!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- js實(shí)現(xiàn)搜索框關(guān)鍵字智能匹配代碼
- 基于Vue.js實(shí)現(xiàn)簡單搜索框
- JavaScript實(shí)現(xiàn)搜索框的自動(dòng)完成功能(一)
- JS實(shí)現(xiàn)仿google、百度搜索框輸入信息智能提示的實(shí)現(xiàn)方法
- JS+Ajax實(shí)現(xiàn)百度智能搜索框
- 自動(dòng)完成的搜索框javascript實(shí)現(xiàn)
- JS實(shí)現(xiàn)京東首頁之頁面頂部、Logo和搜索框功能
- JS實(shí)現(xiàn)微信彈出搜索框 多條件查詢功能
- javascript搜索框效果實(shí)現(xiàn)方法
- JavaScript仿京東搜索框?qū)嵗?/a>
相關(guān)文章
JS實(shí)現(xiàn)進(jìn)度條順滑版詳細(xì)方案
最近在小程序里,做了一個(gè)類似微博刷視頻的需求,其中有一部分功能需要實(shí)現(xiàn)自定義進(jìn)度條,在做完第一版之后發(fā)現(xiàn)進(jìn)度條不順滑,而后想查查網(wǎng)上看有沒有什么好的方案,但最終沒找到合適的。下面給大家分享JS進(jìn)度條順滑版實(shí)現(xiàn)代碼,需要的朋友參考下吧2021-08-08基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果
這篇文章主要為大家詳細(xì)介紹了基于iscroll.js實(shí)現(xiàn)下拉刷新和上拉加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11uniapp項(xiàng)目實(shí)踐自定義加載組件示例詳解
這篇文章主要為大家介紹了uniapp項(xiàng)目實(shí)踐自定義加載組件示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09js實(shí)現(xiàn)一個(gè)簡單的數(shù)字時(shí)鐘效果
本文主要介紹了js實(shí)現(xiàn)一個(gè)簡單的數(shù)字時(shí)鐘效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-03-03