<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.item {
width: 500px;
height: 30px;
display: flex;
background-color: #ccc;
overflow: hidden;
position: relative;
margin-bottom: 10px;
}
.text {
width: auto;
}
p {
width: auto;
padding: 0;
margin: 0;
height: 30px;
line-height: 30px;
white-space: nowrap;
display: flex;
}
p:hover {
animation-play-state: paused;
}
@keyframes move {
0% {
transform: translateX(0);
}
100% {
transform: translateX(-50%);
}
}
span {
padding-right: 100px;
}
</style>
</head>
<body>
<ul id="app">
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
</p>
</li>
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
</p>
</li>
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
</p>
</li>
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
</p>
</li>
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果,看看效果,看看效果---------</span>
</p>
</li>
<li class="item">
<p>
<span class="text">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
<span class="temp">----这是一段测试文本跑马灯效果的文本,看看效果-------------这是一段测试文本跑马灯效果的文本,看看效果---------</span>
</p>
</li>
</ul>
<script>
// 1s 20px
const item = document.querySelectorAll('#app .item')[0]
const itemW = item.clientWidth
const text = document.querySelectorAll('.text')
const ps = document.querySelectorAll('p')
text.forEach((t, i) => {
const tw = t.clientWidth
if (tw > itemW) {
const sec = (tw - itemW) / 20
ps[i].style.animation = `move linear ${sec}s infinite`
}
})
</script>
</body>
</html>
12-14
4283
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-02
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交