JQuery'de pencerenin yüksekliğini ve kaydırma konumunu nasıl belirlerim?


179

Pencerenin yüksekliğini ve jQuery'de kaydırma ofsetini almam gerekiyor, ancak jQuery belgelerinde veya Google'da bunu bulma şansım olmadı.

Ben bir öğe için yükseklik ve scrollTop erişmek için bir yol var% 90 eminim (muhtemelen pencere dahil), ama sadece belirli bir referans bulamıyorum.


2
JQuery olmadan nasıl?
Costa

@Costa Muhtemelen StackOverflow üzerinde başka bir yerde sorulmuştur ve değilse kendi sorusu olmayı hak eder.
One Crayon

Yanıtlar:


296

JQuery Dokümanlarından:

const height = $(window).height();
const scrollTop = $(window).scrollTop();

http://api.jquery.com/scrollTop/
http://api.jquery.com/height/


1
Rakamları dokümanlarda kaçırdım; onları aradım, ama örgütleri açıkçası bana bir anlam ifade etmiyor (sanırım hala Mootools'ta düşünüyorum). Teşekkürler!
One Crayon

Bu, daha önceki bir sürümde eklendiği halde jQuery 1.3.2 için herhangi bir tarayıcıda çalışmaz. Ya o ya da burada
kodumla ilgili bir sorunum

11
$ (window) .height (), kaydırma yüksekliğini değil yükseklik görünüm penceresini verir. $ (document) .height (), Aidamina'nın önerdiği gibi gerçek kaydırma yüksekliğini verir.
Jonathan

Bunun gibi basit şeylerin kaç tane oyu çektiğini sık sık şaşırıyorum, ancak bu hafta zaten iki kez baktığım için +1 daha var
Neil



6
$(window).height()

$(window).width()

Öğe konumunu ve ofsetlerini belirlemek için jquery için bir eklenti de vardır

http://plugins.jquery.com/project/dimensions

scrolling offset = bir öğenin offsetHeight özelliği


1
Teşekkürler Joseph. Başka bir eklenti kullanmaktan kaçınmaya çalıştığım şey tam olarak aradığım şey değildi, ama beni doğru yönde aradınız. Sonunda, öğelerin buna göre ayarlamak için sayfanın ne kadarının görünüm penceresini geçtiğini anlamak için gerçekten ihtiyacım olan şey '$ (window) .scrollTop ()' oldu.
DA.

0

Bir öğenin bir noktasına gitmeniz gerekiyorsa. Yukarı / aşağı kaydırmak için Jquery işlevini kullanabilirsiniz.

$('html, body').animate({
                scrollTop: $("#div1").offset().top
            }, 'slow');
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.