javascript - 如何将多个内容依次显示为跑马灯?第二个内容应该需要一些时间来显示

标签 javascript jquery html css asp.net

我有两个不同的内容,我想在单行中将内容显示为字幕,并且内容应该一个接一个地显示,并有一些延迟时间。

<marquee direction="left">
  <label>Label 1 content here</label>
  <label>Label 2 content here</label>
</marquee>

最佳答案

这是我的解决方案,没有 <marquee>标签,现在已弃用:

//list of slides to be shown
const content = [
    'first slide',
    'second slide',
    'third slide'
];

let key = 0;
const marquee = $('.marquee');
marquee.on('animationstart', () => {
    key = 0;
    marquee.text(content[key]);
});
marquee.on('animationiteration', () => {
    key++;
    if(typeof content[key] === 'undefined') key = 0;
    marquee.text(content[key]);
});
marquee.removeClass('paused');
.marquee-container {
    width: 100vw;
    overflow: hidden;
    white-space: nowrap;
}

.marquee {
    padding-left: 100vw;
    display: inline-block;
    animation: marquee 5s linear infinite;
    animation-play-state: running;
}

.marquee.paused, .marquee-container:hover .marquee {
    animation-play-state: paused;
}

@keyframes marquee {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-100%);
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="marquee-container">
    <div class="marquee paused"></div>
</div>

关于javascript - 如何将多个内容依次显示为跑马灯?第二个内容应该需要一些时间来显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382321/

相关文章:

javascript - 跨域网络 worker

javascript - 允许元素的前后内容覆盖父溢出限制

javascript - 单击时将输入值添加到 html 属性

javascript - 如何根据 div id 更改链接?

javascript - 如何使div可调整大小

html - 引导列?

javascript - 尝试提取音频元数据Javascript

Javascript - 创建动态元素然后在元素单击时执行某些操作

javascript - Angularjs没有模块错误

javascript - 如何制作当有人喜欢或评论我们的帖子时出现的 Facebook 通知框?