微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例


Posted in Javascript onDecember 20, 2018

本文实例讲述了微信小程序实现swiper切换卡内嵌滚动条不显示的方法。分享给大家供大家参考,具体如下:

微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例

index.wxml文件:

<view class="swiper-tab">
 <view class="swiper-tab-item {{currentTab==0 ? 'on' : ''}}" data-current="0" bindtap="swichNav">为你推荐</view>
 <view class="swiper-tab-item {{currentTab==1 ? 'on' : ''}}" data-current="1" bindtap="swichNav">新品上架</view>
 <view class="swiper-tab-item {{currentTab==2 ? 'on' : ''}}" data-current="2" bindtap="swichNav">最热商品</view>
</view>
<swiper current="{{currentTab}}" class="swiper-box" duration="300" style="height:{{clientHeight?clientHeight-'40'+'px':'auto'}}" bindchange="bindChange" >
 <swiper-item>
 <scroll-view scroll-y="{{true}}" style="height: {{clientHeight?clientHeight+'px':'auto'}}">
  <view style='height:200px'>为你推荐</view>
  <view style='height:200px'>为你推荐</view>
  <view style='height:200px'>为你推荐</view>
  <view style='height:200px'>为你推荐</view>
  <view style='height:200px'>为你推荐</view>
 </scroll-view>
 </swiper-item>
 <swiper-item>
  <view>新品上架</view>
 </swiper-item>
 <swiper-item>
  <view>最热商品</view>
 </swiper-item>
</swiper>

index.wxss文件:

/**index.wxss**/
.userinfo {
 display: flex;
 flex-direction: column;
 align-items: center;
}
.userinfo-avatar {
 width: 128rpx;
 height: 128rpx;
 margin: 20rpx;
 border-radius: 50%;
}
.userinfo-nickname {
 color: #aaa;
}
.usermotto {
 margin-top: 200px;
}
.swiper-tab {
 width: 100%;
 text-align: center;
 line-height: 80rpx;
 margin-top:10rpx;
 margin-bottom: 20rpx;
}
.swiper-tab-item {
 font-size: 30rpx;
 display: inline-block;
 width: 33.33%;
 color: #666;
}
.on {
 color: #FEA611;
 border-bottom: 5rpx solid #FEA611;
}
.swiper-box {
 display: block;
 height: 100%;
 width: 100%;
 overflow: hidden;
}
.swiper-box view {
 text-align: center;
}

index.js文件:

//获取应用实例
const app = getApp()
Page({
 data: {
  motto: 'Hello World',
  userInfo: {},
  hasUserInfo: false,
  canIUse: wx.canIUse('button.open-type.getUserInfo'),
  clientWidth: 0,
  clientHeight: 0,
  // tab切换
  currentTab: 0
 },
 //事件处理函数
 bindViewTap: function () {
  wx.navigateTo({
   url: '../logs/logs'
  })
 },
 onLoad: function () {
  var that = this;
  wx.getSystemInfo({
   success: function (res) {
    that.setData({
     clientHeight: res.windowHeight
    });
   }
  });
  if (app.globalData.userInfo) {
   this.setData({
    userInfo: app.globalData.userInfo,
    hasUserInfo: true
   })
  } else if (this.data.canIUse) {
   // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
   // 所以此处加入 callback 以防止这种情况
   app.userInfoReadyCallback = res => {
    this.setData({
     userInfo: res.userInfo,
     hasUserInfo: true
    })
   }
  } else {
   // 在没有 open-type=getUserInfo 版本的兼容处理
   wx.getUserInfo({
    success: res => {
     app.globalData.userInfo = res.userInfo
     this.setData({
      userInfo: res.userInfo,
      hasUserInfo: true
     })
    }
   })
  }
 },
 getUserInfo: function (e) {
  console.log(e)
  app.globalData.userInfo = e.detail.userInfo
  this.setData({
   userInfo: e.detail.userInfo,
   hasUserInfo: true
  })
 },
 bindChange: function (e) {
  var that = this;
  that.setData({ currentTab: e.detail.current });
 },
 swichNav: function (e) {
  var that = this;
  if (this.data.currentTab === e.target.dataset.current) {
   return false;
  } else {
   that.setData({
    currentTab: e.target.dataset.current
   })
  }
 }
})

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
一个简单的js动画效果代码
Jul 20 Javascript
了解jQuery技巧来提高你的代码(个人觉得那个jquery的手册很不错)
Feb 10 Javascript
深入理解JavaScript 闭包究竟是什么
Apr 12 Javascript
jQuery 1.9使用$.support替代$.browser的使用方法
May 27 Javascript
jQuery中:last-child选择器用法实例
Dec 31 Javascript
js弹出对话框方式小结
Nov 17 Javascript
JavaScript排序算法动画演示效果的实现方法
Oct 18 Javascript
AngularJS之页面跳转Route实例代码
Mar 10 Javascript
Vue中的slot使用插槽分发内容的方法
Mar 01 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
Sep 05 Javascript
layui关闭弹窗后刷新主页面和当前更改项的例子
Sep 06 Javascript
Node.js 深度调试方法解析
Jul 28 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
Dec 20 #Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 #Javascript
微信小程序module.exports模块化操作实例浅析
Dec 20 #Javascript
JavaScript类的继承操作实例总结
Dec 20 #Javascript
vue返回上一页面时回到原先滚动的位置的方法
Dec 20 #Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 #Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 #Javascript
You might like
咖啡与牛奶
2021/03/03 冲泡冲煮
程序员编程十条戒律
2009/07/09 PHP
php &amp;&amp; 逻辑与运算符使用说明
2010/03/04 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
非常好用的JsonToString 方法 简单实例
2013/07/18 Javascript
js实现收缩菜单效果实例代码
2013/10/30 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
js判断图片加载完成后获取图片实际宽高的方法
2016/02/25 Javascript
js获取当前日期时间及其它日期操作汇总
2016/03/08 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
2018/12/28 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
python中readline判断文件读取结束的方法
2014/11/08 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
在Python下进行UDP网络编程的教程
2015/04/29 Python
Django自定义认证方式用法示例
2017/06/23 Python
Python实现的三层BP神经网络算法示例
2018/02/07 Python
基于树莓派的语音对话机器人
2019/06/17 Python
PyCharm专业最新版2019.1安装步骤(含激活码)
2019/10/09 Python
Python实现bilibili时间长度查询的示例代码
2020/01/14 Python
pycharm安装及如何导入numpy
2020/04/03 Python
HEMA法国:荷兰原创设计
2019/02/21 全球购物
大学生收银员求职信分享
2014/01/02 职场文书
公司开业庆典策划方案
2014/06/04 职场文书
党支部先进事迹材料
2014/12/24 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
postgresql中如何执行sql文件
2023/05/08 PostgreSQL