微信小程序中的scroll-view选项卡与跳转 一、

大多数的商城类小程序都有这个功能,点击“全部订单”,“待付款”,“待发货”,“待收货”,“已完成”,会跳转页面且跳至与之相对应的选项卡中。所以我们在开发该小程序时也做了相同的功能。如下图:


选项卡静态布局思路: 主要用到 scroll-view与 swiper标签,选项卡切换主要依靠 swiper 中的 current 属性,不懂请自行查看小程序API。

跳转页面且跳至与之相对应的选项卡思路:

首先在 app.js 中配置 globalData。

在“个人中心” js 文件中配置点击该项跳转至与之对应的 tab 的 index。

在“个人中心”跳转页面时通过 globalData 传递 index 给“全部订单”页面,“全部订单”页面通过 app.globalData.currentLocation 接受数据,改变选项卡的切换。


app.js 代码

...globalData: {

    userInfo: null

  }...


个人中心 js 代码

...var app = getApp()

var util = require('../../utils/util.js')

var formatLocation = util.formatLocation

Page({

  data: {

  },

  // 指定 全部订单 和 九宫格中按钮 点击跳转至 选项卡中 与之对应的tab

  allForm:function(){

    app.globalData.currentLocation = 0,

    wx.navigateTo({ url: '../orderForm/orderForm' })

  },

  noPay:function(){

    app.globalData.currentLocation = 1,

    wx.navigateTo({ url: '../orderForm/orderForm' }) 

  },

  noSend:function(){

    app.globalData.currentLocation = 2,

    wx.navigateTo({ url: '../orderForm/orderForm' })

  },

  sended:function(){

    app.globalData.currentLocation = 3,

    wx.navigateTo({ url: '../orderForm/orderForm' })

  },

  completed:function(){

    app.globalData.currentLocation = 4,

    wx.navigateTo({ url: '../orderForm/orderForm' })

  }

})

...

个人中心 wxss 代码 (样式可能会不全,需要引入weui.wxss文件)

.../*九宫格 */

.weui-grids{

  border-left: none;

}

.weui-grid{

  width: 25%;

  border: none;

  position: relative;

  padding:20px 10px 10px;

}

.weui-grid .weui-badge{

width: 12rpx;

height: 28rpx;

border-radius: 50%;

  position: absolute;

  right: 40rpx;

  top: 20rpx;

  background: #df0202;

}

/* list  */

.weui-cell__hd{

  margin-right: 30rpx;

  vertical-align: middle;

  width:20px;

  height: 20px;

}

.weui-cell__hd image{

  width: 50rpx;

  height: 50rpx;

}

.weui-cell__ft{

  color: #fff;

  background: #dd3838;

  border-radius: 20rpx;

  text-align: center;

  margin-right: 10rpx;

  padding: 0 5rpx;

}

.all{

    font-size: 30rpx;

}

...


全部订单 js 代码

...// 全部订单页

//获取应用实例

var app = getApp()

Page({

  /*** 页面的初始数据 */

  data: {

    // 选项卡

    winWidth: 0,

    winHeight: 0,

    // tab切换 

    currentTab: 0,

    // 商品内容数据

    carts: [

      { imgurl: '../../img/fen-2.jpg', type1: '【老酒特卖】45℃老白汾十年陈酿500ML(2008-2009)', type2: '清香型', price: 100, num: 1 },

      { imgurl: '../../img/fen-1.jpg', type1: '【老酒特卖】45℃老白汾十年陈酿500ML(2008-2009)', type2: '清香型', price: 100, num: 1 },

      { imgurl: '../../img/fen-2.jpg', type1: '【老酒特卖】45℃老白汾十年陈酿500ML(2008-2009)', type2: '清香型', price: 100, num: 1 },

      { imgurl: '../../img/fen-1.jpg', type1: '【老酒特卖】45℃老白汾十年陈酿500ML(2008-2009)', type2: '清香型', price: 100, num: 1 },

    ],

  },

  /** * 滑动切换tab  */

  bindChange: function (e) {

    var that = this;

    that.setData({ currentTab: e.detail.current });

  },

  /** * 点击tab切换  */

  swichNav: function (e) {

    var that = this;

    if (this.data.currentTab === e.target.dataset.current) {

      return false;

    } else {

      that.setData({

        currentTab: e.target.dataset.current

      })

    }

  },

  /*** 生命周期函数--监听页面加载*/

  onLoad: function (options) {

    var that = this;

    /** * 获取系统信息  */

    wx.getSystemInfo({

      success: function (res) {

        that.setData({

          clientHeight: res.windowHeight

        });

      }

    });

  },

  /*** 生命周期函数--监听页面显示*/

  onShow: function () {

    if (app.globalData.currentLocation == '') {

      this.setData({

        currentTab: 0

      });

    } else {

      var i = app.globalData.currentLocation;

      this.setData({

        currentTab: i

      });

    }

  }

})

...

  white-space: nowrap;

}

