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 相关文章推荐
javascript 弹出的窗口返回值给父窗口具体实现
Nov 23 Javascript
node.js中的console.timeEnd方法使用说明
Dec 09 Javascript
jQuery获取页面元素绝对与相对位置的方法
Jun 10 Javascript
jquery实现漂亮的二级下拉菜单代码
Aug 26 Javascript
深入分析jQuery的ready函数是如何工作的(工作原理)
Dec 17 Javascript
jQuery设置Easyui校验规则(推荐)
Nov 21 Javascript
javascript显示系统当前时间代码
Dec 29 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
vuex中使用对象展开运算符的示例
Sep 25 Javascript
如何选择适合你的JavaScript框架
Nov 20 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
Nov 08 Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 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入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
Codeigniter操作数据库表的优化写法总结
2014/06/12 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
php浏览历史记录的方法
2015/03/10 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
2020/02/27 PHP
改变javascript函数内部this指针指向的三种方法
2010/04/23 Javascript
关于可运行代码无法正常执行的使用说明
2010/05/13 Javascript
浏览器解析js生成的html出现样式问题的解决方法
2012/04/16 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
2015/06/03 Javascript
用原生js做单页应用
2017/01/17 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[01:30:54]《加油DOTA》 第三期
2014/08/18 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
简单介绍Python中的filter和lambda函数的使用
2015/04/07 Python
Python中获取对象信息的方法
2015/04/27 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
python requests模拟登陆github的实现方法
2019/12/26 Python
Python unittest单元测试框架及断言方法
2020/04/15 Python
解决运行出现'dict' object has no attribute 'has_key'问题
2020/07/15 Python
Python读取Excel一列并计算所有对象出现次数的方法
2020/09/04 Python
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
教师自我评价范文
2013/12/16 职场文书
医学生个人求职信范文
2014/02/07 职场文书
2014年信用社工作总结
2014/11/25 职场文书
质量保证书格式模板
2015/02/27 职场文书
2015年乡镇环保工作总结
2015/04/22 职场文书
Java如何实现通过键盘输入一个数组
2022/02/15 Java/Android
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python