Мой сайт html / javascript / css работает в IE, но не в FF - PullRequest
0 голосов
/ 02 июня 2011

www.warhawkcomputers.com / Birenbaum

На этом сайте есть различные проекты для моего класса Computer, в котором я учусь. Идет проверка, и все программы должны будут работать в FFи IE.

Мои проекты «Прыгающий мяч», «Ипподром» и «Танки» в третьем квартале, а также «Понг» в четвертом квартале работают в IE, когда объекты необходимо перемещать с помощью постоянно добавляемой переменной, выполняемой в сценарии javascript, и это работает.в IE идеально, но при просмотре в Firefox 3 движущиеся объекты больше не двигаются, и я проверил, что он получает переменные, но, кажется, добавляет его только один раз, и что document.getElementById("objectname").style.left = "постоянно добавляемая переменная", кажется,не будет выполняться, несмотря на то, что он находится в таймере, работающем каждые 10 миллисекунд.

Кроме того, ни один из моих keypress кодов не работает в Firefox, но я считаю, что это потому, что я использую устаревший метод перемещения объектов с помощью нажатия клавиш.Во многом это связано с устаревшими методами моего учителя.

Спасибо за помощь всех ваших парней.

Ответы [ 2 ]

3 голосов
/ 02 июня 2011

Firefox не использует глобальный объект event. Они передают объект события в обработчик. В результате вам нужно изменить функцию Move:

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

Геррат абсолютно прав насчет другой проблемы, о которой вы спрашивали.

РЕДАКТИРОВАТЬ : это не будет работать с тем, как вы подключили свой обработчик событий в теге body. Вам необходимо удалить атрибут onkeydown="Move()" из тега body и добавить следующий код вверху JavaScript.js:

document.body.onkeydown=Move;

Если бы ваш учитель позволил это сделать, вам было бы НАМНОГО лучше использовать jQuery или какой-либо другой фреймворк.

3 голосов
/ 02 июня 2011

Вам необходимо добавить «единицы» на ваши позиции:

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

Это будет работать и в FF.

...