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 相关文章推荐
基于jquery的拖动布局插件
Nov 25 Javascript
jQuery 图片切换插件(代码比较少)
May 07 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
网页前端优化之滚动延时加载图片示例
Jul 13 Javascript
SOSO地图JS画出标注和中心点以html形式运行
Aug 09 Javascript
jquery css 设置table的奇偶行背景色示例
Jun 03 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
基于js对象,操作属性、方法详解
Aug 11 Javascript
详解在Angular项目中添加插件ng-bootstrap
Jul 04 Javascript
实现高性能javascript的注意事项
May 27 Javascript
Vue分页器实现原理详解
Jun 28 Javascript
JavaScript实现拖动对话框效果的实现代码
Oct 12 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
骨王战斗力在公会成员中排不进前五,却当选了会长,原因竟是这样
2020/03/02 日漫
星际玩家的三大定律
2020/03/04 星际争霸
世界咖啡生产者论坛呼吁:需要立即就咖啡价格采取认真行动
2021/03/06 咖啡文化
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
javascript 触发事件列表 比较不错
2009/09/03 Javascript
Jquery倒数计时按钮setTimeout的实例代码
2013/07/04 Javascript
如何获取select下拉框的值(option没有及有value属性)
2013/11/08 Javascript
浅析用prototype定义自己的方法
2013/11/14 Javascript
javascript实现简单的页面右下角提示信息框
2015/07/31 Javascript
微信小程序 progress组件详解及实例代码
2016/10/25 Javascript
微信小程序侧边栏滑动特效(左右滑动)
2017/01/23 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
Node.js爬虫如何获取天气和每日问候详解
2019/08/26 Javascript
vue中更改数组中属性,在页面中不生效的解决方法
2019/10/30 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python利用elaphe制作二维条形码实现代码
2012/05/25 Python
Python base64编码解码实例
2015/06/21 Python
python 获取网页编码方式实现代码
2017/03/11 Python
python print 按逗号或空格分隔的方法
2018/05/02 Python
目前最全的python的就业方向
2018/06/05 Python
简单了解python中对象的取反运算符
2019/07/01 Python
Django REST框架创建一个简单的Api实例讲解
2019/11/05 Python
python游戏开发的五个案例分享
2020/03/09 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
一年级家长会邀请函
2014/01/25 职场文书
党员先锋岗事迹材料
2014/05/08 职场文书
爱国主义主题班会
2015/08/14 职场文书
大学生志愿者心得体会
2016/01/15 职场文书
CSS实现多个元素在盒子内两端对齐效果
2021/03/30 HTML / CSS
mapstruct的用法之qualifiedByName示例详解
2022/04/06 Java/Android
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers