我正在使用Javascript的鼠标事件将鼠标位置信息传递给Flash,并根据鼠标位置显示特定的动画帧。鼠标闪烁时,Javascript mousemove事件不会触发
问题是,当鼠标在Flash对象上时,它不再触发JavaScript事件。我在Chrome上测试过它,它似乎在工作,但Firefox不想合作。
我的Flash对象位于网站的中间并具有透明背景。它必须保持这种方式。另外,我宁愿不动的动作对ActionScript有两个原因:
网站的宽度不是恒定的(例如不同的浏览器),所以我不得不推视口的宽度设置为闪光过,这会使脚本复杂化,也会使鼠标事件变得复杂。
我不太了解AS。
代码:(我在这里使用jQuery,因为它也可用于其他地方的页面上,以前的样机使用纯JS)
function viewport()
{
var e = window
, a = 'inner';
if (!('innerWidth' in window))
{
a = 'client';
e = document.documentElement || document.body;
}
return e[ a+'Width' ];
}
puszka = document.getElementById("puszka");
$().mousemove(function(e)
{
var x = e.pageX || e.clientX + document.body.scrollLeft;
var frame = Math.floor(x * 100/viewport());
puszka.transformCan(frame);
});
问题是,我必须知道文档中flash的相对位置才能正确计算帧。 – d4rky
然后通过调用javascript函数捕获X和Y的位置 – Stefan
是的,我可能会坚持下去,谢谢:) – d4rky