#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 });
});
Комментарии:
1. О, вы правы! Не знаю, как мне это удалось. Также понял, что я на самом деле хотел header = $(‘#header_wrapper’) . height();