javascript - 无限跑马灯响应无间隙

标签 javascript html jquery css

我的这段代码有问题。 我想通过连续动画对这些文字应用选取框效果。 在我的结果中,在100%关键帧处,动画返回到0,效果很糟糕! 我希望动画能够完全响应。 非常感谢你!

通过此视频,您可以看到错误 -> VIDEO

var elements = $('ul.tithome li').length;

for(var i=0;i < elements; i++){
 $(".tithome").clone().prependTo( ".scorri" );
};

var liEle = [];
var liEle = $(".tithome li");
.cont{
  width: 100%;
  overflow: hidden;
}

.scorri{
  position:relative;
  display: flex;
  width: 100%;
  animation-name: marquee;
  animation-duration: 20s;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
  justify-content: space-between;
}

.tithome{
  display: contents;
}

.tithome li{
  width: fit-content;
  display: inline-block;
  list-style: none;
  padding-right: 30px;
  font-size: 40px;
}

@keyframes marquee {
  0% { left: 0; }
  100% {left: -88.79%;}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cont">
<div class="scorri">
  <ul class="tithome">
    <li>Governance</li>
    <li>HR</li>
    <li>Sales</li>
  </ul>
</div>
</div>

最佳答案

您可以为 transform 属性设置动画,而不是 left:

var elements = $('ul.tithome li').length;

for(var i=0;i < elements; i++){
 $(".tithome").clone().prependTo( ".scorri" );
};

var liEle = [];
var liEle = $(".tithome li");
.cont{
    width: 100%;
    overflow: hidden;
}

.scorri{
    position: relative;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.tithome{
    animation-name: marquee;
    animation-duration: 5s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
    flex-shrink: 0;
}

.tithome li{
    width: fit-content;
    display: inline-block;
    list-style: none;
    padding-right: 30px;
    font-size: 40px;
}

@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-100%); }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="cont">
<div class="scorri">
  <ul class="tithome">
    <li>Governance</li>
    <li>HR</li>
    <li>Sales</li>
  </ul>
</div>
</div>

关于javascript - 无限跑马灯响应无间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61620687/

相关文章:

javascript - 检查文件/blob 对象是否有效 UTF-8

javascript - D3 将图像附加到表头的方法

html - 如何禁用按钮中的下划线

jquery - 在移动设备上禁用垂直滚动(但不是水平滚动)

javascript - 如何将多个事件应用于同一个函数

javascript - 在新窗口中显示 pdf 流

javascript - 在第一个页面加载时运行 javascript

javascript - 重新分配内置类型的原型(prototype)

javascript - Qt-Android 应用程序中的 QWebChannel

jquery - 使用 jquery addclass 将 css 添加到表中