这篇文章主要介绍“Javascript怎么实现字幕滚动”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Javascript怎么实现字幕滚动”文章能帮助大家解决问题。
Javascript实现字幕滚动的方法:首先创建HTML和css文件;然后将容器设置固定宽度,并设置超出部分隐藏;最后创建js文件并通过定时器改变位置即可。
本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
Javascript怎么实现字幕滚动?
使用css和原生js实现的字幕滚动效果,无缝衔接
容器设置固定宽度,超出部分隐藏,滚动部分绝对定位并通过定时器改变位置
html部分
<p class="scroll">
<span>这里是要现实的滚动内容......</span>
</p>
css部分
.scroll {
width: 400px;
height: 23px;
white-space: nowrap;
overflow: hidden;
margin-left: 40px;
position: relative;
}
.scroll > span {
position: absolute;
}
js部分
// 字幕滚动变量
var scrollTime = null
var LEN = 400 // 一个完整滚动条的长度
var x = 0
// 启动滚动定时器
function roll () {
console.log('启动')
var tag1 = document.querySelector('.scroll>span')
var tag2 = tag1.nextSibling
var fun = function () {
tag1.style.left = x + 'px'
tag2.style.left = (x + LEN) + 'px'
x = x - 5
if ((x + LEN) === 0) {
x = 0
}
}
if (scrollTime) {
clearInterval(scrollTime)
}
scrollTime = setInterval(fun, 300)
}
// 绑定鼠标事件
function bindMouseEvent () {
var el = document.querySelector('.scroll>span')
var el2 = el.cloneNode(true)
LEN = el.clientWidth + 100 // 动态修改滚动条的长度,避免文字过多重叠
el2.style.left = (x + LEN) + 'px'
el.parentElement.appendChild(el2)
el.addEventListener('mouseenter', function (e) {
clearInterval(scrollTime)
})
el.addEventListener('mouseleave', function (e) {
roll()
})
}
关于“Javascript怎么实现字幕滚动”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4584614/blog/4390878