我正在尝试编写一个每 20 毫秒移动 1px 的行的简单代码(smt 就像一个股票行情指示器)。另外,希望它在到达浏览器窗口边缘后使用 .offsetWidth 属性消失。不幸的是,我被困住了,我不知道为什么它根本不动。请帮我找出错误,或者也许我走错了方向?谢谢!
<html>
<head>
<title>Blablabla</title>
<meta charset ="utf-8">
<!-- <script type="text/javascript" src="line.js"></script> -->
</head>
<body onload="interval()">
<div id="line">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
</div>
<script type="text/javascript">
function interval() {
var line = setInterval(function(){document.getElementById("line").style.left = scroll.offsetWidth}, 20);
}
</script>
</body>
</html>
最佳答案
看看下面的示例,它的注释应该可以帮助您理解、查看演示并使用代码
//set starting offset
var leftOffset = 0;
//assign element to variable
var element = document.getElementById("line");
//css.left requires position.absolute
element.style.position = 'absolute';
//calculate width of element, in display.block it's 100%
element.style.display = 'inline-block';
//assign interval id to a variable for cancelation
var interval = setInterval(function(){
//increase offset by 1
leftOffset = leftOffset + 1;
//check if element is sticked to screen.right
if(leftOffset + element.offsetWidth < document.body.offsetWidth) {
//not sticked
//add pixels
element.style.left = leftOffset + 'px';
} else {
//sticked
//remove interval
clearInterval(interval);
//hide element
element.style.display = 'none';
}
}, 20);
<div id="line">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
</div>
关于javascript - 为什么绳子在一定的间隔内不动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35429624/