详解微信小程序回到顶部的两种方式


Posted in Javascript onMay 09, 2019

在做微信小程序开发时,遇到一个问题,要如何实现返回顶部的功能,下面就用2种方法实现

一,使用view形式的回到顶部

HTML:

<image src='../../img/button-top.png' class='goTop' hidden='{{!floorstatus}}' bindtap="goTop"></image>

 CSS:

/* 返回顶部 */
.goTop{
 height: 80rpx;
 width: 80rpx;
 position: fixed;
 bottom: 50rpx;
 background: rgba(0,0,0,.3);
 right: 30rpx;
 border-radius: 50%;
}

JS:

// 获取滚动条当前位置
 onPageScroll: function (e) {
  console.log(e)
  if (e.scrollTop > 100) {
   this.setData({
    floorstatus: true
   });
  } else {
   this.setData({
    floorstatus: false
   });
  }
 },

 //回到顶部
 goTop: function (e) { // 一键回到顶部
  if (wx.pageScrollTo) {
   wx.pageScrollTo({
    scrollTop: 0
   })
  } else {
   wx.showModal({
    title: '提示',
    content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
   })
  }
 },

二.使用scroll-view形式的回到顶部

<scroll-view scroll-y scroll-top='{{topNum}}' bindscroll="scrolltoupper">
<image src='../../img/button-top.png' class='goTop' hidden='{{!floorstatus}}' bindtap="goTop"></image>

CSS:

/* 返回顶部 */
.goTop{
 height: 80rpx;
 width: 80rpx;
 position: fixed;
 bottom: 50rpx;
 background: rgba(0,0,0,.3);
 right: 30rpx;
 border-radius: 50%;
}

JS:

data:{
  topNum: 0
 }

 // 获取滚动条当前位置
 scrolltoupper:function(e){
  console.log(e)
  if (e.detail.scrollTop > 100) {
   this.setData({
    floorstatus: true
   });
  } else {
   this.setData({
    floorstatus: false
   });
  }
 },

 //回到顶部
 goTop: function (e) { // 一键回到顶部
  this.setData({
   topNum: this.data.topNum = 0
  });
 },

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

Javascript 相关文章推荐
css结合js制作下拉菜单示例代码
Feb 27 Javascript
javascript中expression的用法整理
May 13 Javascript
js在指定位置增加节点函数insertBefore()用法实例
Jan 12 Javascript
使用命令对象代替switch语句的写法示例
Feb 28 Javascript
浅谈EasyUI中Treegrid节点的删除
Mar 01 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
jQuery查看选中对象HTML代码的方法
Jun 17 Javascript
详解webpack2+node+react+babel实现热加载(hmr)
Aug 24 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
JS编写兼容IE6,7,8浏览器无缝自动轮播
Oct 12 Javascript
微信小程序之数据绑定原理解析
Aug 14 Javascript
vue中beforeRouteLeave实现页面回退不刷新的示例代码
Nov 01 Javascript
jquery登录的异步验证操作示例
May 09 #jQuery
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
May 09 #Javascript
D3.js(v3)+react 实现带坐标与比例尺的柱形图 (V3版本)
May 09 #Javascript
vue 引用自定义ttf、otf、在线字体的方法
May 09 #Javascript
bootstrap-table formatter 使用vue组件的方法
May 09 #Javascript
详解es6新增数组方法简便了哪些操作
May 09 #Javascript
Vue函数式组件-你值得拥有
May 09 #Javascript
You might like
php字符编码转换之gb2312转为utf8
2013/10/28 PHP
php 防止表单重复提交两种实现方法
2016/11/03 PHP
PHP获取MySQL执行sql语句的查询时间方法
2018/08/21 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
nodejs中实现阻塞实例
2015/03/24 NodeJs
简介JavaScript中setUTCSeconds()方法的使用
2015/06/12 Javascript
vue.js开发环境安装教程
2017/03/17 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
js删除数组中的元素delete和splice的区别详解
2018/02/03 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
2019/05/30 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Vue中的循环及修改差值表达式的方法
2019/08/29 Javascript
layer扩展打开/关闭动画的方法
2019/09/23 Javascript
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
解决PySide+Python子线程更新UI线程的问题
2019/01/11 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
python 实现在无序数组中找到中位数方法
2020/03/03 Python
python正则表达式实例代码
2020/03/03 Python
使用keras实现Precise, Recall, F1-socre方式
2020/06/15 Python
玩转CSS3色彩
2010/01/16 HTML / CSS
HTML5中的postMessage API基本使用教程
2016/05/20 HTML / CSS
浅谈html5标签css3的常用样式
2016/10/20 HTML / CSS
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
本科生的职业生涯规划范文
2014/01/09 职场文书
社区党员先进事迹
2014/01/22 职场文书
研究生毕业鉴定
2014/01/29 职场文书
电子商务系毕业生自荐信
2014/05/29 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
幸福来敲门观后感
2015/06/04 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
详解Python生成器和基于生成器的协程
2021/06/03 Python