vue 搜索框header_vue实现百度搜索功能

本文实例为大家分享了vue实现百度搜索功能的具体代码,供大家参考,具体内容如下

最终效果:

Baidusearch.vue所有代码:

  • {{item}}

export default {

name: "Baidusearch",

data(){

return{

wd:'',//搜索的关键词

arr:[],//用于储存关键词的搜索词条

listIndex:-1//设置初始索引,数组从0开始,因此初始成-1

}

},

methods:{

//这个函数我们在input标签输入关键词的时候不断的给百度服务器发送请求获取搜索词条,并且不断的复制给data中的数组arr

keyup(event){

//如果我按的是上下键,那么就不发送请求了

console.log(event);

if(event.keyCode==38||event.keyCode==40||event.keyCode==13) return ;

var url="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su"

this.$http.jsonp(url,{

params:{

wd:this.wd

},

jsonp:'cb'

}).then(res=>{

console.log(res);

this.arr=res.data.s;//把百度服务器返回的数据传给arr数组

})

},

//监听鼠标的点击事件

//如果鼠标点击某一行的文字,则点击事件中的event.explicitOriginalTarget.data代表关键词

//如果点击某一行的空白处,则点击事件中的event.explicitOriginalTarget.innerText代表关键词

//大家可以通过console.log(event)来查看关键词所在的位置

click(event){

console.log(event);

if(event.explicitOriginalTarget.data!=undefined){

this.wd=event.explicitOriginalTarget.data;

window.open("https://www.baidu.com/s?wd="+this.wd);

}else if(event.explicitOriginalTarget.innerText!=undefined){

this.wd=event.explicitOriginalTarget.innerText;

window.open("https://www.baidu.com/s?wd="+this.wd);

}

},

//监听键盘的事件

//如果按down,则增加当前listIndex+1,因此arr[this.listIndex]就能代表当前的词条

//我们通过对listIndex的修改来得到当前词条在arr中的索引,然后就可以得到词条的具体信息,然后发送请求了

keydown(event){

console.log(event);

//下键:40 上键:38

if(event.keyCode==38){

//按的上键

this.listIndex--;

if(this.listIndex<0){

this.listIndex=this.arr.length-1;

}

this.wd=this.arr[this.listIndex];

}

else if(event.keyCode==40){

//说明你按的是下键

this.listIndex++;

if(this.listIndex>this.arr.length-1){

this.listIndex=0;

}

this.wd=this.arr[this.listIndex];

}else if(event.keyCode==13){

//如果你按的是enter,那么就跳转到百度搜索结果

window.open("https://www.baidu.com/s?wd="+this.wd);

}

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值