javascript - 使用 setInterval 每 3 秒移动一个句子 20px

标签 javascript jquery setinterval

我尝试使用 setInterval() 每 3 秒在 y 轴上简单地移动一个句子 20px。我的代码只会移动该句子一次。这是怎么回事?

var yAxis = 20;

setInterval(function() {
    $('.sentence').css('transform', 'matrix(1, 0, 0, 1, 0,' + yAxis + ')');
 }, 3000);

fiddle

最佳答案

您可以使用offset()方法获取当前元素相对于左侧和顶部的偏移量。首先,获取距顶部的当前偏移量,然后用新值覆盖它,在您的情况下,新值将是“oldOffset + 20px”。这是工作示例:

setInterval(function() {
    var el = $('.sentence');
    var currentOffset = el.offset();
    el.offset({ top: currentOffset.top + 20, left: currentOffset.left})
}, 3000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="sentence">Text Text Text</p>

关于javascript - 使用 setInterval 每 3 秒移动一个句子 20px,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46616170/

相关文章:

javascript - 浏览器如何确定 setInterval 应该使用什么时间?

javascript - Angular 带数据触发器 ='focus' 不工作

javascript - jquery ajax 删除 GET 上的换行符

javascript - 为什么过渡不起作用?

javascript - 我如何创建一个带有图像的模态,模态的链接是图像本身(在较小的版本上))

JavascriptclearInterval仅适用于页面上的一个setInterval

javascript - 剑道卡住(锁定)网格高度

javascript - 在我的 React 自定义 Hook 的每次调用中添加和删除事件监听器是否过于昂贵?如何避免?

javascript - 从 JS 变量更新查询字符串中的 PHP 变量

javascript - react 无限幻灯片