marquee跑马灯的替代方式

随着H5的语义化,marquee标签逐渐被替代,后续可能浏览器不支持

这里介绍一下替代方式

实现位移的话,可以使用css3的transform配合过渡或者定时器

transition、transform、anmiation,使用css3的话,要考虑自己的应用场景,也就是滚动内容的宽度是固定的,因为@keyframe动画是在css中硬编码的,如果想用的话,这个就需要自己去找适合的插件了。

在这里分享个Js控制@keyframe动画的地址:https://blog.csdn.net/qq_40776187/article/details/85262210          作者:我是某慧

 

js的话,使用setInterval();

 

div:

<div class="LED" >

<div class="dd_start" >

这是划过的内容区块

</div>

<div class="dd_end" ></div>

</div>

----------------------------------------------

css:

.LED {

width: 600px;

height: 300px;

border: 10px solid red;

background-color: black;

box-sizing: border-box;

display: flex;

align-items: center;

margin: 100px auto;

overflow: hidden;

white-space: nowrap;

}

.dd_start,

.dd_end {

display: inline;

font-size: 100px;

color: white;

font-weight: bold;

padding: 0px 150px;

}

-------------------------------------------------------------------------------

Js代码:

引入jquery

function ScrollImgLeft() {

var speed = 5;

var MyMar = null;

var scroll_begin = $(".dd_start").get(0);

var scroll_end = $(".dd_end").get(0);

var scroll_div = $(".LED").get(0);

scroll_end.innerHTML = scroll_begin.innerHTML;

// 运动方式

function Marquee() {

// 用dd_end的宽度

if (scroll_end.offsetWidth - scroll_div.scrollLeft <= 0) {

scroll_div.scrollLeft -= scroll_begin.offsetWidth;

} else {

scroll_div.scrollLeft ++;

}

}

MyMar = setInterval(Marquee, speed);

scroll_div.onmouseover = function () {

clearInterval(MyMar);

}

scroll_div.onmouseout = function () {

MyMar = setInterval(Marquee, speed);

}

}

ScrollImgLeft();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

杀猪刀-墨林

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

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

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

打赏作者

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

抵扣说明:

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

余额充值