.scroll-view-item_H{

  display: inline-block;

  width: 20%;

  box-sizing: border-box;

}

.list-liu{

  width: 100%;

  height: 85rpx;

  position: fixed;

  left: 0;

  top: 0;

  z-index: 1;

  background: #fff;

  border: 1rpx solid #eee;

}

.on{

  color: #c80611;

}

.list-liu .swiper-tab-list{

  text-align: center;

  line-height: 85rpx;

  font-size: 34rpx;

}

.kong{

  width: 100%;

  height: 85rpx;

}

/*----------------------分割线-------------------  */

/*购物车 全部订单 我的收藏 浏览记录 样式  */

/* 列表 */

.list{width: 100%;background: #fff;margin-top:20rpx;display: flex;box-sizing: border-box;padding:10rpx 30rpx 10rpx 30rpx ;border-bottom: 1px solid #eee}

.carts-radio{flex: 1;line-height: 180rpx;text-align: center}/* 选项框 */

.pic{flex: 3;height: 180rpx;}

.pic image{width: 100%;height: 100%;}

.con{flex: 6;padding-left: 20rpx;padding-bottom: 20rpx;box-sizing: border-box}

view,text,block{

    font-family: "Microsoft Yahei"

}

/* 类型描述 */

.type1{

  padding-top: 10rpx;

  display: block;

  font-size: 30rpx;

  color: #323232;

  width:100%;

  overflow: hidden;

  text-overflow: ellipsis;

  display: -webkit-box;

  -webkit-line-clamp:2;

  -webkit-box-orient: vertical;

}

.type2{

  display: flex;

  font-size: 28rpx;

  color: #666;

  width:100%;

  padding-top: 20rpx;box-sizing: border-box

}

/* 数量 */

.num{

  width: 140rpx;

  height: 40rpx;

  border: 1px solid #eee;

  margin-top: 15rpx;

  background: #fff

}

.num2{

  float: left;

  width: 56rpx;

  line-height: 40rpx;

  text-align: center;

font-size: 28rpx;

color: #666666

}

.num1{float: left;

width: 40rpx;

height: 40rpx;

line-height: 40rpx;

text-align: center;

font-size: 36rpx;

padding: 0;

color: #4a4949;

border-right: 1px solid #eee;

}

.num3{

float: right;

width: 40rpx;

height: 40rpx;

line-height: 40rpx;

text-align: center;

font-size: 36rpx;

padding: 0;

margin: 0;

border-radius: 0px;

color: #4a4949;

border-left: 1px solid #eee;

}

/* 价格 */

.price{flex: 3;font-size: 30rpx;color: #c90211;box-sizing: border-box;position: relative}

.price1{position: absolute;right: 0;top: 0}

.number{position: absolute;right: 0;top: 40rpx}

/* 删除 */

.del{width: 50rpx;height: 50rpx;position: absolute;right: 0;bottom: 20rpx}

/*----------------------分割线-------------------  */

/**app.wxss**/

.container {

  height: 100%;

  display: flex;

  flex-direction: column;

  align-items: center;

  justify-content: space-between;

  padding: 200rpx 0;

  box-sizing: border-box;

}

/*----------------------分割线-------------------  */

/*首页商品类样式  */

.content{

  display: flex;

  flex-wrap:  wrap;

}

.content-1{

  width: 375rpx;

  /* height: 420rpx; */

  padding:20rpx 10rpx ;

  box-sizing: border-box;

  border-bottom: 2rpx solid #cccccc;

  border-right: 1rpx solid #cccccc;

}

.content-1 image{

  width: 374rpx;

  height: 252rpx;

  margin-left: -8rpx;

}

.content-1 .price .text-price{

  color: #b20000;

  font-size: 32rpx;

  font-weight: bold;

}

.content-1 .price .text-yj{

  color: #656565;

  font-size: 24rpx;

}

.content-1 .price .text-oldprice{

  text-decoration: line-through;

  color: #656565;

  font-size: 24rpx;

}

.content-1 .name .text-name{

  font-size: 28rpx;

  color: #323232;

}

.content-1 .dress{

  margin-top: 10rpx;

}

.content-1 .dress .dress-1{

  float: left;

  color: #989898;

  font-size: 24rpx;

}

.content-1 .dress .dress-2{

  float: right;

  color: #989898;

  font-size: 24rpx;

  margin-right: 20rpx;

}...

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容

  • 效果图 项目代码地址 遇到的玄学问题
    茗涙阅读 218评论 0 0
  • 书名:善用时间 作者:叶武斌 出版社:电子版 摘抄片段:首先我们看看什么事情是会重复发生的?那些微不足道的小事有时...
    婷婷_bd3f阅读 240评论 2 1
  • 今天的谈话让我心里非常不舒服,甚至很委屈。突然觉得自己以前一直坚持的价值观也许是错的,是我太不聪明了……从今天开始...
    晓璇老师阅读 148评论 0 0