uniapp 文字无缝从右到左滚动

本文介绍了一个uniapp插件ay-goLeft_r,用于实现文字无缝从右到左滚动的效果。插件通过swiper组件实现,具备自定义内容、展示宽度、字体大小等属性,并提供了设置自动切换时间和动画时长的功能。在组件创建和更新时,会根据输入的文字调整显示列表,确保滚动的平滑。在实际应用中,可以通过引入插件并配置参数来实现在uniapp项目中的文字无缝左滚效果。

uniapp 文字无缝从右到左滚动

欢迎使用ay-goLeft_r插件(正研究优化中)

最近有需求为:文字无缝左滚,整理插件代码如下:

1.ay-goLeft_r插件

可去uniapp插件市场的操作组件:文字无缝左滚,自定义任意内容插件页面下载.

属性
属性 类型 说明
str_show String 需要显示的文本
str_show_num Number 展示空间可以显示的字数
width Number 展示空间的宽度,单位px

下面是插件的 代码片.

<template>
	<view class="_notice" :style="style_box">
		
		<swiper v-for="(item,index) in list" :key="index" class="tc" :style="swiperHeight" @change="slideChange" :indicator-dots="false" :autoplay="true"
			:interval="interval"  :circular="true" display-multiple-items="1" :duration="duration" :acceleration="true">
			
			<swiper-item v-for="(item2,index2) in item.list" :key="index2">
				
				<view  class="swiper-item-a" :class="index==0?'swiper-item-l':'swiper-item-r'">{
   
   {
   
   item2}}</view>
			</swiper-item>
		</swiper>
	</view>
</template>

<script>
	export default {
   
   
		props: {
   
   
			//显示数据
			str_show: {
   
   
				type: String,
				default: '',
			},
			str_show_num: {
   
   
				type: Number,
				default: 8,
			},
			
			paddingLR: {
   
   
				type: Number,
				default: 10,
			},
			paddingTB: {
   
   
				type: Number,
				default: 0,
			},
			letterSpacing: {
   
   
				type: Number,
				default: 0,
			},
			height: {
   
   
				type: Number,
				default: 22,
			},
			width: {
   
   
				type: Number,
				default: 100<
### UniApp 中实现顶部文字左右滚动的公告组件 在 UniApp 开发中,可以通过 `swiper` 组件或者 CSS 动画的方式实现顶部文字左右滚动的公告效果。以下是两种常见的方法: #### 方法一:基于 Swiper 的实现方式 Swiper 是一种强大的滑动组件,在 UniApp 中可以用来制作轮播图或其他滑动效果。对于顶部文字左右滚动的需求,也可以利用其特性。 ```html <template> <view class="announcement-container"> <swiper class="swiper-box" vertical="false" circular interval="3000" duration="500" > <swiper-item v-for="(item, index) in announcementList" :key="index"> <view class="swiper-item">{{ item }}</view> </swiper-item> </swiper> </view> </template> <script lang="js"> export default { data() { return { announcementList: [ '欢迎来到我们的平台!', '最新活动已上线,请查看详情。', '感谢您的支持!' ] }; } }; </script> <style scoped> .announcement-container { width: 100%; height: 40px; line-height: 40px; background-color: #f8f8f8; overflow: hidden; } .swiper-box { width: 100%; white-space: nowrap; } .swiper-item { display: inline-block; padding: 0 10px; font-size: 14px; color: #333; } </style> ``` 上述代码实现了简单的顶部文字左右滚动功能[^1]。通过配置 `swiper` 属性中的 `vertical="false"` 和 `circular=true` 来控制水平方向上的循环滚动行为。 --- #### 方法二:基于 CSS 动画的实现方式 如果希望更轻量级地实现这一需求,可以直接使用纯 CSS 动画完成文字滚动效果。 ```html <template> <view class="marquee-container"> <text class="marquee-text">{{ marqueeText }}</text> </view> </template> <script lang="js"> export default { data() { return { marqueeText: '欢迎来到我们的平台! 最新活动已上线,请查看详情。感谢您的支持!' }; } }; </script> <style scoped> .marquee-container { position: relative; width: 100%; height: 40px; line-height: 40px; overflow: hidden; background-color: #f8f8f8; } .marquee-text { display: inline-block; white-space: nowrap; animation: scroll-left 10s linear infinite; margin-left: 100%; /* 初始位置 */ font-size: 14px; color: #333; } @keyframes scroll-left { 0% { transform: translateX(0); } 100% { transform: translateX(-100%); } } </style> ``` 这种方法完全依赖于 CSS 动画,无需额外引入复杂的逻辑或组件即可达到良好的视觉体验[^2]。 --- ### 总结 以上提供了两种不同的方案来满足 UniApp 中顶部文字左右滚动的需求。第一种基于 `swiper` 的方式更加灵活,适合需要复杂交互的情况;第二种则更适合追求性能优化和简单展示的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wx_h13813744

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值