Как зациклить переменные в Jquery? - PullRequest
0 голосов
/ 30 октября 2011

Скажите, position начинается с 0, c.width равно 700.После того, как я дважды нажму #button, анимация перестает работать.Но это не так.Я думаю, это потому, что значения моих переменных остаются неизменными после каждого нажатия на #button.

Как зациклить переменные, чтобы они обновляли значение каждый раз, когда я нажимаю #button?(Значение position должно меняться каждый раз, когда я нажимаю #button, но я не знаю, как ...)

<script type="text/javascript">
$(document).ready(function(){
    $('#button').click(function(){
        var c=$('#content');
        var position=c.position();
        var w=c.width();
        var status=w - position.left;
        if(status>500){
            c.stop().animate({left:position.left - 100},300)};
            var position=c.position();
        });
    })
</script>

1 Ответ

0 голосов
/ 30 октября 2011

Согласно вашей математике, status не только всегда будет больше 500, но и будет увеличиваться.

Click -> 500
Click -> 700
Click -> 900
Click -> 1100

Вы можете изменить свою математику следующим образом:

if (status < 900) {
    c.stop().animate({
        left: position.left - 100
    }, 300)
};

Вот демо: http://jsfiddle.net/qbLd2/

...