前端之家收集整理的这篇文章主要介绍了
JS 实现百度搜索功能,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
今天我们来用JS实现百度搜索功能,下面上代码:
HTML部分:
<
Meta charset="UTF-8">
nofollow" type="image/x-icon"/>
百度一下,你就知道
CSS层叠样式部分:
自带样式*/
margin: 0;
padding: 0;
/*background-repeat: no-repeat;*/
min-width: 1200px;
}
.
Box{/*最大的盒子*/
width: 100%;
height: 100%;
/*background: yellow;*/
/*height: 636px;*/
}
.
Box_log{/*log盒子*/
width: 100%;
height: 250px;
text-align: center;
}
.
Box_log_img{
margin:0 auto;
width: 300px;
height: 150px;
}
.
Box_log img{
width: 300px;
height: 150px;
margin-top: 38px;
margin-bottom: 19px;
}
.
Box_text{/*text
搜索框盒子大小*/
width: 100%;
height: 36px;
}
.
Box_text_content{
width: 640px;
height: 36px;
margin: 0 auto;
}
text{ /input框的样式/
width: 540px;
height: 36px;
Box-sizing: border-Box;
margin-top: 3px;
text-indent: 4px;
outline: none;
}
.log_img{/input框中的小相机/
position: absolute;
left: 62%;
top: 35.5%;
}
btn{ /按钮的样式/
width: 100px;
height: 36px;
background: #3385FF;
border: 0px;
letter-spacing: 1px;
color: white;
margin-left: -5px;
font-size: 15px;
Box-sizing: border-Box;
transform: translateY(1.5px);
Box-sizing: border-Box;
}
btn:hover{ /当按钮hover的样式/
cursor: pointer;
}
search{ /搜索框的样式/
width: 540px;
margin: 0;
padding: 0;
list-style: none;
display: none;
border: 1px solid #E3E5E4;
}
search li{ /搜索框li的大小颜色/
line-height: 36px;
background: white;
}
search li:hover{ /当li hover的样式/
background: #F0F0F0;
}
.li1{ /li中的值缩进/
text-indent: 4px;
}
JS部分:
获取input框
ose = document.querySelector("#search"); //通过类名选择器 选择到search框
lis = document.getElementsByClassName("li1"); //
获取所有的li
otext.onkeyup = function(){ //当在input框中
键盘弹起发生事件
ose.style.display = otext.value?"block":"none"; /*三目运算符,如果otext.value的值部位空,则block。*/
var osc = document.createElement("script"); /*创建一个script
标签*/
osc.src = "https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+otext.value+"&cb=houxiaowei";
/*srcipt的src值引入
百度的url,然后将otext文本框中输入的
内容连接到url,在后面在运行自己的
方法*/
document.body.appendChild(osc);
/*将创建好的script
标签元素放入body中*/
/*input框中按下回车根据input的值@R_465_
404@面*/
if(event.keyCode==13){
/*将
百度作为连接,传入input的值,并跳入新的
页面*/
window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext.value
}
}
var count = 0;
var search = 0;
var arr = ose.children; /*
获取ose下的所有li*/
function houxiaowei(json){
var jsonLength = 0; /*json长度的初始值*/
// console.log(json.s);
for(var x in json.s){ /*将循环的
次数变成json的长度*/
jsonLength++;
}
// console.log(jsonLength);
for(var i=0;i
显示在input框中*/
function iptShow(thisId){
otext.value = arr[thisId].innerHTML;
window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext.value
}
otext.onclick = function(e){
ose.style.display = "block";
var e = event || window.event;
e.stopPropagation(); //阻止冒泡事件,除了IE8及以下不兼容,其他浏览器都兼容
e.cancelBubble=true; //阻止冒泡事件,IE8及以下兼容
// alert(e);
}
/*单击body中的任意地方隐藏li*/
document.body.onclick = function(){
ose.style.display = "none";
}
/*单击百度btn的时候触发,并跳到新的连接*/
var btn = document.querySelector("#btn");
cookies = [];
btn.onclick = function(){
/*获取当前input的值*/
var otext = document.getElementById("text").value;
/*将百度作为连接,并跳入新的页面*/
if(otext=="" || otext==null){
window.location.href = "http://127.0.0.1:8020/%E7%99%BE%E5%BA%A6/%E7%99%BE%E5%BA%A6%E9%A6%96%E9%A1%B5.html?__hbt=1516599867084";
}else{
window.location.href = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd="+otext
}
}
/*加载页面input为空*/
function onloads(){
var s = otext.value = null;
$myId("text").focus();
}
function randomBack(){
var randomBk = parseInt(Math.random()*545);
document.body.style.background = "url(https://ss3.bdstatic.com/lPoZeXSm1A5BphGlnYG/skin/"+randomBk+".jpg?2)";
document.body.style.backgroundSize = "100%";
}‘“
搜索功能的实现源于百度的 https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+otext.value+"&cb=houxiaowei,这个链接,其中”wd”的值为input框中需要搜索的值,它会返回一个json对象。&cb的值是一个方法或者是函数,它用来将json中的值提取出来放入li中。
总结
以上所述是小编给大家介绍的JS 实现百度搜索功能。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/js/33911.html