weex slider实现滑动底部导航功能


Posted in Javascript onAugust 28, 2017

本文实例为大家分享了weex slider实现滑动底部导航功能的具体代码,供大家参考,具体内容如下

先看效果图

weex slider实现滑动底部导航功能

这里主要是使用了weex 的 slider 实现了可以滑动的底部导航框架

这里最主要的几个方法,如果光是看weex的官方文档,可能很痛苦,因为有一些功能虽然代码里已经写好,但是他并没有写出来,希望官方的文档能够尽快的完善起来

实现这样的功能,首先是一个slider的用法,这个官方文档是用这个来给大家做轮播图的。

首先我们不能设置自动播放ok了(直接不复制就ok了)
第二我们需要能够捕获到滚动到哪一页的索引,这个值需要用来设置下面的当前tab(监听slider的change 方法)
第三我们需要通过外部js去设置slider的当前页面,譬如我们点击第二个tab,我们需要把显示的index 设置为1(index是从0开始的)官方文档目前并没有给出这块的解释

那么下面我们通过源码挖掘,我们知道slider其实可以有一个属性 :index
这个就是当前的索引了,那么我们需要设置这个索引,只要去改变这个对应得index 的值就可以了

那么这里就上代码了(文中所有的图片是去assets 文件夹取得图片,并非本地图片,所以需要自己放一些图片到assets目录)

<template>
 <div :style="{height:`${totalheight}px`}">
 <slider style="flex:1;" @change="onchange" :index="page">
 <div class="frame" v-for="img in imageList">
 <image class="image" resize="cover" :src="img.src"></image>
 <text class="contenttext">这是第{{page+1}}页</text>
 </div>
 </slider>
 <text style="background-color:gray;height:2px;bottom:100px;"/>
 <div class="nav">
 <div class="link" @click="changepage(0)">
 <image id="image1" v-bind:src="src1" class="logo"></image>
 <text class="title" :style="{color:page === 0?'#00BBE4':'gray'}">首页{{pathchanged}}</text>
 </div>
 <div class="link" @click="changepage(1)">
 <image v-bind:src="src2" class="logo"></image>
 <text class="title" :style="{color:page === 1?'#00BBE4':'gray'}">分类</text>
 </div>
 <div class="link" @click="changepage(2)">
 <image v-bind:src="src3" class="logo"></image> 
 <text class="title" :style="{color:page === 2?'#00BBE4':'gray'}">我的</text>
 </div>
 </div>
 </div>
</template>
<style scoped>
 .image {
 width: 750px;
 height: 700px;
 }
 .slider {
 width: 750px;
 height: 700px;
 border-width: 2px;
 border-style: solid;
 border-color: #41B883;
 }
 .frame {
 width: 750px;
 height: 700px;
 position: relative;
 }
 .logo {
 position: relative;
 width: 45px;
 height: 45px;
 }
 .nav {
 position: absolute;
 width: 750px;
 bottom: 0px;
 flex-direction: row;
 flex-wrap: nowrap;
 justify-content: space-between;
 align-items: center;
 }
 .link {
 width: 162.5px;
 flex-shrink: 1;
 text-align: center;
 margin:0 auto;
 padding: 3px;
 align-items: center;
 }
 .title {
 font-size: 25px;
 line-height: 35px;
 text-align: center;
 top: 5px;
 }
 .contenttext {
 font-size: 32px;
 line-height: 35px;
 text-align: center;
 top: 25px;
 color: 38px;
 color: red;
 } 
