2014-04-09 2 views
0

У меня проблема с функцией() .scrollTop(). Я хочу проверить, прокручивается ли тело моего html. Я попробовал этот код:jquery body selector, похоже, не работает

p = $('body').scrollTop(); 
console.log(p); 

также вместо ('тело') в селекторе я попробовал (document.body), ("#ID").

Проблема в том, что в консоли я всегда получаю возвращаемое значение «null» вместо «0». Я попробовал то же самое (окно), затем он возвращает «0» и отлично работает. Но в моем случае я не могу использовать (окно), потому что мне нужно скрыть переполнение html. Тело документа прокручивается и имеет высоту/ширину 100%, поэтому я не понимаю, почему он не работает.

Большое спасибо за помощь!

+0

Почему бы тело прокручивать вместо окна? – adeneo

+0

@adeneo: http://stackoverflow.com/a/14886047/1719752 –

+0

@MilindAnantwar - У этого придурка есть неправильный ответ! – adeneo

ответ

0

использование document вместо body:

$(document).scrollTop(); 
+0

$ (document) .scrollTop(); вернет scrollValue из Проблема в том, что я не хочу, чтобы scrollValue всего HTML, потому что это всегда было бы «0», поскольку у меня есть переполнение: скрыто на моем . Вместо этого я хочу значение для элемента . – ibanes88

+0

@ user1430544: было бы здорово, если бы вы могли создать скрипку –

0

вы можете захотеть использовать это:

<html> 
<body> 
<div id="wrap"> 
you html ... 
</div> 
</body> 
</html> 

ЯШ:

p=$("#wrap").scrollTop() 
console.log(p) 
+0

Я хочу получить текущее значение прокрутки, в конце концов, я хочу, чтобы он возвращал «0» для того, чтобы быть наверху или, например. «50», если я прокрутил тело вниз на 50 пикселей. Проблема в том, что я не получаю scrollvalue тела, которое должно быть «0», вместо этого я получаю «null» – ibanes88

+0

@ user1430544 извините, что плохо, тогда ответ доброй воли верен. – ProllyGeek

+0

В любом случае, прокрутка вверх будет работать над чем-то, у которого есть родительское dom, попробуйте обернуть весь контент вашего тела в контейнере div – ProllyGeek

Смежные вопросы