JavaScript实现百度搜索框效果
前端之家 收集整理的这篇文章主要介绍了
JavaScript实现百度搜索框效果 ,
前端之家 小编觉得挺不错的,现在分享给大家,也给大家做个参考。
最近做了个百度 搜索 框今天给大家分享 下。
效果 :
1.当进入界面时,自动 调用 方法 ,获取 当前的时间,并且实时更新时间。
2.点击页面 头部的换肤,自动 更换背景图片
3.鼠标点击搜索 框的时候自动 显示 用户 上次搜索 的内容 ,
4.当鼠标放在用户 上次搜索 的内容 的时候搜索 框的内容 变成鼠标悬浮的内容 上
5.在搜索 框中按回车的时候自动 录入为上次输入的内容 中,若本次内容 和上次内容 相同则不显示
6.点击百度 一下按钮自动 录入搜索 框中的内容 为上次搜索 的内容
界面:
界面HTML代码 :
<
Meta charset="UTF-8">
百度 一下,你就知道
logo.png" alt="" id="
logo ">
Box">
百度一下
十九大后 习大大反腐不歇脚
张一山杨紫互怼
土耳其客机被吊起
css代码 :
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 (); //创建新数组;用来存放
用户 上一次
搜索 的问题
var seek = document.getElementById('seek'); //
获取 百度 搜索 框
var p = document.getElementsByTagName('p'); //
获取 下拉
标签
baidu.onclick = baiDu;//给
百度 按钮创建onclick事件
function baiDu(){
var seeked = seek.value; //
获取 用户 在
搜索 框中
搜索 的
内容
if((seeked != seekArray[0]) && (seeked != seekArray[1])){ //判断数组内不能出现重复的值,若重复则不能
添加 到数组中
seekArray.unshift(seeked); //将
用户 添加 的
内容 放入到新创建的内数组中
}
seekArray.length = 3; //将数组的长度定死为3 ;即
显示 搜索 框
显示 的
内容 就是为3
for(var x=0;x
搜索框下菜单 中
if((seekArray[x] != undefined)){ //判断用户 上次搜索 的东西,假如为空就不显示
p[x].innerHTML = seekArray[x];
}
}
}
//搜索 框获焦/失焦的状态
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){ //当在input框中敲回车的时候
baiDu(); //触发baiDu()
}
}
//点击用户 搜索 过的新闻搜索 框直接显示
for(var x of p){
x.onmouSEO ver = look ; //遍历所有的li并且给每个li添加 鼠标悬浮事件
}
function look(){
seek.value = this.innerHTML;
}
//获取 当前时间
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;
}
//点击换背景
var bg = document.getElementById('bg');//获取 id为dg的标签
bg.onclick = function bgImg(){ //给他添加 点击事件
var bo = document.getElementById('bo'); //获取 body
var i = parseInt(Math.random()*7); //写个随机 数字
bo.setAttribute("style","background:url('img/bj"+(i+1)+".jpg') no-repeat;background-size:100% 100%");//更改他的样式
}
这就是我写的百度 搜索 框,假如大家有啥不懂的,欢迎下边留言!!
以上就是本文的全部内容 ,希望对大家的学习有所帮助,也希望大家多多支持 编程之家。