</style>
<script>
 export default {
 data () {
 return {
 page:0,
 imageList: [
  { src: 'https://gd2.alicdn.com/bao/uploaded/i2/T14H1LFwBcXXXXXXXX_!!0-item_pic.jpg'},
  { src: 'https://gd1.alicdn.com/bao/uploaded/i1/TB1PXJCJFXXXXciXFXXXXXXXXXX_!!0-item_pic.jpg'},
  { src: 'https://gd3.alicdn.com/bao/uploaded/i3/TB1x6hYLXXXXXazXVXXXXXXXXXX_!!0-item_pic.jpg'}
 ],
 src1: "../../../assets/home_btn_home_s.png",
 src2: "../../../assets/home_btn_rent.png",
 src3: "../../../assets/cut.png"
 }
 },
 methods:{
 onchange(evtValue){
  this.page=evtValue.index 
 },
 changepage(page){
 this.page=page
 }
 },
 computed: {
 totalheight(){
 const height = 750/weex.config.env.deviceWidth*weex.config.env.deviceHeight 
 return height-180
 },
 pathchanged(){ 
  var self = this
  if(self.page === 0){
  self.src1 = "../../../assets/home_btn_home_s.png"
  self.src2 = "../../../assets/home_btn_rent.png"
  self.src3 = "../../../assets/cut.png"
  }else if(self.page === 1){
  self.src1 = "../../../assets/home_btn_home.png"
  self.src2 = "../../../assets/home_btn_rent_s.png"
  self.src3 = "../../../assets/cut.png"
  }else if(this.page === 2){
  self.src1 = "../../../assets/home_btn_home.png"
  self.src2 = "../../../assets/home_btn_rent.png"
  self.src3 = "../../../assets/cut_on.png"
  } 
 return ''
 } 
 }
 }
</script>

因为常常会遇到有同学问这块的东西,所以就索性写一个,给大家参考使用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS+CSS实现一个气泡提示框
Aug 18 Javascript
前端必备神器 Snap.svg 弹动效果
Nov 10 Javascript
浅谈JavaScript数据类型及转换
Feb 28 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
Aug 31 Javascript
jQuery实现带延迟的二级tab切换下拉列表效果
Sep 01 Javascript
基于JavaScript代码实现随机漂浮图片广告
Jan 05 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
Mar 26 Javascript
Layui组件Table绑定行点击事件和获取行数据的方法
Aug 19 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
jQuery中DOM常见操作实例小结
Aug 01 jQuery
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
理解JavaScript中的对象
Aug 25 Javascript
js使用原型对象(prototype)需要注意的地方
Aug 28 #Javascript
vue2.0移除或更改的一些东西(移除index key)
Aug 28 #Javascript
详解基于Angular4+ server render(服务端渲染)开发教程
Aug 28 #Javascript
JS实现图片手风琴效果
Apr 17 #Javascript
vue服务端渲染的实例代码
Aug 28 #Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 #jQuery
使用react-router4.0实现重定向和404功能的方法
Aug 28 #Javascript
You might like
thinkphp常见路径用法分析
2014/12/02 PHP
php计算title标题相似比的方法
2015/07/29 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
PHP读书笔记整理_结构语句详解
2016/07/01 PHP
filters.revealTrans.Transition使用方法小结
2010/08/19 Javascript
validator验证控件使用代码
2010/11/23 Javascript
js String对象中常用方法小结(字符串操作)
2012/01/27 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
ReactJs快速入门教程(精华版)
2016/11/28 Javascript
AngularJS指令与控制器之间的交互功能示例
2016/12/14 Javascript
进阶之初探nodeJS
2017/01/24 NodeJs
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
js常用正则表达式集锦
2019/05/17 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
记录Django开发心得
2014/07/16 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
Python双向循环链表实现方法分析
2018/07/30 Python
Django添加sitemap的方法示例
2018/08/06 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
Pandas中resample方法详解
2019/07/02 Python
Jupyter Notebook输出矢量图实例
2020/04/14 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
python的help函数如何使用
2020/06/11 Python
Python bisect模块原理及常见实例
2020/06/17 Python
Python内置函数及功能简介汇总
2020/10/13 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
工作睡觉检讨书
2014/02/25 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
授权委托书格式模板
2014/04/03 职场文书
临时用工协议书范本
2014/10/29 职场文书
宝葫芦的秘密观后感
2015/06/11 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
SqlServer数据库远程连接案例教程
2021/07/15 SQL Server