微信小程序scroll-view实现字幕滚动


Posted in Javascript onJuly 14, 2018

本文实例为大家分享了微信小程序scroll-view实现字幕滚动的具体代码,供大家参考,具体内容如下

需求:

实现框内的文字自下而上的自动循环滚动。

解决方案:

demo:字幕滚动

通过控制滑动条来完成字幕滚动,通过setinterval完成字幕循环滚动。

wxml:

<scroll-view class="container" scroll-y="true" bindscroll="scroll" scroll-top="{{scrollTop}}">
 <view class='list'>
 <view class='blank'></view>
 <view>
 <text class="txt-light">09:08</text> 很多人的一生,基本都是自己跟别人较劲,比如别人对自己的期待,比如把别人看得太重把自己看得太轻。其实一个人最应该考虑的问题是,自己如何与自己相处,比如人去楼空的时候如何照顾好自己的孤独,比如夜深人静的时候如何跟心灵沟通。自己跟自己能和谐共处,自己跟别人就能相安无事。
 </view>
 <view>
 <text class="txt-light">19:08</text> 平和是待人处事的一种态度,也是做人酌一种美德。平和既是一种修养,又是一种工作方法。平和的人,从不被忙碌所萦绕,闲时吃紧,忙里悠闲。待人不严,教人勿高。宽严得宜,分寸得体。身心自在,能享受生活之乐趣。平和的人生,是和谐的人生,健康的人生。
 </view>
 <view class='blank'></view>
 </view>
</scroll-view>

wxss:

.container {
 background-color: #FAEBD7;
 height: 150rpx;
}
 
.txt-light {
 color: #acadbe;
}
 
.blank {
 height: 150rpx;
}

js

Page({
 
 /**
 * 页面的初始数据
 */
 data: {
 scrollTop:0
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 
 },
 
 /**
 * 生命周期函数--监听页面初次渲染完成
 */
 onReady: function () {
 
 },
 
 /**
 * 生命周期函数--监听页面显示
 */
 onShow: function () {
 // 获取scroll-view的节点信息
 //创建节点选择器
 var query = wx.createSelectorQuery();
 query.select('.container').boundingClientRect()
 query.select('.list').boundingClientRect()
 query.exec((res) => {
 var containerHeight = res[0].height;
 var listHeight = res[1].height;
 
 // 滚动条的高度增加
 var interval = setInterval(() => {
 if (this.data.scrollTop < listHeight - containerHeight) {
  this.setData({
  scrollTop: this.data.scrollTop + 10
  })
 } else {
  // clearInterval(interval);
  this.setData({
  scrollTop: 0
  })
 }
 }, 1000)
 })
 
 },
 scroll: function () {
 // 获取scroll-view的节点信息
 //创建节点选择器
 var query = wx.createSelectorQuery();
 query.select('.list').boundingClientRect()
 query.exec((res) => {
 this.setData({
 scrollTop: -(res[0].top)
 })
 // console.log(res);
 })
 }
})

tips:此次字幕滚动,即可自动滚动,也可拖动。

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

Javascript 相关文章推荐
juqery 学习之四 筛选查找
Nov 30 Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 Javascript
javascript中的遍历for in 以及with的用法
Dec 22 Javascript
js控制网页前进和后退的方法
Jun 08 Javascript
javascript实现日期时间动态显示示例代码
Sep 08 Javascript
jQuery基于json与cookie实现购物车的方法
Apr 15 Javascript
node中Express 动态设置端口的方法
Aug 04 Javascript
谈谈JS中的!!
Dec 07 Javascript
jQuery实现弹窗下底部页面禁止滑动效果
Dec 19 jQuery
vue项目每30秒刷新1次接口的实现方法
Dec 04 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
Jan 21 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 #Javascript
通过封装scroll.js 获取滚动条的值
Jul 13 #Javascript
详解vue.js根据不同环境(正式、测试)打包到不同目录
Jul 13 #Javascript
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 #Javascript
vue实现组件之间传值功能示例
Jul 13 #Javascript
微信小程序仿微信运动步数排行(交互)
Jul 13 #Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 #jQuery
You might like
ajax缓存问题解决途径
2006/12/06 PHP
PHP 数组教程 定义数组
2009/10/23 PHP
解决PHP超大文件下载,断点续传下载的方法详解
2013/06/06 PHP
PHP中功能强大却很少使用的函数实例小结
2016/11/10 PHP
php连接mysql数据库
2017/03/21 PHP
js获取上传文件的绝对路径实现方法
2016/08/02 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
2017/01/19 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
2020/07/26 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
python中reduce()函数的使用方法示例
2017/09/29 Python
pandas DataFrame实现几列数据合并成为新的一列方法
2018/06/08 Python
Python发展简史 Python来历
2019/05/14 Python
详解Python用三种方式统计词频的方法
2019/07/29 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Django框架反向解析操作详解
2019/11/28 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
python 实现ping测试延迟的两种方法
2020/12/10 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
BAILEY 44官网:美国制造的女性服装
2019/07/01 全球购物
移动通信行业实习自我鉴定
2013/09/28 职场文书
标准导师推荐信(医学类)
2013/10/28 职场文书
工程总经理工作职责
2013/12/09 职场文书
房地产开发计划书
2014/01/10 职场文书
写给学生的新学期寄语
2014/01/18 职场文书
预备党员入党自我评价范文
2014/03/10 职场文书
电气工程自动化求职信
2014/03/14 职场文书
班委竞选演讲稿
2014/04/28 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
污水处理保证书
2015/05/09 职场文书
2016年小学生寒假总结
2015/10/10 职场文书
2016关于读书活动的心得体会
2016/01/14 职场文书
MySQL锁机制
2021/04/05 MySQL
vue实现Toast组件轻提示
2022/04/10 Vue.js