javascript关于div的style属性设置及修改
请问:下面部分,调用后,执行的过程中,进入moveXY()函数后,在getlocal()函数里面可以访问this.pic.style.top,但是为什么进入setloca...
请问:下面部分,调用后,执行的过程中,进入moveXY()函数后,在getlocal()函数里面可以访问this.pic.style.top,但是为什么进入setlocal就不能访问pic.style.left?
//创建mario,beef对象
var mario=new Pic("mymario");
//图片对象
function Pic(name){
this.name=name;
this.x=10;//初始位置
this.y=10;
this.pic=$1(this.name);
}
Pic.prototype.move=moveXY;
Pic.prototype.getLocal=getLocation;
Pic.prototype.setLocal=setLocation;
//获取图片的位置信息
function getLocation(){
this.pic=document.getElementById(this.name);
this.y=this.pic.style.top;
this.y=parseInt(this.y.substring(0,this.y.length-2));//利用substring方法截取30px字符中的数字,并通过parseInt转换为数字
this.x=this.pic.style.left;
this.x=parseInt(this.x.substring(0,this.x.length-2));
}
//设置图片的位置
function setLocation(){
//var pic=document.getElementById(this.name);
this.pic.style.left=this.x+"px";
this.pic.style.top=this.y+"px";
}
//移动
function moveXY(direct,speed){
//移动 0->up 1->right 2->down 3->left
var xx=10;
var yy=10;
//获取当前mario的位置
this.getLocal();
xx=this.x;
xx=this.y;
//根据按键移动
switch(direct){
case '0'://上
this.y-=speed;
break;
case '1'://右
this.x+=speed;
break;
case '2'://下
this.y+=speed;
break;
case '3'://左
this.x-=speed;
break;
}
this.setLocal();
}
/*div部分*/
<div id="mymario" style="left:50px;top:50px;position:absolute;" border="1px" >
<img style="width:50px ;length:40px " src="mario.jpg" alt="" />
</div> 展开
//创建mario,beef对象
var mario=new Pic("mymario");
//图片对象
function Pic(name){
this.name=name;
this.x=10;//初始位置
this.y=10;
this.pic=$1(this.name);
}
Pic.prototype.move=moveXY;
Pic.prototype.getLocal=getLocation;
Pic.prototype.setLocal=setLocation;
//获取图片的位置信息
function getLocation(){
this.pic=document.getElementById(this.name);
this.y=this.pic.style.top;
this.y=parseInt(this.y.substring(0,this.y.length-2));//利用substring方法截取30px字符中的数字,并通过parseInt转换为数字
this.x=this.pic.style.left;
this.x=parseInt(this.x.substring(0,this.x.length-2));
}
//设置图片的位置
function setLocation(){
//var pic=document.getElementById(this.name);
this.pic.style.left=this.x+"px";
this.pic.style.top=this.y+"px";
}
//移动
function moveXY(direct,speed){
//移动 0->up 1->right 2->down 3->left
var xx=10;
var yy=10;
//获取当前mario的位置
this.getLocal();
xx=this.x;
xx=this.y;
//根据按键移动
switch(direct){
case '0'://上
this.y-=speed;
break;
case '1'://右
this.x+=speed;
break;
case '2'://下
this.y+=speed;
break;
case '3'://左
this.x-=speed;
break;
}
this.setLocal();
}
/*div部分*/
<div id="mymario" style="left:50px;top:50px;position:absolute;" border="1px" >
<img style="width:50px ;length:40px " src="mario.jpg" alt="" />
</div> 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询