微信小程序——文字水平循环滚动

前言:有时候页面上需要放一个通告或者通知,成一行文字的形式,从右到左滑动直至全部消失之后,继而从最右侧出现,以此循环往复,接着小河码就带领大家在微信开发者工具中实现该特效,如果有幸被观众老爷们看到,希望能够点个赞哦。

1、在该页面的.wxml中按照如下编写代码
<!--为最外层的大盒子-->
<view class="container">


  <!--此为实现一个喇叭图标-->
  <view class="container1">
    <icon class="iconfont icon-gonggao"/>
  </view>


  <!--此为实现滑动文字的盒子-->
  <view class="container2">
    <view class="gun" style="transform: translateX({{moveDistance}}px);">
      <text class="gunn">在这里,使用世界前沿的人工智能技术,为用户甄选海量的高清美图,用更流畅,更快捷,更精准的搜索体验,带你去发现多彩的世界。</text>
    </view>
  </view>



</view>
2、在该文件下的.wxss中按照如下编写代码
/**顶部文字滑动*/
.container {
  width: 100%;
  height: 70rpx;
  display: flex;
}
.container1{
  width: 10%;
  height: 70rpx;
  text-align: center;
}
.container1 icon{
  font-size: 40rpx;
  line-height: 70rpx;
}
.container2{
  position: absolute;
  width: 85%;
  left: 10%;
  height: 70rpx;
  white-space: nowrap;
  overflow: hidden;
}
.gunn{
  line-height: 70rpx;
  font-size: 28rpx;
  color: darkgray;
}
3、在该文件下的.js文件中按照如下编写代码
Page({
  data: {
    timer:0,
    moveDistance:100,
    loadingWidth:0,
    letterWidth:0,
  },

  onLoad() {
    this.initSwiper();
  },

  // 事件处理函数
  initSwiper: function () {
    let query=wx.createSelectorQuery();
    query.select('.container').boundingClientRect((res)=>{
      this.data.loadingWidth=parseInt(res.width);
    }).exec()
    query.select('.gunn').boundingClientRect((res)=>{
      this.data.letterWidth=parseInt(res.width);
      this.moveText();
    }).exec()
  },

  moveText:function () {
    this.data.timer=setInterval(()=>{
      this.setData(
        {moveDistance:this.data.moveDistance-2}
      )
 

      if(this.data.moveDistance <= -this.data.letterWidth ){
        
        this.setData(
          {moveDistance:this.data.loadingWidth*0.85}
        )
        clearInterval(this.data.timer)
        this.moveText()
      } 
    },50)
  }
})
4、插播一下,喇叭图标的获取方式

此图标是在阿里巴巴矢量图标库中获取的:链接如下(或者自行搜索):

iconfont-阿里巴巴矢量图标库

在微信小程序的使用步骤为:

1、首先在顶部搜索自己所需要的图标

2、然后选择自己需要的图标,之后选择加入购物车,然后选择添加至项目

 3、然后点击更新代码,可能会涉及到设置选中项目配置中的svg Base64,之后点击链接复制更新生成的代码。

 4、然后进入微信开发者工具新建一文件夹(ico

@import "../../iconfont/iconfont.wxss";

nfont),和一文件(iconfont.wxss),然后粘贴刚才复制的代码进这个文件,如下图所示:

 5、使用时,首先在要使用页面的.wxss文件中引入iconfont.wxss文件

@import "../../iconfont/iconfont.wxss";

 6、页面引用

<icon class="iconfont icon-gonggao"/>

7、到这里就结束啦,完结撒花

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
微信小程序中的scroll-view组件是用来实现滚动视图的,但默认情况下并不支持循环滚动。如果需要实现循环滚动,我们可以通过一些自定义的方式来实现。 实现循环滚动的基本思路是在scroll-view组件外面放置一个容器,并在容器中复制一份完整的内容,并且在容器的开始和结束处分别添加一份内容的副本。通过设置容器的宽度为原始内容的宽度加上一份内容的副本的宽度,来实现循环滚动的效果。 具体实现的步骤如下: 1. 在scroll-view组件外部添加一个容器,例如使用view组件包裹scroll-view组件。 2. 获取原始内容的宽度,可以使用小程序的API来获取元素的宽度,如wx.createSelectorQuery().select('#id').boundingClientRect() 3. 复制一份完整的内容,并在容器的开始和结束处分别添加一份内容的副本。 4. 设置容器的宽度为原始内容的宽度加上一份内容的副本的宽度。 5. 在scroll-view组件的bindscroll事件中,通过监听滚动的偏移量,当滚动偏移量超过容器的宽度时,将scroll-view的滚动到对应的位置,并且将滚动偏移量重置为0,实现循环滚动的效果。 需要注意的是,滚动的速度要快于内容的切换,否则会出现内容错乱的情况。同时,由于scroll-view组件在滚动到边缘时会有一定的滚动回弹效果,所以在滚动到容器的开始和结束处时会有一小段回弹效果,可以根据具体的需求进行调整和优化。 总结起来,通过在scroll-view组件外部添加一个容器,在容器中复制一份完整的内容并设置容器的宽度,以及通过监听滚动事件来实现滚动偏移量的调整,就可以实现微信小程序中scroll-view的循环滚动效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值