Vue 仿百度搜索功能实现代码


Posted in Javascript onFebruary 16, 2017

无上下选择

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>jsonp</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black">
 <script src="../js/Vue.js"></script>
 <script src="../js/vue-resource.js"></script>
 <script>
  window.onload = function(){
   var vm = new Vue({
    el:'#box',
    data:{
     myData:[],
     t1:''
    },
    methods:{
     get:function(){
      this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
       wd:this.t1
      },{
       jsonp:'cb'
      }).then(function(res){
       this.myData=res.data.s
      },function(){
      });
     }
    }
   });
  }
 </script>
</head>
<body>
<div id="box">
 <input type="text" v-model="t1" @keyup="get()">
 <ul>
  <li v-for="value in myData">{{value}}</li>
 </ul>
 <p v-show="myData.length==0">暂无数据...</p>
</div>
</body>
</html>

加上上下选择

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>jsonp</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
 <meta name="apple-mobile-web-app-capable" content="yes">
 <meta name="apple-mobile-web-app-status-bar-style" content="black">
 <style>
  .gray{
   background: #ccc;
  }
 </style>
 <script src="../js/vue1.0.js"></script>
 <script src="../js/vue-resource.js"></script>
 <script>
  window.onload=function(){
   new Vue({
    el:'body',
    data:{
     myData:[],
     t1:'',
     now:-1
    },
    methods:{
     get:function(ev){
      if(ev.keyCode==38||ev.keyCode==40){
       return;
      }
      if(ev.keyCode==13){
       window.open('https://www.baidu.com/s?wd='+this.t1);
       this.t1='';
      }
      this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su',{
       wd:this.t1
      },{
       jsonp:'cb'
      }).then(function(res){
       this.myData=res.data.s;
      },function(){
      });
     },
     changeDown:function(){
      this.now++;
      if(this.now==this.myData.length)this.now=-1;
      this.t1=this.myData[this.now];
     },
     changeUp:function(){
      this.now--;
      if(this.now==-2)this.now=this.myData.length-1;
      this.t1=this.myData[this.now];
     }
    }
   });
  };
 </script>
</head>
<body>
<div id="box">
 <input type="text" v-model="t1" @keyup="get($event)" @keydown.down="changeDown()" @keydown.up.prevent="changeUp()">
 <ul>
  <li v-for="value in myData" :class="{gray:$index==now}">{{value}}</li>
 </ul>
 <p v-show="myData.length==0">暂无数据...</p>
</div>
</body>
</html>

以上所述是小编给大家介绍的Vue 仿百度搜索功能实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
namespace.js Javascript的命名空间库
Oct 11 Javascript
js仿百度贴吧验证码特效实例代码
Jan 16 Javascript
jQuery获取(选中)单选,复选框,下拉框中的值
Feb 21 Javascript
详解JavaScript中jQuery和Ajax以及JSONP的联合使用
Aug 13 Javascript
js实现遍历含有input的table实例
Dec 07 Javascript
详解JavaScript的闭包、IIFE、apply、函数与对象
Dec 21 Javascript
关于Javascript中document.cookie的使用
Mar 08 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
AngularJS常见过滤器用法实例总结
Jul 06 Javascript
学习Vue组件实例
Apr 28 Javascript
实例详解vue中的$root和$parent
Apr 29 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
javascript实现秒表计时器的制作方法
Feb 16 #Javascript
jQuery实现搜索页面关键字的功能
Feb 16 #Javascript
canvas时钟效果
Feb 16 #Javascript
支持移动端原生js轮播图
Feb 16 #Javascript
jQuery为DOM动态追加事件的方法
Feb 16 #Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 #Javascript
jq给页面添加覆盖层遮罩的实例
Feb 16 #Javascript
You might like
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
使用angularjs创建简单表格
2016/01/21 Javascript
购物车前端开发(jQuery和bootstrap3)
2016/08/27 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
[38:27]完美世界DOTA2联赛PWL S2 Forest vs FTD.C 第二场 11.26
2020/11/30 DOTA
Python中操作MySQL入门实例
2015/02/08 Python
python实现将pvr格式转换成pvr.ccz的方法
2015/04/28 Python
新手如何快速入门Python(菜鸟必看篇)
2017/06/10 Python
Python字符串拼接六种方法介绍
2017/12/18 Python
python使用sqlite3时游标使用方法
2018/03/13 Python
Python实现RGB与HSI颜色空间的互换方式
2019/11/27 Python
django在保存图像的同时压缩图像示例代码详解
2020/02/11 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
Spartoo荷兰:鞋子、包包和服装
2018/07/12 全球购物
Linux机考试题
2015/07/17 面试题
应届生服装设计自我评价
2013/09/20 职场文书
应聘自荐书
2013/10/08 职场文书
建筑班组长岗位职责
2014/01/02 职场文书
优秀学生事迹材料
2014/02/08 职场文书
村党支部公开承诺书
2014/05/29 职场文书
生日庆典策划方案
2014/06/02 职场文书
保护地球的标语
2014/06/17 职场文书
家长会标语
2014/06/24 职场文书
购房委托书范本
2014/09/18 职场文书
个人四风问题对照检查材料
2014/09/26 职场文书
婚内房产协议书范本
2014/10/02 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
2016年植树节红领巾广播稿
2015/12/17 职场文书
解决Vue+SpringBoot+Shiro跨域问题
2021/06/09 Vue.js