微信小程序之滑动页面隐藏和显示组件功能的实现代码


Posted in Javascript onJune 19, 2020

用csdnAPP的用户都知道,在发布blink动态时,那个红色按钮会随着你滚动页面消失或者出现。往上滑动时,按钮消失。往下滑动时,按钮出现。

今天我们就模仿一下这个功能,只不过我们换中样式,让它逐渐滑出页面,或逐渐从页面之外滑到固定位置。

效果图:
滑动前:

微信小程序之滑动页面隐藏和显示组件功能的实现代码

滑动后:

微信小程序之滑动页面隐藏和显示组件功能的实现代码

此功能是往上滑动消失,往下滑动出现。

实现步骤:

  • 编写页面代码与样式
  • 编写逻辑代码

wxml:

<view class="mask-con {{!hidden ? 'mask-con-show' : ''
}
}
sendDynamic" bindtap="sendDynamic">
  <image class="sendDynamic mask-con 
	{
	{
	!hidden ? 'mask-con-show' : ''
	}
	}
	" src="cloud://hualibiaobaiqiang-1omla.6875-hualibiaobaiqiang-1omla-1302418355/me_icon/发布.png">
	</image>
</view>

wxss:

.sendDynamic{
 height: 100rpx;
 width: 100rpx;
 bottom:100rpx;
 right: 60rpx;
 border-radius: 50%;
 position: fixed;
 box-shadow:5rpx 5rpx 5rpx #fccee5;
}
.mask-con{
 transition: 0.5s; 
 position: fixed;
 width: 100rpx;
 height: 100rpx;
 bottom:-100rpx;
 right: 60rpx;
 text-align: center;
 line-height: 100rpx;
 }
.mask-con-show{
 bottom: 100rpx;
}

js:

data: {
 hidden:false,
 scrollTop: 0
 },
 onPageScroll(ev){
 var _this = this;
 if (ev.scrollTop <= 0) {
  ev.scrollTop = 0;
 } else if (ev.scrollTop > wx.getSystemInfoSync().windowHeight) {
  ev.scrollTop = wx.getSystemInfoSync().windowHeight;
 }
 if (ev.scrollTop > this.data.scrollTop || ev.scrollTop == wx.getSystemInfoSync().windowHeight) {
  this.setData({
  hidden:true
  })
 } else {
  this.setData({
  hidden:false
  })
 }
 setTimeout(function () {
  _this.setData({
  scrollTop: ev.scrollTop
  })
 }, 0)
 },

以上简单三步,完成目标。

总结

到此这篇关于微信小程序之滑动页面隐藏和显示组件功能的实现代码的文章就介绍到这了,更多相关小程序滑动页面隐藏和显示组件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
WordPress JQuery处理沙发头像
Jun 22 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
Apr 07 Javascript
Extjs中TabPane如何嵌套在其他网页中实现思路及代码
Jan 27 Javascript
浏览器页面区域大小的js获取方法
Sep 21 Javascript
jquery html动态生成select标签出问题的解决方法
Nov 20 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
Angularjs中如何使用filterFilter函数过滤
Feb 06 Javascript
javascript执行环境及作用域详解
May 05 Javascript
AngularJS 服务详细讲解及示例代码
Aug 17 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
JavaScript执行环境及作用域链实例分析
Aug 01 Javascript
深入解读VUE中的异步渲染的实现
Jun 19 #Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 #Javascript
微信小程序收藏功能的实现代码
Jun 19 #Javascript
微信小程序实现搜索框功能及踩过的坑
Jun 19 #Javascript
微信小程序返回上一级页面的实现代码
Jun 19 #Javascript
小程序中的箭头函数的具体使用
Jun 19 #Javascript
在VUE style中使用data中的变量的方法
Jun 19 #Javascript
You might like
站长助手-网站web在线管理程序 v1.0 下载
2007/05/12 PHP
PHP测试程序运行时间的类
2012/02/05 PHP
php中的Base62类(适用于数值转字符串)
2013/08/12 PHP
php根据操作系统转换文件名大小写的方法
2014/02/24 PHP
PHP递归遍历指定文件夹内的文件实现方法
2016/11/15 PHP
PHP jpgraph库的配置及生成统计图表:折线图、柱状图、饼状图
2017/05/15 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
在javascript将NodeList作为Array数组处理的方法
2010/07/09 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
jquery在Chrome下获取图片的长宽问题解决
2013/03/20 Javascript
Google Maps API地图应用示例分享
2014/10/23 Javascript
使用百度地图api实现根据地址查询经纬度
2014/12/11 Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
2015/12/31 Javascript
Node.js编写组件的三种实现方式
2016/02/25 Javascript
原生JS实现平滑回到顶部组件
2016/03/16 Javascript
JS &amp; JQuery 动态添加 select option
2016/06/08 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
使用微信SDK自定义分享的方法
2019/07/03 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
[01:00]一分钟回顾2018DOTA2亚洲邀请赛现场活动
2018/04/07 DOTA
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
python通过pil为png图片填充上背景颜色的方法
2015/03/17 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
HTML5进度条特效
2014/12/18 HTML / CSS
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
伊索寓言教学反思
2014/05/01 职场文书
学雷锋标语
2014/06/25 职场文书
班级管理经验交流材料
2015/11/02 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
2022/12/24 MySQL