Javascript實現字幕滾動的方法:先建立HTML和css檔案;然後將容器設定固定寬度,並設定超出部分隱藏;最後建立js檔案並透過計時器改變位置即可。
本文操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
Javascript怎麼實現字幕滾動?
原生js實作字幕捲動
#使用css和原生js實作的字幕捲動效果,無縫銜接
容器設定固定寬度,超出部分隱藏,滾動部分絕對定位並且透過定時器改變位置
<p class="scroll"> <span>这里是要现实的滚动内容......</span> </p>
.scroll { width: 400px; height: 23px; white-space: nowrap; overflow: hidden; margin-left: 40px; position: relative; } .scroll > span { position: absolute; }
// 字幕滚动变量 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高級教學###》#########
以上是Javascript怎麼實現字幕滾動的詳細內容。更多資訊請關注PHP中文網其他相關文章!