Благодаря пользователю Rex я теперь использую следующий код для изменения поля прокрутки с эффектом анимации.
$(document).scroll(function () {
$("#content").animate({margin: "0px 0px 0px 0px"}, 3000);
});
http://jsfiddle.net/Vinay199129/qSe4e/10/
Теперь я хотел бы иметь тот же эффект, когда я прокручиваю вверх, что маржа возвращается к исходному состоянию, я попробовал его со следующим скриптом, который обнаруживает прокрутку вверх или вниз, но он не работает: http://jsfiddle. net/qSe4e/14 (предупреждающие сообщения помогли мне показать, работает ли скрипт обнаружения прокрутки)
надеюсь, кто-то может мне помочь
РЕШЕНИЕ:
Редактировать:
Этот ответ относится к этому 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});
Внесите эти изменения в свою скрипку и посмотрите, что вы получите.