Скрипт не работает при переносе с jQuery 1.3.2 на 1.6.2

Этот скрипт хорошо работает с jQuery-1.3.2.min.js, но не работает с jQuery-1.6.2.min.js .

Может кто-нибудь помочь мне исправить это?

function moveScroller() {
    var a = function () {
            var b = $(window).scrollTop();
            var d = $("#scroller-anchor").offset({
                scroll: false
            }).top;
            var c = $("#scroller");
            if (b > d) {
                c.css({
                    position: "fixed",
                    top: "0px"
                })
            } else {
                if (b <= d) {
                    c.css({
                        position: "relative",
                        top: ""
                    })
                }
            }
        };
    $(window).scroll(a);
    a()
}
$(function () {
    moveScroller();
});

2 ответа

offset() переключился на получение координат в качестве параметра с jQuery версии 1.4.

Изменить:

var d = $("#scroller-anchor").offset({scroll:false}).top;

Для того, чтобы:

var d = $("#scroller-anchor").offset().top;


Мы не можем помочь с остальным кодом, не видя HTML и CSS, которые идут с ним.

Что такое:

.offset({scroll:false})

Функция смещения не принимает параметр прокрутки.

Другие вопросы по тегам