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 相关文章推荐
单独使用CKFinder选择图片的方法
Aug 21 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
超棒的响应式布局jQuery插件Freetile.js
Nov 17 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
Nov 20 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
走进AngularJs之过滤器(filter)详解
Feb 17 Javascript
浅谈js中function的参数默认值
Feb 20 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
Nov 22 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
vue实现表格过滤功能
Sep 27 Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 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文件夹的创建与删除方法
2015/01/24 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
Laravel 的数据库迁移的方法
2017/07/31 PHP
javascript 屏蔽鼠标键盘的几段代码
2008/01/02 Javascript
Json对象与Json字符串互转(4种转换方式)
2013/03/27 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
JavaScript中的small()方法使用详解
2015/06/08 Javascript
详解JavaScript中setSeconds()方法的使用
2015/06/11 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
微信小程序  http请求封装详解及实例代码
2017/02/15 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
JavaScript正则表达式校验与递归函数实际应用实例解析
2017/08/04 Javascript
详解vuex 渐进式教程实例代码
2018/11/27 Javascript
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
简单上手Python中装饰器的使用
2015/07/12 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
Python机器学习之scikit-learn库中KNN算法的封装与使用方法
2018/12/14 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
python把转列表为集合的方法
2019/06/28 Python
python Django中models进行模糊查询的示例
2019/07/18 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
Python在OpenCV里实现极坐标变换功能
2019/09/02 Python
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
财务会计人员求职的自我评价
2014/01/13 职场文书
社会公德演讲稿
2014/05/20 职场文书
学生安全责任书模板
2014/07/25 职场文书
大学生考试作弊被抓检讨书
2014/12/27 职场文书
2015年护士节活动总结
2015/02/10 职场文书
庆七一活动简报
2015/07/20 职场文书
2016五一手机促销广告语
2016/01/28 职场文书
古诗之感恩老师
2019/10/24 职场文书
Redis基本数据类型Set常用操作命令
2022/06/01 Redis