jQuery animate ({left: "+ = 10"}) не работает - PullRequest
2 голосов
/ 20 апреля 2011
<script type="text/javascript" src="./Scripts/jquery-1.5.1.min.js"></script>
<script type='text/javascript' >
    $(document).ready(function () {
        $("#start").animate({ left: "+=10px" }, 1000)
            .animate({ left: "-5000px" }, 1000);
    });
</script>

<p id="start">this is some text that i am going to animate </p>

Я ломаю голову над тем, почему это не оживляет. Если я изменю left на marginLeft, он будет работать, как ожидалось, и оживляет. Но я не уверен, почему left нет.

Может кто-нибудь объяснить, пожалуйста? Я видел много других скриптов, делающих что-то подобное.

Ответы [ 2 ]

10 голосов
/ 20 апреля 2011

Чтобы позиционирование работало, его нужно включить, установив свойство position css.

Установите его на fixed или absolute или relative для работы ( в зависимости от того, чего вы пытаетесь достичь )

Цитирование из спецификации position MDC docs свойство.

Начальное значение : статическое

и

статические
Нормальное поведение Свойства top , right , bottom и left не имеют применяются.

1 голос
/ 20 апреля 2011

Вы устанавливаете положение этого <p> на absolute

как: p{position:absolute;} в противном случае используйте marginLeft вместо left

...