这是我的代码:
<body>
<header></header>
<div id="slider" class="slider">
<p>Slider content</p>
</div>
<script src="jas.js"></script>
</body>
var divPos = 50;
var direction = "L";
function preparepage() {
document.getElementById("slider").style.position = "absolute";
document.getElementById("slider").style.left = divPos + "px";
document.getElementById("slider").style.top = "50px";
animateDiv = setInterval(beginAnimate,50);
}
function beginAnimate () {
if (direction == "L") {
divPos+=50;
if (divPos == 1300) {
direction = "R";
}
} else if (direction == "R"){
divPos-=50;
if (divPos == 150) {
direction = "L";
}
}
document.getElementById("slider").style.left = divPos + "px";
}
window.onload = function () {
setTimeout(preparepage,200);
};
我希望#slider从左到右,当它到达某一点时返回。我的代码运行正常,但我尝试了这种方式:
if (direction == "L") {
divPos+=50;
if (divPos == window.innerWidth - 300) {
direction = "R";
}
}
它将永远留下。 为什么会这样? 我能做些什么才能让它在某个时刻回归,不知道什么是屏幕分辨率?
答案 0 :(得分:0)
使用:
if (divPos > window.innerWidth - 300) {
除非窗口的宽度是50的倍数,否则将divPos
增加50赢不会恰好击中innerWidth - 300
,所以你需要不那么严格。