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的替代方案的更多相关文章

  1. 微信小程序wx.request接口

    微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...

  2. 监控微信小程序wx.request请求失败

    在微信小程序里,与后台服务器交互的主要接口函数是wx.request(),用于发起 HTTPS 网络请求.其重要性不言而喻.然而,却经常遇到请求失败的问题,笔者特意谷歌"wx.request ...

  3. 微信小程序wx.showActionSheet调用客服信息功能

    微信小程序wx.showActionSheet调用客服消息功能 官方文档的代码: wx.showActionSheet({ itemList: ['A', 'B', 'C'], success (re ...

  4. 微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决

    微信小程序上传图片的时候,如果是多图片上传,一般都是直接用一个循环进行wx.uploadFile 这个在电脑上面测试与苹果手机上面都不会有什么问题 但当用安卓测试的时候,你会发现小程序会提示一个the ...

  5. 微信小程序wx.navigateTo层叠5次限制,特殊情况的建议

    小程序页面的实例使用栈的数据结构存储,栈内元素最多5个(换一种方式说,就是用户最多能点击5次返回),微信小程序能在栈中相对高层某个页面调用其他相对低层的页面实例的方法. 小程序三种页面跳转API 的区 ...

  6. 微信小程序wx.request请求用POST后台得不到传递数据

    微信小程序的wx.request请求,method设为POST并向后台传递数据,但从后台返回的信息来看后台并没有获得传递的数据 wx.request({              url: 'url' ...

  7. 坑:微信小程序wx.request和wx.uploadFile中传参数的区别

    微信小程序中通过组件<form>提交表单的时候,在js中通过e.detail.value得到所提交表单的json格式数据.一般提交表单我们都是通过wx.request请求,提交表单数据,通 ...

  8. 微信小程序wx.getLocation()获取经纬度及JavaScript SDK调用腾讯地图API获取某一类地址

    简介 腾讯位置服务为微信小程序提供了基础的标点能力.线和圆的绘制接口等地图组件和位置展示.地图选点等地图API位置服务能力支持,使得开发者可以自由地实现自己的微信小程序产品. 在此基础上,腾讯位置服务 ...

  9. 微信小程序 wx.request

    onLoad: function () { var that = this console.log('https://free-api.heweather.com/s6/weather?locatio ...

随机推荐

  1. php 算法(二分法)只适用于有序表,且限于顺序存储结构

    function demo($array,$low,$high,$k){ if($low<=$high){//判断该数组是否存在 $mid =  intval(($low+$high)/2 ); ...

  2. 如何判断一个 APP页面是否是H5页面(转载)

    1.无网络断开网络,显示404或则错误页面的是H5 2.页面布局a.在手机设置.开发者选项中开启显示布局边界功能:b.进入应用查看布局边界:c.原生应用可以看到各个控件的布局边界,H5只有整个页面的一 ...

  3. 20190118-利用Python实现Pig Latin游戏

    1.利用Python实现Pig Latin字母游戏 “Pig Latin”是一个英语儿童文字改写游戏,整个游戏遵从下述规则:a. 元音字母是‘a’.‘e’.‘i’.‘o’.‘u’.字母‘y’在不是第一 ...

  4. 清华大学《C++语言程序设计基础》线上课程笔记05---vector对象,对象的复制与移动,string类

    vector 对象 C++标准库中的一个类模板 封装任何类型的动态数组,自动创建和删除. 数组下标越界检查. 将动态数组封装成类的知识点中封装的ArrayOfPoints也提供了类似功能,但只适用于一 ...

  5. Jetson tx2 串口通信

    主要参考了这篇博客:https://blog.csdn.net/zomb1e0117/article/details/85157014 其中需要注意的是最后的时候cutecom端口需要把设备改为:/d ...

  6. 北京Uber优步司机奖励政策(12月26日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  7. CLR via c#读书笔记五:方法

    注:书本第8章:方法 实例构造器和类(引用类型) 构造器方法在“方法定义元数据表”中始终叫做.ctor(constructor的简称). 构造引用类型的对象,在调用类型的实例构造器之前,为对象分配的内 ...

  8. Java图片转字符

    很久都没有更新博客了,昨天下午一个朋友问我能不能将一张图片转换成字符画,然后我想我这个朋友不知道,也许有的朋友以不知道,我就简单的分享一下 package com.xsl.zhuanhuan; imp ...

  9. 「LeetCode」0003-Add Two Numbers(Typescript)

    分析 代码 /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ var addTwoNumbers=fu ...

  10. Fiddler使用总结(二)

    在上一篇中介绍了Fiddler的基本使用方法.通过上一篇的操作我们可以直接抓取浏览器的数据包.但在APP测试中,我们需要抓取手机APP上的数据包,应该怎么操作呢? Andriod配置方法: .确保手机 ...