【发布时间】:2012-01-25 12:45:25
【问题描述】:
我正在使用 Javascript 的鼠标事件将有关鼠标位置的信息传递给 flash 并根据鼠标位置显示特定的动画帧。
问题是,当鼠标悬停在 flash 对象上时,它不再触发 javascript 事件。我已经在 Chrome 上测试过,它似乎可以工作,但 Firefox 不想合作。
我的 Flash 对象位于网站的中间,并且具有透明背景。它必须保持这种状态。另外,出于两个原因,我宁愿不将动作移至 ActionScript:
网站的宽度不是恒定的(例如不同的浏览器),所以我也必须将视口的宽度推送到 flash,这会使脚本复杂化,mouseenter 事件等也会变得复杂。
我不太了解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);
});
【问题讨论】:
标签: javascript jquery flash actionscript mouse