переменная не работает для анимации прокрутки

#jquery #scroll

#jquery #прокрутка

Вопрос:

Я пытаюсь вычислить, как далеко вниз по экрану для прокрутки. Я делаю это, вычисляя пиксели из верхнего окна. Это мой код:

 $('#nav_ibutton_start').click(function(){
header = $('#header_wrapper').offset().top;
element = $('#ibutton_products').offset().top;
pos = header-element;
$("html, body").animate({ scrollTop: pos }, "slow");
});
 

Я предупредил переменную ‘pos’, и это правильное число. И я протестировал его без переменной, например:

 $("html, body").animate({ scrollTop: 500 }, "slow");
 

И это тоже работает нормально. Почему это не работает, когда я использую переменную ‘pos’?

Ответ №1:

ваш результат отрицательный. это невозможно, чтобы прокрутка стала верхней (потому что она уже находится в верхней позиции).

и ваш код будет работать, только если вы прокрутите вниз, а затем нажмете на #nav_ibutton_start

я изменил ваш код. проверьте ниже

 var pos = header-element;(your value is -)
 

просто измените порядок на var pos = element-header;

 $('#nav_ibutton_start').click(function(){
header = $('#header_wrapper').offset().top;
element = $('#ibutton_products').offset().top;
var pos = element-header;
    alert(pos);
$("html, body").animate({ scrollTop: pos });
});
 

http://jsfiddle.net/CWC7u/1/

Комментарии:

1. О, вы правы! Не знаю, как мне это удалось. Также понял, что я на самом деле хотел header = $(‘#header_wrapper’) . height();