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 相关文章推荐
js操作textarea方法集合封装(兼容IE,firefox)
Feb 22 Javascript
js给dropdownlist添加选项的小例子
Mar 04 Javascript
JavaScript输入邮箱自动提示实例代码
Jan 13 Javascript
js中使用replace方法完成某个字符的转换
Aug 20 Javascript
js轮播图无缝滚动效果
Jun 17 Javascript
BootStrap入门学习第一篇
Aug 28 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
jQuery实现的简单获取索引功能示例
Jun 04 jQuery
手写Vue弹窗Modal的实现代码
Sep 11 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
关于小程序优化的一些建议(小结)
Dec 10 Javascript
浅谈 JavaScript 沙箱Sandbox
Nov 02 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
用Socket发送电子邮件
2006/10/09 PHP
杏林同学录(二)
2006/10/09 PHP
PHP 已经成熟
2006/12/04 PHP
PHP下一个非常全面获取图象信息的函数
2008/11/20 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
jQuery中将函数赋值给变量的调用方法
2012/03/23 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
jQuery的3种请求方式$.post,$.get,$.getJSON
2014/03/28 Javascript
jQuery蓝色风格滑动导航栏代码分享
2015/08/19 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
Vue 父子组件的数据传递、修改和更新方法
2018/03/01 Javascript
js数组去重的N种方法(小结)
2018/06/07 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
详解react-refetch的使用小例子
2019/02/15 Javascript
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
js prototype深入理解及应用实例分析
2019/11/25 Javascript
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
基于python(urlparse)模板的使用方法总结
2017/10/13 Python
Python基于百度AI的文字识别的示例
2018/04/21 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python实现AES加密解密
2019/03/28 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
pycharm快捷键汇总
2020/02/14 Python
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
考试没考好检讨书
2014/01/31 职场文书
大学生毕业求职自荐书范文
2014/02/04 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
中介业务员岗位职责
2014/04/09 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
社区植树节活动总结
2015/02/06 职场文书
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL