微信小程序wx.pageScrollTo的替代方案
wx.pageScrollTo这个微信小程序的api功能如下:

简而言之就是实现页面滚动的。但是在实际应用当中显得有些鸡肋,为啥呢?使用中有明显页面有明显的抖动,这无疑是极不好的用户体验。我用的华为6x手机。
那么怎么解决这个问题?答案是选择利用scroll-view代替。上代码
 <scroll-view scroll-y style="height: 100%;position:absolute;" enable-back-to-top="true" bindscroll="memoryScrollTop" scroll-with-animation="true" scroll-top="{{scrollTop}}">
   <view class='wrap' style='position:absolute;'>
     <view id='general'>
       <image src='../../images/timg.jpg'></image>
       <view class='writing' wx:for="{{strategyGeneralObjArr}}" wx:key="{{index}}">
         <view class='audio-box' wx:if="{{item.myAudio.length}}">
           <view class='audio-box-logo' bindtap='playOrStopAudio'>
             <view class='play-icon-box {{audioPlayStatus?"play-icon":"playing-icon"}}'>
             </view>
             <audio id='myAudio' bindended="selfEndedPlay" bindtimeupdate="updatePlayTime" src='{{item.myAudio[0]}}' style='display:none;'></audio>
           </view>
           <view class='audio-box-progress'>
             <view class='line-default'>
             </view>
             <view class='line-play-box'>
               <view class='line-play' style='width:{{playPercenter}}'>
               </view>
               <view class='play-circle'></view>
             </view>
             <view class='play-ing'>
               <text>{{updateTime}}</text>
               <text>{{audioduration}}</text>
             </view>
           </view>
         </view>
         <view class='audio-title'>
           {{item.title}}
         </view>
         <view class='audio-intro'>
           {{item.desc}}
         </view>
         <view class='audio-tags skind'>
           <block wx:for="{{item.label}}" wx:for-item="sonItem" wx:key="{{index}}">
             <text>{{sonItem.name}}</text>
           </block>
         </view>
         <view class='audio-address'>
           <view class='audio-address-name'>
             {{item.locationInfo.address}}
           </view>
           <view class='audio-address-distance'>
             {{item.distance}}km
           </view>
         </view>
       </view>
     </view>
     <view id='intros'>
       <block wx:for="{{strategyContentObjArr}}" wx:key="{{index}}">
         <block wx:if="{{item.type==6}}">
           <view class='trip-line  unitItem {{"step"+index}}'>
             <view class='titleLine mainTitle'>
               <text class='left-line'></text>
               <text class='titleLine-title'>{{item.data}}</text>
               <text class='right-line'></text>
             </view>
           </view>
         </block>
         <block wx:if="{{item.type==7}}">
           <view class='sonTitle'>
             <text class='left-spot'></text>
             <text class='sonTitle-title'>{{item.data}}</text>
             <text class='right-spot'></text>
           </view>
         </block>
         <block wx:if="{{item.type==1}}">
           <view class='trip-line-instruct intro-writing'>
             {{item.data}}
           </view>
         </block>
         <block wx:if="{{item.type==2}}">
           <view class='image'>
             <image src='{{item.data}}' class='strategy-img'></image>
           </view>
         </block>
         <block wx:if="{{item.type==4}}">
           <view class='trip-mode-video video'>
             <video wx:if='{{playOpenCode}}' id='myVideo' bindended="playSelfOver" bindpause="stopVideo" bindtimeupdate="memoryTime" src="{{item.data}}">
             </video>
             <view class='trip-mode-video-cover' wx:if='{{!playOpenCode}}'>
               <image src='../../images/timg.jpg' class='cover'></image>
               <image bindtap='playVideo' src='../../images/play.png' class='tip'></image>
             </view>
           </view>
         </block>
       </block>
     </view>
     <view class='blank'></view>
   </view>
 </scroll-view>
注意上述代码,因为含有很多变量,所以复制之后不保证管用。
注意上述scroll-view还有一层view这一层view是内容的二级父元素,而scroll-view是最顶级父元素,并且两者都需要使用绝对定位,还有scroll-view必须有一个固定高度。
这样就可以通过动态改变scroll-top="{{scrollTop}}" 来改变指定的高度了。
关于上述这种设置,以前接触并使用过h5移动端的滚动插件,比如BetterScroll 还有iscroll,在设置上面和上述一致。想到这点在看微信小程序或者里面也有类似的底层吧。
微信小程序wx.pageScrollTo的替代方案的更多相关文章
- 微信小程序wx.request接口
		
