Jquery анимация с оператором if - PullRequest
0 голосов
/ 19 мая 2011

По сути, я сделал панорамный снимок, а затем поместил его в div, называемый Screen (который также находится внутри другого div, называемого Screen 1, что делает его таким образом, что в любой момент может быть видна только часть 600x400px), а затем сделалфункция для левой стрелки, при нажатии на которую перемещается экран Div на 200 пикселей.На данный момент он работает нормально, хотя мой код, вероятно, не очень чистый.Но в любом случае моя проблема заключается в том, что я пытаюсь сделать оператор if, чтобы, когда левая позиция div достигла определенного значения, стрелка скрылась, но она не сработала, что бы я ни пытался.Ниже приведен код:

Функция щелчка:

$('#arrowl').click(function() {
    $('#Screen').animate({
        left: '+=200'
    }, 300, function() {
        duration: 200,
        movescreen();
    });
});

функция movecreen:

var a = $('#Screen').css("left")

function movescreen () {
    if( a == "-5px") {
        alert("success")
    }
}

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

1 Ответ

0 голосов
/ 19 мая 2011

Я работаю в предположении, что позиция -5px - это позиция, в которой вы хотите скрыть стрелку.Проблема в том, что вы оцениваете позицию до того момента, когда вам все равно, и она меняется.Вам нужно выполнить оценку внутри функции MoveSreen:

function movescreen() {
    if ($('#Screen').css('left') === '-5px') {
        window.alert('success');
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...