【问题标题】:How to get pixel's index from image in javascript如何在javascript中从图像中获取像素的索引
【发布时间】:2014-11-20 01:23:00
【问题描述】:

我想让球在击中板时反弹。所以我必须让棋盘像素在球击中棋盘时让它反弹。我尝试过这种方式,但没有奏效。 这是我的代码 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)

在警告框中显示“未定义”。 谁能帮帮我?

【问题讨论】:

标签: javascript image get coordinate


【解决方案1】:

我认为你需要用px声明位置:

left: 300px

似乎有效:http://jsfiddle.net/p2gRq/

【讨论】:

  • @greenthunder 确保您在 DOM 完成后调用 alert - 只需在关闭 BODY 标记之前放置脚本。
  • 我将脚本放在头部,而不是正文中。
【解决方案2】:

这个方法给你传递的控制坐标

<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

【讨论】:

  • 所以我必须在body中加载函数findPos?如果是,我应该在参数中写什么?
  • put
  • @Adil OP 刚开始看书"...the lecturer said..." :)。
  • 你成功了吗?如果这篇文章对您有帮助,那么您可以接受它,以便它可以帮助其他人
【解决方案3】:

您正在尝试使用实际元素而不是 id

改变这个:

var xboard = document.getElementById(board);

到:

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

并确保您没有尝试在 board 存在之前访问它。

【讨论】:

  • 你有变量声明和alert() 在同一个函数中吗?确切的错误信息是什么?是否可以在这里或在 jsFiddle 中看到整个代码?
  • 不,我将警报放在另一个函数中。错误消息说“未定义”
  • 嗯...我认为这是您的警报框说Undefined,如果这确实是框中的所有文本。无论如何,您遇到了范围问题。用var 声明变量会限制它们只能在那个函数中访问。一个快速的解决方法是通过删除var 使movx 全局化。了解有关范围的更多信息:developer.mozilla.org/en/JavaScript/Guide/…
猜你喜欢
  • 2016-10-04
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
  • 2019-06-13
相关资源
最近更新 更多