微信小程序|上下滚动页面实现

简介: 微信小程序|上下滚动页面实现

案例描述

微信小程序中,页面的呈现方式非常多样,要使页面不只是单一的一个页面,而要实现在当前页面的自由上下滚动,且上下滚动呈现出每个不同滚动页面的形式,该怎样实现呢?

效果图:

解决方案

页面实现将每一个不同的页面进行单独且相似的wxml代码编写,每个页面放入一个整体的view中,设置bind事件绑定,scroll组件实现滚动事件。

scrollTouchStart——滚动页面起始

scrollTouchEnd——滚动页面结束,

scrollTouchMove——滚动的过程。

代码如下:

<view id='hook1' class="section  section01 {{scrollindex==0?'active':''}}" style='background:lightyellow'  bindtouchstart="scrollTouchStart" bindtouchmove='scrollTouchMove'  bindtouchend="scrollTouchEnd">
  <view>
    <view>
       <view>
       <image  src="/images/img1.jpg"></image>
       </view>
       <view>“愿生活里有热汤和甜食,背包里有书籍和纸笔。书里故事如迷宫,迷宫通向海。沟通使误解消除,人自充满善意。走很远的路回家,混沌中生活出新的自己。💪”
       </view>
     </view>
   </view>
</view>

1、wxss配置

让每个页面呈现独立性,需要将页面设置height:100%;对每个页面设置一个position定位属性为relative,使每个页面的内容都能够在单独页面呈现。

代码如下:

.scroll-fullpage  {
  height:  100%;
}
.section {
  height:  100%;
}
.cont {
  width: 100%;
  height:  100%;
  margin: 0  auto;
  position:  relative;
}
.cont-body {
  width: 75%;
  position:  absolute;
  left: 50%;
  top: 50%;
  transform:  translate(-50%, -50%);
}

.pic{
   height:  130rpx;
   width:  130rpx;
    border-radius: 50%
}

2、js配置

date数据的配置和scrollTouchStartscrollTouchMovescrollTouchEnd三个事件函数进行配置。代码如下:

 

   data: {
     scrollindex: 0,
    totalnum:  4,
    starty: 0,  
    startTime:  0,
    endy: 0,
    endTime:  0,
    critical:  80,
     maxTimeCritical: 300,
     minTimeCritical: 100,
    margintop:  0,
     currentTarget: null,
  },

 scrollTouchStart: function (e) {
    let py =  e.touches[0].pageY,
      stamp =  e.timeStamp,
       currentTarget = e.currentTarget.id;
     console.log(py);
     this.setData({
      starty:  py,
       startTime: stamp,
       currentTarget: currentTarget
    })
  },
   scrollTouchMove(e) {
    //  console.log(e);
  },
   scrollTouchEnd: function (e) {
    let py =  e.changedTouches[0].pageY,
      stamp =  e.timeStamp,
      d =  this.data,
       timeStampdiffer = stamp - d.startTime;
     this.setData({
      endy:  py,
      endTime:  stamp
    })


结语

在配置一个滚动页面时,注意对页面整体性和每个滚动页面独立性的实现。注意绑定事件,调用scroll组件。


目录
相关文章
|
3月前
|
小程序 前端开发 开发者
小程序的页面如何布局?
【10月更文挑战第16天】小程序的页面如何布局?
114 1
|
4月前
|
JSON 小程序 前端开发
微信小程序的目录结构及页面结构的说明
本文详细介绍了微信小程序的目录结构、页面组成部分以及项目的全局配置文件,阐述了小程序的宿主环境和运行机制,包括小程序启动和页面渲染的过程。
微信小程序的目录结构及页面结构的说明
|
5月前
|
小程序
微信小程序多种跳转页面方式
微信小程序多种跳转页面方式
|
5月前
|
缓存 小程序 数据库
小程序页面之间(传值)传递数据的方法
小程序页面之间(传值)传递数据的方法
198 63
|
4月前
|
小程序 JavaScript API
微信小程序开发学习之页面导航(声明式导航和编程式导航)
这篇文章介绍了微信小程序中页面导航的两种方式:声明式导航和编程式导航,包括如何导航到tabBar页面、非tabBar页面、后退导航,以及如何在导航过程中传递参数和获取传递的参数。
微信小程序开发学习之页面导航(声明式导航和编程式导航)
|
4月前
|
小程序 前端开发 生物认证
微信小程序如何将一个按钮放到页面的最底下?
微信小程序如何将一个按钮放到页面的最底下?
492 5
|
4月前
|
JSON 小程序 JavaScript
微信小程序页面事件,下拉刷新事件和上拉触底事件
这篇文章介绍了微信小程序中如何实现下拉刷新和上拉触底事件,包括开启下拉刷新、配置下拉刷新样式、监听下拉刷新事件,以及监听上拉触底事件和配置上拉触底的距离。
|
5月前
|
小程序 开发者
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
这篇文章分享了四个不同应用场景下的微信小程序个人主页的源代码和页面效果展示,包括商城系统、外卖系统、医疗挂号和电影购票系统的个人主页。提供了完整的页面布局和样式代码,允许开发者直接复制粘贴并根据自己的项目需求进行简单的改造使用。
万能的微信小程序个人主页:商城系统个人主页、外卖系统个人主页、购票系统个人主页等等【全部源代码分享+页面效果展示+直接复制粘贴编译即可】
|
3月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
782 7
|
3月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
789 1