html字幕翻动循环,前端-文字循环滚动播放

方法一

一、index.html

文字循环滚动效果

公告:看完此博客你将学会marquee的详细用法

二、属性:

onMouseOver=“this.stop()”

用来设置鼠标移入该区域时停止滚动

onMouseOut=“this.start()”

用来设置鼠标移出该区域时继续滚动

align

( 标签里面的内容的对其方式 )

absbottom:绝对底部对齐

absmiddle:绝对中央对齐

texttop:顶线对齐

top:顶部对齐

baseline:底线对齐

bottom:底部对齐(默认)

middle:中间对齐

left:左对齐

right:右对齐

behavior

( 设定滚动的方式 )

scroll: 表示由一端滚动到另一端,循环滚动。

slide: 表示由一端滚动到另一端,不会重复。

alternate: 表示在两端之间来回滚动。

bgcolor

( 设定活动字幕的背景颜色 )

RGB:rgb(0,0,255)

颜色名:red

16进制:#5C7C99

direction

( 设定活动字幕的滚动方向 )

up:向上

down:向下

left:向左

right:向右

height

( 设定活动字幕的高度 )

width

( 设定活动字幕的宽度 )

hspace

( 设定活动字幕里所在的位置距离父容器水平边框的距离 )

vspace

( 设定活动字幕里所在的位置距离父容器垂直边框的距离 )

loop

( 设定滚动的次数,当loop=-1表示一直滚动下去,默认为-1 )

scrollamount

( 设定活动字幕的滚动速度,单位pixels )

scrolldelay

( 设定活动字幕滚动两次之间的延迟时间,单位millisecond,毫秒)

方法二

一、index.html

文字循环滚动效果

公告:看完此博客你将掌握通过CSS实现文字滚动效果

二、属性

animation

animation-name:必须存在,因为animation-name的值默认是none,没有动画。

animation-duration:(动画执行一次所需时间)必须存在,因为animation-duration的值默认是0,没有动画。

animation-delay:(动画在开始前的延迟时间)值可以是秒(s)或者是毫秒(ms),默认值是0,没有延迟。

animation-timing-function:(动画以何种运行轨迹完成一个周期)值是贝塞尔曲线 最常用的值有以下几个:

(1)ease,表示动画以低速开始,然后加速,最后在结束前变慢,默认值。

(2)linear:表示动画从头到尾的速度都是相同的。

(3)ease-in:表示动画以低速开始。

(4)ease-out:表示动画以低速结束。

(5)ease-in-out:表示动画以低速开始和结束。

(6)可以直接使用三次贝塞尔函数,使用网站是http://cubic-bezier.com。

animation-iteration-count:(动画播放次数)属性值有两种:

(1)直接写数字,自定义想要播放动画的次数。

(2)infinite:设置动画无线循环播放。

animation-fill-mode:(定义元素动画结束以后或者未开始的元素样式) 属性:

(1)默认值为none,标示,不会在动画结束或者未开始时给元素 添加样式

(2)forwards:表示动画结束后,元素直接接使用当前样式。

(3)backwards:表示在动画延迟时间元素使用关键帧中from的属性值或者to属性值

(当animation-direction为reverse或者alternate-reverse时)

animation-direction:(是否轮流反向播放动画)属性:

(1)默认值是normal,动画正常播放。(如果动画只播放一次,则该属性无效)

(2)reverse:表示动画反向播放。

(3)alternate:表示动画在奇数次播放时为正向播放,为偶数次播放时为反向播放。

(4)alternate-reverse: :表示动画在奇数次播放时为反向播放,为偶数次播放时为正向播放。

keyframes

(创建动画)

0%:表示开始

100%:表示结束

(除了0%和100%还可以自己随便写,例如:38%,50%,66%)

translateX:表示在X轴方向移动位置

-webkit-表示谷歌浏览器内核,不加内核可能会导致效果在谷歌浏览器里失效

Vue3 中创建文字快速翻动效果通常会利用 JavaScript 动画和 Vue 的响应式特性。以下是一个简单的步骤来实现这个效果: 1. 首先,在 Vue 组件中定义一个数组,包含你想要显示的文字字符串: ```html <template> <div ref="flipContainer"> <span v-for="(word, index) in words" :key="index"> {{ word }} <!-- 使用动画组件 --> <transition-group name="flip-fade" tag="p"> <span v-if="isActive(index)" :key="index">{{ word }}</span> </transition-group> </span> </div> </template> ``` 这里用到了 `ref` 和 `v-if` 来控制元素的隐藏和显示。 2. 定义数据属性 `words` 和 `isActive`(用于跟踪当前显示哪一行文字): ```js <script setup> import { ref } from 'vue'; const words = ['这是', '一段', '快速翻动', '的文字']; const isActive = ref({ : true, default: false }); </script> ``` 3. 定义 CSS 动画效果,例如“flip-fade”: ```css <style scoped> .flip-fade-enter-active, .flip-fade-leave-active { transition: transform 0.5s ease; } .flip-fade-enter, .flip-fade-leave-to { transform: translateY(20px); } </style> ``` 这段代码会使文字在进入和离开屏幕时执行淡入淡出并向下移动一定的距离,模拟翻动效果。 4. 更新 `isActive` 属性来切换行: ```js <script setup> // 在适当的时候更新isActive状态 const changeLine = () => { let currentIndex = Object.keys(isActive.value).findIndex(key => isActive.value[key]); if (currentIndex === undefined || !isActive.value[currentIndex]) { currentIndex = 0; } else { currentIndex++; } isActive.value = { ...isActive.value, [currentIndex]: true }; isActive.value = { ...isActive.value, [Math.max(currentIndex - 1, 0)]: false }; }; </script> <button @click="changeLine">Next Line</button> ``` 每次点击按钮时,就会调用 `changeLine` 函数,改变 `isActive` 对象的状态,从而切换下一行文字。 现在,当你点击“Next Line”按钮时,文字会快速翻动。如果你需要更复杂的定时或动画效果,也可以结合使用 Vue 的 `setTimeout` 或者第三方动画库如 `velocity.js`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值