ScrollHeight'ı nasıl belirlerim?


97

Bir bölümün scrollHeight kullanma css overflow: auto?

Denedim:

$('test').scrollHeight();
$('test').height(); but that just returns the size of the div not all the content

Nihayetinde, bir sohbet oluşturmaya çalışıyorum ve her zaman ekrandaki geçerli mesajın kaydırma çubuğuna sahibim.

Bu yüzden şöyle bir şey düşünüyordum:

var test = $('test').height();
$('test').scrollTop(test);

Teşekkür ederim,

Brian


ScrollHeight () kullanmanın nesi yanlış?
Badr Hari

2
@BadrHari: jQuery'de scrollHeight()işlev yok .
TJ Crowder

$ ['test']. get (0) .scrollHeight ();
JFouad

Yanıtlar:


93

scrollHeight normal bir javascript özelliğidir, bu nedenle jQuery'ye ihtiyacınız yoktur.

var test = document.getElementById("foo").scrollHeight;

Teşekkürler! Bu benim için çalıştı: var height = document.getElementById ("chatLog"). ScrollHeight - $ ('# chatLog']. Height (); $ ('# chatLog']. scrollTop (yükseklik);
Brian

6
Tarayıcı desteği ne olacak? Tarayıcıların tüm büyük sürümleri bunu destekliyor mu? IE8 +?
SexyBeast

2
@Cupidvogel Bağlantılı MDN sayfasında IE8 + yazıyor
Dennis

324

JQuery'de doğru yollar -

  • $('#test').prop('scrollHeight') VEYA
  • $('#test')[0].scrollHeight VEYA
  • $('#test').get(0).scrollHeight

16
$ ('# Test') [0] .scrollHeight için +1, soruyu soranın zaten jQuery kullandığı düşünüldüğünde.
Jackson

12
Soruyu cevapladığı için kabul edilen cevap bu olmalıdır.
2016

Kabul edilen cevap olmalı. propYöntemin jquery sürüm 1.6 veya daha üstünü gerektirdiğine dikkat edin . +1 benden

2
Bunun yalnızca bulunan "ilk" öğenin scrollHeight değerini döndürdüğünü unutmayın ve herhangi bir öğe şu anda "gizli" ise, diğerlerinde pozitif bir scrollHeight, FWIW :) olsa bile burada sıfır elde edebilirsiniz
rogerdpack

@rogerdpack İyi nokta efendim! Bu örnekte, seçici olarak sınıf yerine bir kimlik kullanıyor olmasına rağmen, iyi olmalı, ancak yine de iyi bir nokta.
dave4jr
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.