Я пишу функцию для проверки положения полосы прокрутки относительно предопределенных позиций элементов, которые я сохранил в массиве.На странице может быть любое количество элементов этого типа, поэтому я использую цикл for для проверки положения полосы прокрутки.
Этот код отлично работает в Firefox, но по какой-то причине jQuery возвращаетсовершенно разные позиции для каждого из моих элементов .post-info ($ pi) в Chrome, и даже ошибается $ (document) .height.Это проблема с моим JavaScript или с моим CSS?Я приму свой JS, поскольку я проверил свою позицию: относительно большинства элементов в моем css.
Вот jQuery, который я использую:
(function(){
var i,
st,
length,
arrPos = []
$wn = $(window);
$pi = $('.post-info');
$pi.each(function(){
arrPos.push($(this).offset().top - 80); // offset -80 so new item sticks quicker.
});
height = $(document).height();
arrPos.push(height); // add bottom position of document to array for last item.
length = arrPos.length;
$wn.scroll(function(){ //Scroll Event Listener
st = $wn.scrollTop();
for(i=0; i<=length; i++){
// i = index, n = next
n = i+1;
if(st > arrPos[i] && st < arrPos[n]) _stick(i);
}
});
Большое спасибо.