简单实现微信小程序实现文字从右往左无缝滚动(走马灯)的组件(类似公告)

这篇具有很好参考价值的文章主要介绍了简单实现微信小程序实现文字从右往左无缝滚动(走马灯)的组件(类似公告)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

文章目录

目录

文章目录

概要

代码部分

wxss部分

wxss部分

js部分

小结


概要

  最近做一个微信小程序项目突发奇想,想到做一个文字无缝滚动的公告,然后查了好多资料发现没看懂他们的想法然后自己想了好久如何才能实现无缝滚动,我发现好多博主发出来的都是不是无缝滚动的,然后想了一下午,到晚上才做好。

代码部分

wxss部分

<view class="container">
<view class="icon"><van-icon name="volume-o" /></view>
<view class="text-wrapper">
    <text class="scroll-text text1" style="left: {{-moveleft}}px;">{{ scrollText }}</text>
    <text class="scroll-text text2" style="left: {{ moveleft2}}px;">{{ scrollText }}</text>
  </view>
</view>

运用了vant weapp中的icon字体图标,官网路径在此组件库

wxss部分

.container {
  display: flex;
  overflow: hidden;
  height: 60rpx;
}
.icon {
  padding:10rpx 20rpx;
  font-size: 18px;
  color: red;
}
.text-wrapper {
  display: flex;
  width: 100%;
  padding: 10rpx 0;
  position: relative;
  overflow: hidden;
  margin-right: 20rpx;
}
.scroll-text {
  white-space: nowrap;
}
.text1 {
  position: absolute;
}
.text2 {
  position: absolute;
}

js部分

这里是封装的组件所有js的代码与页面的有所不同

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 两文本的内容间隔
    interval_widgth: {
      type: Number,
      value: 10
    },
    scrollText:{
      type:String,
      value:'这里是需要无缝滚动的文本,用于检测滚动效果是否正常!'
    }
  },

  /**
   * 组件的初始数据
   */
  data: {

    moveleft:0,
    moveleft2:0,
    text_width:0,
    timer:null
  },

  /**
   * 组件的方法列表
   */
  methods: {

  },
  lifetimes: {
    attached() {
    },
    ready() {
      // 获取内容的宽度
      const query = wx.createSelectorQuery().in(this);
      query.select('.scroll-text').boundingClientRect().exec((res) => {
        this.setData({
          'text_width':res[0].width,
          moveleft2: res[0].width+this.data['interval_widgth']
        })
      });
    },
    detached(){
      clearInterval(this.data.timer);
    }
  },
  pageLifetimes: {
    show() {
      this.data.timer=setInterval(()=>{
        if(this.data.moveleft>=this.data.text_width+this.data.interval_widgth){
          this.setData({
            moveleft:-(this.data.interval_widgth+this.data.text_width)
          })
        };
        if(-(this.data.moveleft2)>=this.data.text_width+this.data.interval_widgth){
          this.setData({
            moveleft2:(this.data.interval_widgth+this.data.text_width)
          })
        };
        this.setData({
          moveleft:this.data.moveleft+2,
          moveleft2:this.data.moveleft2-2
        })
      },20)
     
    },
    hide(){
      clearInterval(this.data.timer);
    }
  }
})

成品

微信小程序无缝滚动,前端微信小程序,html5,css,javascript,前端,es6

 

小结

因为用了定时器可能会有些性能不太好,不过功能完成了,如果有不懂的地方可以私信,希望本篇文章对大家有帮助。文章来源地址https://www.toymoban.com/news/detail-712559.html

