Utilisez Vue pour appeler l'interface de recherche de Baidu afin d'implémenter une fonction de recherche simple. Cet article présente principalement l'utilisation de Bootrap et Vue pour implémenter des fonctions de recherche de type Baidu. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer.
Le style du champ de recherche est basé sur Bootstrap. Bien entendu, le style a été simplement ajusté pour le rendre similaire à la recherche Baidu. Le code est le suivant
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>百度搜索</title> <style type="text/css"> .gray{ background-color: #eee; } .listyle{ font-size: 16px; line-height: 35px; padding-left: 16px; } .ulstyle{ border:1px solid #ccc; border-top: none; } </style> <link rel="stylesheet" type="text/css" href="bootstrap.min.css" rel="external nofollow" > <script type="text/javascript" src="vue.js"></script> <script type="text/javascript" src="vue-resource.js"></script> <script type="text/javascript"> window.onload = function(){ new Vue({ el: ".container", data: { myData:[], txt:"", nowIndex:-1 }, methods:{ get:function(event){ if(event.keyCode==38 || event.keyCode==40){ return; } if(event.keyCode==13){ window.open("https://www.baidu.com/s?wd="+this.txt); this.txt=""; } this.$http.jsonp("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",{ wd:this.txt },{ jsonp:"cb" }).then(function(res){ this.myData=res.data.s },function(res){ alert(res.status); }); }, changeDown:function(){ this.nowIndex++; if(this.nowIndex==this.myData.length){ this.nowIndex=0; this.txt=this.myData[0]; }else{ this.txt=this.myData[this.nowIndex]; } }, changeUp:function(){ this.nowIndex--; if(this.nowIndex==-1){ this.nowIndex=this.myData.length-1; this.txt=this.myData[this.nowIndex]; }else{ this.txt=this.myData[this.nowIndex]; } }, mouseOver:function(n){ this.nowIndex=n; this.txt=this.myData[this.nowIndex]; }, getMsg:function(){ window.open("https://www.baidu.com/s?wd="+this.txt); this.txt=""; } } }); } </script> </head> <body> <br> <p class="container"> <p class="input-group"> <input type="text" class="form-control input-lg" placeholder="请输入关键字" v-model="txt" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up="changeUp()"> <span class="input-group-btn"> <button class="btn btn-default btn-lg" type="button" @click="getMsg()">搜索</button> </span> </p> <ul class="list-unstyled ulstyle" v-show="myData.length!=0"> <li v-for="item in myData" :class={gray:$index==nowIndex,listyle:true} @mouseover="mouseOver($index)" @click="getMsg()">{{item}}</li> </ul> </p> </body> </html>
L'effet est le suivant
Tout le monde l'a appris ? Dépêchez-vous et essayez-le.
Recommandations associées :
Comment jQuery implémente la fonction de recherche frontale
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!