微信小程序实现滚动字幕

2023-11-06

 

wxml部分:

<view class="notice">
  <image src="../../static/horn.png" mode="widthFix"></image>
  <view class="notice_desc">
    <view style="transform: translateX(-{{ distance }}px);">
      <text style="margin-right:{{ space }}px;"></text>
      <text id="mjltest">{{ text }}</text>
      <text style="margin-right:{{ space }}px;"></text>
      <text>{{ text }}</text>
    </view>
  </view>
</view>

wxss部分:

.notice {
    width: 92%;
    height: 56rpx;
    line-height: 56rpx;
    background-color: #fff;
    box-shadow: 0 3rpx 6rpx 1rpx rgba(0,97,6,0.4100);
    border-radius: 30rpx;
    position: absolute;
    top: 730rpx;
    left: 30rpx;
    display: flex;
}

.notice image {
    width: 36%;
    margin: 10rpx 18rpx;
}

.notice .notice_desc {
    margin-right: 40rpx;
    font-size: 28rpx;
    color: #333;
    overflow: hidden;
    white-space: nowrap;
}

js部分:

Page({
  data: {
    text: "需要滚动的字幕",
    step: 1, // 滚动速度
    distance: 360, // 初始滚动距离
    space: 300,
    interval: 20 // 时间间隔
  },
  onShow: function() {
    var that = this;
    var query = wx.createSelectorQuery();
    // 选择id
    query.select('#mjltest').boundingClientRect();
    query.exec(function(res) {
      var length = res[0].width;
      var windowWidth = wx.getSystemInfoSync().windowWidth; // 屏幕宽度
      that.setData({
        length: length,
        windowWidth: windowWidth,
        space:windowWidth
      });
      that.scrollling(); // 第一个字消失后立即从右边出现
    });
  },
  scrollling: function() {
    var that = this;
    var length = that.data.length; // 滚动文字的宽度
    var windowWidth = that.data.windowWidth; // 屏幕宽度
    var interval = setInterval(function() {
      var maxscrollwidth = length + that.data.space;
      var left = that.data.distance;
      if (left < maxscrollwidth) { // 判断是否滚动到最大宽度
        that.setData({
          distance: left + that.data.step
        })
      } else {
        that.setData({
          distance: 0 // 直接重新滚动
        });
        clearInterval(interval);
        that.scrollling();
      }
    }, that.data.interval);
  }
})



 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序实现滚动字幕 的相关文章

  • 学习笔记(一)数据挖掘概念与技术

    1数据仓库与数据库 数据仓库是一种用于长期存储数据的仓库 这些数据来自多个数据源 是经过组织的 以便支持管理决策 这些数据在一种统一的模式下存放 并且通常是汇总的 数据仓库提供一些数据分析能力 称作联机分析处理 数据库 传统关系型数据库的主
  • 从数据爬取到构建基于知识图谱的问答系统(前端展示)

    项目介绍 项目地址 整理了很久 一定要给个star呀 博主目前南京大学在读研究生 有问题欢迎咨询 bravezhangw 163 com
  • 数据中台盛行,DataOps兴起,数据架构才是未来

    导读 在数字化转型的浪潮下 数据架构获得了越来越多的关注 作为企业架构中的关键纽带 数据架构解决了业务与数据间的映射 规范了应用架构中的数据集成关系 指导了技术架构的技术选型 在企业中发挥着不可或缺的作用 伴随DataOps等场景的出现 数
  • 【Leetcode】P5612 从仓库到码头运输箱子

    Leetcode P5612 从仓库到码头运输箱子 你有一辆货运卡车 你需要用这一辆车把一些箱子从仓库运送到码头 这辆卡车每次运输有 箱子数目的限制 和 总重量的限制 给你一个箱子数组 boxes 和三个整数 portsCount maxB
  • es 局部更新 DSL 语句

    curl XPOST 192 168 1 47 9200 sub refresh 更新 根据条件 curl XPOST 192 168 1 4 9200 sub update by query pretty H Content Type a

