2012-04-16 103 views
0

我想让球在撞击板时弹起。所以我必须让棋盘像素在球击中棋盘时使它反弹。我试过这种方式,但没有奏效。 这里是我的代码 Javascript代码如何从javascript中的图像获取像素索引

var xboard = document.getElementById(board) 
var movx = parseInt(xboard.style.left) 

图片代码

<img id="board" style="z-index: 0; left: 300;position: absolute; top: 600px" align=baseline border=0 hspace=0 src="design/board.gif"> 

当我试图通过

alert(movx) 

它说 “未定义” 的警告框来获取像素。 任何人都可以帮助我吗?

+0

这里是一些讨论如何实现的[坐标] [1] [1]:http://stackoverflow.com/questions/829252/how-to-find-coordinates-of-an -html键式或图像-跨浏览器 – Adil 2012-04-16 10:38:53

+0

这里是一些讨论如何实现的[坐标] [1] [1]:http://stackoverflow.com/questions/829252/how查找坐标的HTML按钮或图像跨浏览器 – Adil 2012-04-16 10:40:24

+0

它说,我们必须使用JQuery。但我所要做的就是用javascript做到这一点,讲师说我无法使用JQuery – greenthunder 2012-04-16 10:50:01

回答

0

这种方法可以让你控制通过

<img id="board" style="z-index: 0; left: 300;position: absolute; top: 600px" align=baseline border=0 hspace=0 src="design/board.gif"> 

function findPos(obj){ 
var curleft = 0; 
var curtop = 0; 

if (obj.offsetParent) { 
    do { 
     curleft += obj.offsetLeft; 
     curtop += obj.offsetTop; 
     } while (obj = obj.offsetParent); 

    return {X:curleft,Y:curtop}; 
} 
} 

findPos(document.getElementById('board')); 
alert(curleft); 
alert(curtop); 

的坐标有关详细信息here

+0

所以我必须在函数体中加载findPos函数?如果是的话,我应该写什么参数? – greenthunder 2012-04-16 11:41:05

+0

put

1

我认为你需要声明的位置与PX:

left: 300px 

似乎工作:http://jsfiddle.net/p2gRq/

+0

我试过,但它没有工作。结果是undefined – greenthunder 2012-04-16 10:51:22

+0

@greenthunder确保在DOM完成后调用alert - 只需在关闭BODY标签之前放置脚本即可。 – David 2012-04-16 11:34:49

+0

我把脚本放在头上,而不是放在身体里。 – greenthunder 2012-04-16 16:20:52

0

您正在尝试t o使用实际的元素,而不是它的id

更改此:

var xboard = document.getElementById(board); 

到:

var xboard = document.getElementById('board'); 

并确保你没有尝试之前存在它来访问board

+0

它不工作:( – greenthunder 2012-04-16 11:40:07

+0

你有变量声明和'alert()'在同一个函数中吗?确切的错误信息是什么?可能看到整个代码在这里或在jsFiddle? – Teemu 2012-04-16 11:43:16

+0

不,我把警报在另一个函数。错误消息说:“未定义” – greenthunder 2012-04-16 16:19:23