到了这里,关于简单实现微信小程序实现文字从右往左无缝滚动(走马灯)的组件(类似公告)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序:简单实现查看天气小程序

    首先注册和风天气账号,创建一个免费版的项目,准备好api接口,查看自己的key 如果想获取某个城市天气信息就必须知道这个城市的location和key去请求 那么官方也提供了获取地址location的api,调用即可,其中location和key必填,location支持文字、以英文逗号分隔的经度,纬度坐标

    2024年02月13日
    浏览(65)
  • 微信小程序一键登录(简单实现)

    下载微信开发者工具: 微信开发者工具下载地址与更新日志 | 微信开放文档 (qq.com)  微信公众平台: 微信公众平台 (qq.com) 注册完成后,我们要获取一下APPid和小程序密钥 【注意】:appid和密钥一定要保存好      我们还需要一个接口的后台:  开源后台 我们使用的是微信小

    2024年02月11日
    浏览(55)
  • 微信小程序抽奖 简单功能实现

    抽奖是一种常见的互动活动,在微信小程序中也有很多不同的实现方式。以下是一份简单的微信小程序抽奖源码,供参考:在 wxml 文件中添加抽奖的页面布局: 在js 文件中添加抽奖逻辑: 实现了一个简单的地奖功能,用户点击“开始抽奖“按知后,抽奖结里会从奖品列表中贿机

    2024年02月16日
    浏览(53)
  • 微信小程序:简单实现地图导航功能实现

    里面的小图片需要自己找,真机调试时,点击导航即可进入地图,可导航,规划路线… 效果图 代码: wxml js wxss

    2024年02月11日
    浏览(66)
  • 微信小程序——登录注册的简单实现

    首先在微信开发者工具中创建一个登录注册界面,代码如下: longin.wxml部分: longin.wxss部分: longin.js部分: 接下来是注册界面 register.wxml部分: register.wxss部分: register.js部分: 后端部分: 需在navicat中创建user表,在idea中创建User类

    2024年02月11日
    浏览(53)
  • 微信小程序---骨架屏实现,实现起来超级简单

    骨架屏是页面的一个空白版本,通常会在页面完全渲染之前,通过一些灰色的区块大致勾勒出轮廓,待数据加载完成后,再替换成真实的内容。通常在小程序中,我们需要手工维护骨架屏的代码,当业务变更时,同样需要对骨架屏代码进行调整。 请求数据时都会出现一定的延

    2024年02月11日
    浏览(49)
  • 微信小程序实现下拉简单展示接口数据

    在.js文件中这样写,代码如下: 在wxml文件中这样写,代码如下: 在.json文件中记得添加如下代码,打开下拉功能 \\\"window\\\":{     \\\"backgroundTextStyle\\\":\\\"light\\\",     \\\"navigationBarBackgroundColor\\\": \\\"#282A36\\\",     \\\"navigationBarTitleText\\\": \\\"Linux\\\",     \\\"navigationBarTextStyle\\\":\\\"white\\\",      \\\"enablePullDo

    2024年01月20日
    浏览(38)
  • 微信小程序 简单的实现左右内容联动

    scroll-view 的属性 scroll-into-view 可以实现类似于瞄点链接的效果,在绑定的属性修改时会触发,滑动到对应id的地方 注意: id不能以数字开头 设置两个变量 tabIndex 、 nowIndex 保存状态,如果只设置一个更新变量时会触发瞄点更新 通过 tabIndex 更新瞄点 通过 nowIndex 设置当前的分类

    2024年02月03日
    浏览(68)
  • 微信小程序实现一个简单的登录功能

    微信小程序实现一个简单的登录功能。包括一个登录页面和一个用户信息展示页面。在登录页面中输入用户名和密码,点击登录按钮进行验证,如果验证成功,则跳转到用户信息展示页面,并展示用户的信息(例如用户名和头像)。如果验证失败,则提示登录失败信息。 在上

    2024年02月03日
    浏览(61)
  • 微信小程序 实现最简单的组件拖拽

    最近在自主学习微信小程序的开发;对于零基础入门(没有学习过前端)的我,查阅了许多微信小程序拖拽的实现,大部分要么实现起来太复杂了,要么封装组件太复杂了,附带了拖拽之后排序等功能;因此写下这篇个人觉得最好理解的 微信小程序元素拖拽的实现; 这边采用了

    2024年02月09日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包