微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...
 - 监控微信小程序wx.request请求失败
		
在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...
 - 微信小程序wx.showActionSheet调用客服信息功能
		
微信小程序wx.showActionSheet调用客服消息功能 官方文档的代码: wx.showActionSheet({ itemList: ['A', 'B', 'C'], success (re ...
 - 微信小程序  wx.uploadFile在安卓手机上面the same task is working问题解决
		
微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wx.uploadFile 这个在电脑上面测试与苹果手机上面都不会有什么问题 但当用安卓测试的时候,你会发现小程序会提示一个the ...
 - 微信小程序wx.navigateTo层叠5次限制,特殊情况的建议
		
小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法. 小程序三种页面跳转API 的区 ...
 - 微信小程序wx.request请求用POST后台得不到传递数据
		
微信小程序的wx.request请求,method设为POST并向后台传递数据,但从后台返回的信息来看后台并没有获得传递的数据 wx.request({ url: 'url' ...
 - 坑:微信小程序wx.request和wx.uploadFile中传参数的区别
		
微信小程序中通过组件<form>提交表单的时候,在js中通过e.detail.value得到所提交表单的json格式数据.一般提交表单我们都是通过wx.request请求,提交表单数据,通 ...
 - 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址
		
简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...
 - 微信小程序 wx.request
		
onLoad: function () { var that = this console.log('https://free-api.heweather.com/s6/weather?locatio ...
 
随机推荐
- ruby 正则表达式Regexp
			
ruby正则表达式在线编辑器:rubular 一般规则: /a/匹配字符a. /\?/匹配特殊字符?.特殊字符包括^, $, ? , ., /, \, [, ], {, }, (, ), + ...
 - day 3 list列表生成式
			
1.定义一个list列表,里面元素是0-33 a = [] i = 0 while i<33: a.append(i) i+=1 print(a) [0, 1, 2, 3, 4, 5, 6, 7 ...
 - Matlab2018年最新视频教程视频讲义(包含代码)
			
2018年Matlab最新视频教程视频讲义(包含代码),适合初学者入门进阶学习,下载地址:百度网盘, https://pan.baidu.com/s/1w4h297ua6ctzfturQ1791g 内 ...
 - 【WXS】简要介绍说明
			
WXS(WeiXin Script)是小程序的一套脚本语言. WXS有二种写法: 1) 以<wxs>标签书写脚本: 语法: <wxs module="[String]&qu ...
 - vector的基础使用
			
vector是一个容器,实现动态数组. 相似点:下标从0开始. 不同点:vector创建对象后,容器大小会随着元素的增多或减少而变化. 基础操作: 1.使用vector需要添加头文件,#include ...
 - 腾讯云ubuntu安装使用MySQL
			
安装步骤 ubuntu@VM---ubuntu:~$ sudo apt-get install mysql-server (密码: root/root) ubuntu@VM---ubuntu:~$ s ...
 - 【转】跨平台移动端开发框架NativeScript 发布正式版本
			
原文:http://news.cnblogs.com/n/520865/ Nativescript 项目地址:http://www.telerik.com/nativescript “一次编码,处处运 ...
 - [Clr via C#读书笔记]Cp4类型基础
			
Cp4类型基础 Object类型 Object是所有类型的基类,有Equals,GetHashCode,ToString,GetType四个公共方法,其中GetHashCode,ToString可以o ...
 - day-16 CNN卷积神经网络算法之Max pooling池化操作学习
			
利用CNN卷积神经网络进行训练时,进行完卷积运算,还需要接着进行Max pooling池化操作,目的是在尽量不丢失图像特征前期下,对图像进行downsampling. 首先看下max pooling的 ...
 - 十:HDFS Short-Circuit Local Reads 短路本地读取
			
当client请求数据时,datanode会读取数据然后通过TCP协议发送给client.short-circuit绕过了datanode直接读取数据.short-circuit的前提是client和 ...