随机推荐

  • 02-07GRE真题及答案解析整理

    02 07年GRE真题及答案解析整理 2002年11月23日GRE笔考题 VERBAL部分 Section 1 填空 1 Although she gives badly titles to her musical compositions
  • std::match_result

    英文文档 https cplusplus com reference regex match results 以下是我对此英文文档的翻译 经过一定的加工 改动和取舍 并添加了我自己的理解 可能翻译的比较差 请轻喷 有空我会更新的 match
  • 数据库的添加与查询

    创建数据库 使用数据库 创表 添加数据 1 查询所有学生的信息 2 查询姓名是李白的学生信息 3 查询1班是上海的学生 4 查询家乡是北京或者上海的学生 5 查询小乔的年龄 6 查询家乡不在北京的学生 7 查询年龄小于20的女同学 8 查询
  • Obsidian 从本地到云端

    原文 https www ftls xyz posts obcsapi fc simple 作者 恐咖兵糖 Obsidian 从本地到云端 Obsidian 作为本地笔记软件 在使用了多端同步插件 remotely save插件情况下 我选
  • Flask类视图的使用

    1 add url rule函数 之前我们接触的视图都是函数 所以一般简称视图函数 其实视图也可以基于类来实现 类视图的好处是支持继承 但是类视图不能跟函数视图一样 写完类视图还需要通过app add url rule 函数来进行注册 ap
  • Python如何自动操作电脑桌面应用程序

    前言 本文是该专栏的第2篇 后面会持续分享python的各种黑科技知识 值得关注 熟悉python的朋友 都知道python可以做自动化 比如说selenium pyppeteer airtest等等 但你是否听说过python可以来自动操
  • Office 365 官方原版镜像下载

    中文说明 专业增强版 简体中文版 文件名称 O365ProPlusRetail img 下载地址 https officecdn microsoft com db 492350F6 3A01 4F97 B9C0 C7C6DDF67D60 m
  • “M OP N“ 数值问题

    M OP N 数值问题 问题描述 获得用户输入的一个字符串 格式为 M OP N 其中 M和N是任何数字 OP代表一种操作 表示为如下四种 加减乘除 根据OP 输出M OP N的运算结果 统一保存小数点后2位 注意 M和OP OP和N之间可
  • 腾讯AI Lab开源大规模高质量中文词向量数据,800万中文词随你用

    感谢阅读腾讯AI Lab第45篇文章 本文将介绍大规模高质量的中文词向量数据的开源情况 今日 腾讯AI Lab 宣布开源大规模 高质量的中文词向量数据 该数据包含800多万中文词汇 相比现有的公开数据 在覆盖率 新鲜度及准确性上大幅提高 为
  • 第八章 坐标系统变换

    一 使用QPainter绘图 http blog csdn net hellozex article details 78361311 二 坐标系统变换 在QPainter的默认坐标系中 点 0 0 位于坐标绘制设备的左上角 x坐标向右 y
  • 为什么http协议需要服务器,http协议、web服务器、并发服务器(上)

    1 HTTP格式 每个HTTP请求和响应都遵循相同的格式 一个HTTP包含Header和Body两部分 其中Body是可选的 HTTP协议是一种文本协议 所以 它的格式也非常简单 1 1 HTTP GET请求的格式 GET path HTT
  • 网络安全专业名词解释

    1 Burp Suite 是一款信息安全从业人员必备的集成型的渗透测试工具 它采用自动测试和半自动测试的方式 通过拦截HTTP HTTPS的Web数据包 充当浏览器和相关应用程序的中间人 进行拦截 修改 重放数据包进行测试 是Web安全人员
  • Linux 互斥锁 递归锁 自旋锁 读写锁

    在多线程中 我们经常会要用到锁 那么 锁是什么 我们为什么要用到锁 回到问题的本质 我们在什么场景下会用到锁 锁是针对程序中的临界资源 也就是公共资源的 当我们有两个或多个线程同时对一个临界资源操作的时候 为了保证共享数据操作的完整性 我们
  • JSP中EL表达式的取值

    EL表达式可以取JavaBean的值 也可以取Attribute的值 下面是取Attribute的值
  • 计算属性结构

    一 计算属性的基本结构 计算属性 可以在里面写一些计算逻辑的属性 而是经过一系列计算之后再返回结果 他不像普通函数那样直接返回结果 而是经过一系列计算之后再返回结果 同时只要在它当中应用了data中的某个属性 当这个属性发生变化时 计算属性
  • 合宙Luat

    武侠小说中 主人公之所以能纵横江湖 常常离不开一样可遇不可求的绝世法宝 武功秘籍 如今勇于尝试的开发者 笃定地告诉后来者 选Luat二次开发 就如同拥有了物联网开发的武功秘籍 本期让我们通过 射雕英雄传 的一些小场景 聊聊LuaTask延时
  • 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    错误信息 未在本地计算机上注册 microsoft ACE oledb 12 0 提供程序 在往SQL Server数据库中导入excel表数据的时候遇到的 原因就是 office system文件和非office 应用程序之间传输数据 解
  • 内网信息收集(附脚本)

    D X安全实验室 文中脚本已上传至github https github com Potato py getIntrInfo 可打包为可执行文件 可过360 火绒等 渗透的本质就是信息收集 信息收集的深度与广度以及对关键信息的提取 影响了后
  • sass基础语法之 ----------条件判断及循环

    sass基础语法 条件判断及循环 这是我的第一篇博客 把项目中的一些问题 心得 知识点 等 会总结一些写上来 想自学sass的可以点击下面链接哦 语法学习链接 sass语法 http sass bootcss com docs sass r
  • 微信小程序实现滚动字幕

    wxml部分