Javascript-将图像向右移动
这是一个应该将图像缓慢向右移动的函数,它不起作用。。。我搞砸了什么Javascript-将图像向右移动,javascript,image,animation,Javascript,Image,Animation,这是一个应该将图像缓慢向右移动的函数,它不起作用。。。我搞砸了什么 <script type="text/javascript"> var userWidth = window.screen.width; function moveRight(id, speed) { var pp = document.getElementById(id); var right = parseInt(pp.style.left); var tim = setTimeout("
<script type="text/javascript">
var userWidth = window.screen.width;
function moveRight(id, speed) {
var pp = document.getElementById(id);
var right = parseInt(pp.style.left);
var tim = setTimeout("moveRight(id, speed)",50);
right = right+speed; // move
if (right > window.screen.height / 2)
{
right=0;
pp.style.left = right+"px";
}
}
</script>
var userWidth=window.screen.width;
功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left);
var tim=设置超时(“移动右键(id,速度)”,50);
右=右+速度;//移动
如果(右>window.screen.height/2)
{
右=0;
pp.style.left=右+px;
}
}
看起来id
和speed
没有传递到moveRight()
。当它们在字符串中时,它们不会被计算。看看这个,它似乎很管用。我把它剥掉一点
<div id="test" style="width: 50px; height: 50px; left: 0px; background-color: #000; position: absolute;"> </div>
<script type="text/javascript">
function moveRight(id, speed) {
var pp = document.getElementById(id);
var right = parseInt(pp.style.left) || 0;
right += speed; // move
pp.style.left = right + "px";
var move = setTimeout(function() {
moveRight(id, speed);
}, 50);
}
moveRight('test', 1);
</script>
功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left)| 0;
右+=速度;//移动
pp.style.left=右+px;
var move=setTimeout(函数(){
右移动(id、速度);
}, 50);
}
移动权(“测试”,1);
玩。您可以根据自己的喜好进行调整。看起来
id
和speed
没有传递到moveRight()
。当它们在字符串中时,它们不会被计算。看看这个,它似乎很管用。我把它剥掉一点
<div id="test" style="width: 50px; height: 50px; left: 0px; background-color: #000; position: absolute;"> </div>
<script type="text/javascript">
function moveRight(id, speed) {
var pp = document.getElementById(id);
var right = parseInt(pp.style.left) || 0;
right += speed; // move
pp.style.left = right + "px";
var move = setTimeout(function() {
moveRight(id, speed);
}, 50);
}
moveRight('test', 1);
</script>
功能右移(id、速度){
var pp=document.getElementById(id);
var right=parseInt(pp.style.left)| 0;
右+=速度;//移动
pp.style.left=右+px;
var move=setTimeout(函数(){
右移动(id、速度);
}, 50);
}
移动权(“测试”,1);
玩。你可以根据自己的喜好调整它。行为是什么。有什么用吗?你的javascript失败了吗?你检查过Javascript控制台了吗?问题的答案肯定会有帮助。看起来setTimeout正在一次又一次地调用函数,跳过实际的移动代码。图像是否有
位置:相对的或位置:绝对的?如果它是静态的,那么设置top/left/right/bottom将不会有任何效果。另外,我看到了一个函数定义,但是这是在代码中调用的吗?行为是什么。有什么用吗?你的javascript失败了吗?你检查过Javascript控制台了吗?问题的答案肯定会有帮助。看起来setTimeout正在一次又一次地调用函数,跳过实际的移动代码。图像是否有位置:相对的或位置:绝对的?如果它是静态的,那么设置top/left/right/bottom不会有任何效果。另外,我看到了一个函数定义,但是这个函数在代码中被调用了吗?