2011-06-02 73 views
0

www.warhawkcomputers.com/Birenbaum我的HTML/JavaScript的/ CSS網站在IE中而不是在FF

這個網站有,我在我的電腦類的各種項目。檢查快到了,所有的程序都需要在FF工作和IE。

第三季度下我的彈跳球,賽道和坦克項目以及第四季度下的pong,當IE對象需要通過在javascript腳本中執行的連續添加變量來移動時,它的工作原理完美無缺在IE,但Firefox 3的觀察時,移動物體不再移動,我已經測試,找出它獲取變量,但似乎只加一次,而且document.getElementById("objectname").style.left =「不斷增加變量」看來,儘管不被執行處於每10毫秒運行一次的計時器中。

同樣,沒有我keypress代碼工作在Firefox,但我相信這是因爲我使用通過按鍵移動物體的一個過時的方法。這主要是由於我老師的過時方法。

感謝所有的你的球員的幫助。

+0

歡迎的瀏覽器不規範的世界。 – 2011-06-02 17:09:06

+0

可能需要看到你的html/js/css。 – Chewpers 2011-06-02 17:15:41

+1

@mrust:......在他的帖子中的第一項是所有 – Gerrat 2011-06-02 17:20:51

回答

3

你需要一個「單位」添加到您的位置:

document.getElementById("ball").style.left = x + 'px'; 
document.getElementById("ball").style.top = y + 'px'; 

這將在FF工作,以及現在。

3

Firefox不使用全局event對象。他們將一個事件對象傳遞給處理程序。其結果是,你需要修改Move功能:

function Move(e) { 
    /* snip */ 
    var whichkey = window.event ? window.event.keyCode : e.keyCode; 
    /* ... */ 

Gerrat是關於你問到的其他問題完全正確的。

編輯:這不會與您如何掛鉤您的事件處理程序在身體標記。您需要刪除從身體標記的onkeydown="Move()"屬性,並在JavaScript.js頂部添加以下代碼:

document.body.onkeydown=Move; 

如果允許的話,您的老師這樣做,你會好得多使用jQuery或其他一些框架。

+0

一個鏈接,您應該能接受兩個答案,因爲你都是對的。尼斯完成lawnsea – Metagrapher 2011-06-02 18:09:28

+0

謝謝你。明天我會爲此工作。可悲的是,我的導師堅持要用JavaScript來學習欣賞其他框架。 – Cory 2011-06-03 05:17:15