изменить маржинальную вершину на свитке (анимация)

0

Благодаря пользователю Rex я теперь использую следующий код для изменения поля прокрутки с эффектом анимации.

$(document).scroll(function () {
$("#content").animate({margin: "0px 0px 0px 0px"}, 3000);
});

http://jsfiddle.net/Vinay199129/qSe4e/10/

Теперь я хотел бы иметь тот же эффект, когда я прокручиваю вверх, что маржа возвращается к исходному состоянию, я попробовал его со следующим скриптом, который обнаруживает прокрутку вверх или вниз, но он не работает: http://jsfiddle. net/qSe4e/14 (предупреждающие сообщения помогли мне показать, работает ли скрипт обнаружения прокрутки)

надеюсь, кто-то может мне помочь

РЕШЕНИЕ:

http://jsfiddle.net/qSe4e/15/

Теги:
scroll

1 ответ

0
Лучший ответ

Редактировать:

Этот ответ относится к этому jsfiddle: http://jsfiddle.net/qSe4e/14

Конец редактирования.

В jsfiddle вы регистрируете обработчик для события прокрутки окна, в котором говорится: "когда окно прокручивается, зарегистрируйте обработчик события прокрутки документа", который все испортит. Итак, ваш код выглядит следующим образом:

$(document).scroll(function () {
  $("#three").animate({margin: "0px 0px 0px 0px"}, 3000);
});

Должно быть просто так:

$("#three").animate({margin: "0px 0px 0px 0px"}, 3000);

В основном просто удалите оболочку прокрутки документа.

Затем возникает вторая проблема в том, что jQuery автоматически ставит в очередь эти анимации для вас, поэтому они будут отложены при прокрутке. Вы получите лучший результат с чем-то вроде этого:

$("#three").animate({margin: "0px 0px 0px 0px"}, {queue: false, duration: 3000});

Внесите эти изменения в свою скрипку и посмотрите, что вы получите.

  • 0
    Спасибо! : D jsfiddle.net/qSe4e/15
  • 0
    Рад, что смог помочь :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню