if оператор hover синтаксическое сообщение об ошибке - PullRequest
0 голосов
/ 28 апреля 2011

Я пытаюсь сказать, если движение вниз и движение определенной длины, затем сделать непрозрачность изображения темнее, но с этим кодом я получаю синтаксическую ошибку:

    function touchMove(event) {
        event.preventDefault();
        if ( event.touches.length == 1 ) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120){
            curX = event.touches[0].pageX;
            curY = event.touches[0].pageY;
        ('1.png').hover(function() {
            $(this).stop().animate({ "opacity": .5 });
        }}
            // OPTIONAL ACTION: draw the results to the page
            updateReadout(2) 
        } else {
            touchCancel(event);
        }
    }

Ответы [ 4 ]

0 голосов
/ 28 апреля 2011

Я дал вашему коду JSLint spin

function touchMove(event) {
    event.preventDefault();
    if ((event.touches.length === 1) && (swipeDirection === 'down') && (swipeLength >= 90) && (swipeLength <= 120)) {
        curX = event.touches[0].pageX;
        curY = event.touches[0].pageY;
        ('1.png').hover(function() {
            $(this).stop().animate({
                "opacity": '.5'
            });
        });
        // OPTIONAL ACTION: draw the results to the page
        updateReadout(2);
    } else {
        touchCancel(event);
    }
}

Было несколько синтаксических ошибок (отсутствует) и; между прочим). Кроме того, вызов updateReadout (2) находился за пределами if, а затем следовал одинокий else, поэтому я исправил это в соответствии с тем, как я полагал, что это должно работать, но вы должны обязательно проверить еще раз.

0 голосов
/ 28 апреля 2011
if ( event.touches.length == 1 ) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120){

должно быть

if ( event.touches.length == 1 && swipeDirection == 'down' && swipeLength >= 90 && swipeLength <= 120){

круглые скобки

0 голосов
/ 28 апреля 2011

В этой части:

('1.png').hover(function() {
            $(this).stop().animate({ "opacity": .5 });
        }}

, а также исправление селектора (согласно ответу Рори), последняя строка должна быть });:

$('IMG[src*=1.png]').hover(function() {
    $(this).stop().animate({ "opacity": .5 });
});
0 голосов
/ 28 апреля 2011

Немного подробнее о том, что такое синтаксическая ошибка, было бы полезно.

На первый взгляд, хотя вам нужен набор скобок для группировки вашего оператора if

    if ((event.touches.length == 1) && (swipeDirection == 'down') && (swipeLength >= 90) && (swipeLength <= 120)) {

Во-вторых, используемый вами селектор 1.png Я предполагаю, что это src элемента изображения?В этом случае это должно быть

$('IMG[src*=1.png]').hover(function() {

Однако выбор на основе имени изображения очень ненадежен.Например, приведенное выше будет соответствовать 1.png, а также 11.png, 21.png и т. Д. Если вы можете изменить это на селектор класса или идентификатора или пройти DOM от элемента, к которому вы прикоснулись, чтобы найти изображение.

Возможно, в коде могут быть другие проблемы, но мы надеемся, что это исправит синтаксические проблемы.

...