在最近的项目有做到关于小说阅读的进度条功能,其中用到scroll-view和slider组件,发现scroll-view中的scroll-top在设置值后无效,出现这种情况大概是以下几种问题:

1.scroll-view的高度需要设置固定的值,比如全屏可以设置:height:100vh;

2.不可以同时设置scroll-into-view和scroll-top(scroll-left)属性,因为scroll-into-view的优先级别比scroll-top(scroll-left)属性高(官方文档提及过);

3.scroll-top(scroll-left)属性不可以带单位,直接设置值就可以了,如:scroll-top="50";

以下是小说图书阅读进度条案例代码,思路为:scroll-view作为文章滚动区域,slider为显示进度的滑动条,之间通过百分比的数“连接”,具体代码往下:

 <view>
<scroll-view scroll-y style="height:100vh" bindscroll="articelScroll" scroll-with-animation="true" scroll-top="{{textScroll}}">
<text>起初,对于追风筝的人这样的命题是难以理借解,至于其中所蕴含的深意, 纵使读罢全书亦不知所言。姑且不论所谓书名的深度和广度,就其故事本身而言,便给了我巨大的震撼。书中开篇所言,便是一种对曾经的畏惧和被永生锁在梦魇中的悲伤。为你千千万万遍, 第一次这句话的出现,便让我震撼莫名。我不知道这句话何时说出口,至于当时的气氛和情态也一无所知,但就这句话的内容,为,你,千,千,万,万,遍。其中所包含的无悔与执着,纵使天荒地老也不改的初心。 顿时,我有些嫉妒书中的“我“,相比于往往独行客的我,那些无悔的宣言,是我从未听到过的传说。
</text>
</scroll-view>
<view>
<slider bindchange="slider1change" max="200" min="0" step="5" value="{{scrollValue}}" activeColor="#333"/>
</view>
</view>
var app = getApp()
Page({
data: {
scrollHeight:0,
scrollValue:0,
textScroll:1
}, slider1change:function(e){
var value=e.detail.value; //获取slider滑动的当前值
var scrollHeight = this.data.scrollHeight; //获取scroll-view的scroll-height值
value=value/295*100; //计算出slider滑动的百分比
var textscroll = value/100 * scrollHeight; //计算出scroll-view对应的值 this.setData({
textScroll: textscroll
})
}, })

具体效果如下:

总结:以上内容供学习总结分享,有什么不对的地方或可优化的地方,欢迎各位评论指教。

关于小程序 scroll-view中设置scroll-top无效 和小说图书阅读进度条小案例的更多相关文章

  1. 微信小程序app.js中设置公有变量

    初始化GlobalData 在App.js的最上方可以设置GlobalData的初始值. App({ globalData:{ appid: '1wqas2342dasaqwe232342xxxxxx ...

  2. 微信小程序---app.json中设置背景色不生效解决办法

    按照官方文档的说明,backgroundColor应该可以设置窗口的背景色. "window":{ "backgroundTextStyle":"li ...

  3. UGUI 用手柄或者键盘控制选择Scroll View中的游戏对象时,滚动条跟着移动

    原预制体以及脚本的下载地址:https://download.csdn.net/download/qq_15017279/10404010 1.新建一个Scroll View,删掉横向的滚动条,并且把 ...

  4. 微信小程序的button按钮设置宽度无效

    亲,你是不是也遇到了微信小程序的button按钮设置宽度无效.让我来告诉你怎么弄 方法1. 样式中加入!important,即:width: 100% !important; wxss代码示例 1 2 ...

  5. 小程序 <web-view></web-view> 中使用 form 表单提交

    在最近的小程序项目中,使用到了 <web-view></web-view> 内嵌 H5 页面,在 H5 中需要使用 form 表单提交数据. H5 使用的技术框架是 vue+v ...

  6. java的小程序在html中的运行测试

    java的小程序在html中的运行测试,打开vs2012,以网站模式打开,生成,调用iis临时服务器运行.

  7. 微信小程序传递URL中含有特殊字符

    小程序传递URL中含有特殊字符"="时,解决办法:先encodeURIComponent,取到值以后再decodeURIComponent 首先在A页面 var urls = en ...

  8. 《微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记1)WePY开发环境的安装

    WePY的安装或更新都通过npm进行,全局安装或更新WePY命令行工具,使用以下命令: npm install wepy-cli -g 稍等片刻,成功安装后,即可创建WePY项目. 注意:如果npm安 ...

  9. 微信小程序项目开发实战:用WePY、mpvue、Taro打造高效的小程序》(笔记4)支持React.js语法的Taro框架

    Taro本身实现的情况类似于mpvue,mpvue的未来展望中也包含了支付宝小程序,现在的版本中,也可以使用不同的构建命令来构建出百度小程序的支持,如第10章所示,但是现在Taro先于mpvue实现了 ...

随机推荐

  1. PHPExcel探索之旅---阶段四 导入文件

    步骤就是:实例化excel读取对象=> 加载excel文件 => 读取excel文件(全部读取.逐行读取) <?php header("Content Type :text ...

  2. avro-maven-plugin

    <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...

  3. springboot 参数校验详解

    https://www.jianshu.com/p/89a675b7c900 在日常开发写rest接口时,接口参数校验这一部分是必须的,但是如果全部用代码去做,显得十分麻烦,spring也提供了这部分 ...

  4. mybatis持久化操作“无效的类型111解决”

    mybatis持久化操作时,如果插入数据为null的情况下,由于内部机制问题,会导致报错,导致出现:“无效的类型:1111”示例如下: org.springframework.jdbc.Uncateg ...

  5. 如何远程连接非默认端口SQL Server

    SQL Server Management Studio建立远程SQL连接  连接的时候写: 127.0.0.1,49685\sqlexpress 记得使用逗号,不是冒号

  6. Unity C# 脚本的单例

    今天学习了一个比较不错的单例模式 public class UnitySigleton <T>: MonoBehaviour where T:class { public static T ...

  7. 《C#高效编程》读书笔记06-理解几个等同性判断之间的关系

    当创建自定义类型时(无论是class还是struct),应为类型定义"等同性"的含义.C#提供了4种不同的函数来判断两个对象是否"相等": public sta ...

  8. java下的串口通信-RXTX

    关于java实现的串口通信,使用的是开源项目RXTX,之前sun公司也有JCL项目,不过已经很久没有更新了,RXTX项目地址:点击打开,但是两个项目的API用法是一样的,只是导入的包不一样而已.简单的 ...

  9. html5的使用

    <!DOCTYPE html><html lang="en"><head> <meta charest="UTF-8" ...

  10. 定制Banner

    1.修改Banner (1)在SpringBoot启动的时候会有一个默认启动的图案 (2)在src/main/resources下新建一个banner.txt (3)通过http://patorjk. ...