我正在使用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