Почему мои функции mouseOver не работают?

Игра довольно проста: вы нажимаете кнопку «Старт», чтобы начать, затем перемещаете мышь вдоль дорожки, пока не дойдете до конца, затем таймер останавливается и показывает вам счет. Если вы выходите за пределы трассы, вы получаете нулевой балл.

Почему не работают мои функции mouseOver? Ссылка на мой полный код: http://www.codecademy.com/TictacTactic/codebits/AQBK4L/edit

Заранее спасибо!

var score = 1000;
var timer = setInterval(countDown(), 1000);

$(document).ready(function() {
$('#start').click(function() {
    $('#game').mouseover(function() {
        stopTimer();
        score = 0
        $('#points').html(score)
    });
    $('#end').mouseover(function() {
        stopTimer()
        $('#points').html(score)
});
});
});
function countDown() {
score = score - 1;
}

function stopTimer() {
clearInterval(timer);
}

person user3786992    schedule 29.06.2014    source источник
comment
mouseOver != mouseover, вот в чем проблема.   -  person elclanrs    schedule 29.06.2014
comment
почему люди не публикуют соответствующий код?   -  person Jai    schedule 29.06.2014
comment
Спасибо за помощь. Я здесь новенький.   -  person user3786992    schedule 29.06.2014


Ответы (2)


Большинство событий пишется строчными буквами, например mouseover, mouseout и т. д. Есть и другие, написанные заглавными буквами, например DOMContentLoaded. Большинство (если не все) языков программирования чувствительны к регистру, следите за ними.

person Joseph    schedule 29.06.2014
comment
Кажется, что счет сбрасывается до нуля всякий раз, когда я навожу курсор на кнопку запуска. Странный. - person user3786992; 29.06.2014

Попробуй это

    var clicked = false;

$('#start').click(function() {
    if(!clicked){
        clicked = true;         
    }
});

$("#game").hover(function(){
    if(clicked){
        stopTimer();
        score = 0;
        $("#points").html(score);
    }
});
$("#end").hover(function(){
    if(clicked){
        stopTimer();
        $("#points").html(score);
    }
});

Затем позже, если вы не хотите, чтобы событие наведения работало, просто установите для clicked значение false IE : clicked = false;

person Mitch    schedule 29.06.2014
comment
Очень хорошая идея, я искал идею выключателя, но, похоже, она не работает. - person user3786992; 29.06.2014
comment
Я снова попробовал ваш код. Когда я заменил наведение курсором мыши, это сработало, но когда я добавил score = 1000; $(#очки).html(оценка); чтобы счет возвращался к 1000 при нажатии, это не сработало - person user3786992; 29.06.2014
comment
Ах, хорошо, я подумал о выключателе, потому что не был уверен, что событие наведения точно сработает. - person Mitch; 29.06.2014