Javascript 精灵的位置z索引
我绝对定位了在1000px 1000px区域内移动的对象/精灵。我希望这些精灵具有相对于其位置的z索引: -越向左,z指数越高。 -向下越远,z索引越高(也包括对象的高度)。 因此,该区域左下角的对象的z指数将比右上角的对象高得多——当对象彼此靠近时,这将产生一种凉爽的错觉 我试过了,但失败了:Javascript 精灵的位置z索引,javascript,math,Javascript,Math,我绝对定位了在1000px 1000px区域内移动的对象/精灵。我希望这些精灵具有相对于其位置的z索引: -越向左,z指数越高。 -向下越远,z索引越高(也包括对象的高度)。 因此,该区域左下角的对象的z指数将比右上角的对象高得多——当对象彼此靠近时,这将产生一种凉爽的错觉 我试过了,但失败了: object.style.zIndex = ( 1000 - parseInt(object.style.left) ) + parseInt(object
object.style.zIndex = ( 1000 - parseInt(object.style.left) ) +
parseInt(object.style.top) + object.clientHeight
算法上:
使用jQuery将使代码更短。如果你给我们你的精灵和那个区域的示例代码,我们可以尝试创建一些JS代码,它“完成任务”…这很容易使用数学 当精灵移动时,请执行此操作,以便将其添加到移动精灵的方法或函数中
spritePos = {
'x':1000 - parseInt(object.style.top.replace("px")),
'y':parseInt(object.style.left.replace("px")) - 1000
};
zIndex = spritePos.x + spritePos.y;
object.style.zIndex = zIndex;
感谢您在这方面提供的帮助,但是我不想使用数组来实现这一点,因为我使用setInterval(?,100)oh进行动态操作,而且我已经在没有jquery的情况下构建了整个机制。既然我输入了这个,我实际上是在迭代所有移动元素并存储它们的值-我将使用上面建议的代码并保存值-我会尽快回复结果…好的,我尝试了你的代码,但它仍然不起作用-但是当我将它改为这个时它确实起作用了:return((parseInt(o.style.top)+o.clientHeight)*100)+(parseInt)(o型左)-8000)