Javascript 使用函数更改div属性?

Javascript 使用函数更改div属性?,javascript,setinterval,Javascript,Setinterval,我不确定为什么我的移动功能没有更改“玩具”的style.left或style.top属性 有关于如何设置div动画的提示或一般信息/链接吗?我在这里拔头发。:) var-ref; 无功定时器; var速度=50; 增值税=5; var deltaY=5; 左向量=0; var-top=0; //var moveX=math.random()*速度; //var moveY=math.random()*速度; 函数init(){ 警报(“初始功能”); ref=document.getEleme

我不确定为什么我的移动功能没有更改“玩具”的style.left或style.top属性

有关于如何设置div动画的提示或一般信息/链接吗?我在这里拔头发。:)

var-ref;
无功定时器;
var速度=50;
增值税=5;
var deltaY=5;
左向量=0;
var-top=0;
//var moveX=math.random()*速度;
//var moveY=math.random()*速度;
函数init(){
警报(“初始功能”);
ref=document.getElementById(“玩具”);
警报(“ref=“+ref.valueOf());
定时器=设置间隔(移动,50);
}
函数move(){
警报(“移动”);
var left=parseInt(ref.style.left);
var top=parseInt(ref.style.top);
警报(“left=“+left.valueOf()+”top=“+top.valueOf());
左+=5;
top+=5;
警报(“left=“+left.valueOf()+”top=“+top.valueOf());
ref.style.left+=左;
参考样式顶部+=5;
警报(“ref.style.left=“+ref.style.left.valueOf()+”ref.style.top=“+ref.style.top.valueOf());
ref.style.left=(left+deltaX)%posEnd;
}
var-posEnd=0;
var-objWidth=100;
if(窗口内部宽度){
posEnd=window.innerWidth
}else if(window.document.body.clientWidth){
posEnd=window.document.body.clientWidth
}

您只需指定位置所在的单位。例如,
style.left=10
不起作用-您需要
style.left='10px'

下面是您的
move()
函数的一个稍微简化的版本,显示了以下内容:

function move() {
    var left = parseInt(ref.style.left);
    var top = parseInt(ref.style.top);

    left += 5;
    top += 5;

    ref.style.left = left + 'px';
    ref.style.top = top + 'px';
}
还有一个完整的工作片段:

var-ref;
无功定时器;
var速度=50;
增值税=5;
var deltaY=5;
左向量=0;
var-top=0;
函数init(){
ref=document.getElementById(“玩具”);
定时器=设置间隔(移动,500);
}
函数move(){
var left=parseInt(ref.style.left);
var top=parseInt(ref.style.top);
左+=5;
top+=5;
ref.style.left=左+像素;
ref.style.top=top+px;
}
var-posEnd=0;
var-objWidth=100;
if(窗口内部宽度){
posEnd=window.innerWidth
}else if(window.document.body.clientWidth){
posEnd=window.document.body.clientWidth
}


您是否收到任何控制台错误?发生了什么,您希望看到什么?你能把你的代码转换成一个堆栈片段,让每个人都能看到它是如何工作的吗?你不想使用css3动画有什么原因吗?我建议使用css3动画,因为您只需更改left属性一次,webbrowser就会为您设置div动画。但在某些情况下,您可能希望看到一个类似于您现在尝试的javascript解决方案。
posEnd
定义在哪里?您将
posEnd
定义为
0
,然后您将
left+deltaX)%posEnd。任何
%0
都是
NaN