ďťż

[JS] Selektywne przewijanie warstwy

       

Podstrony


telcocafe

Stan początkowy: Istnieje duża warstwa <div> ze stylem overflow: auto. Ma pionowy suwak.

Zdarzenie: Na koniec warstwy <div> trafia nowa zawartość.

Reakcja:

1. Jeżeli przed zdarzeniem suwak znajdował się na samym dole - tzn. warstwa była przewinięta w dół, to po zdarzeniu przewiń warstwę ponownie na sam dół.

2. W przeciwnym wypadku nic nie rób (dodana zawartość będzie niewidoczna).

Znam własności: scrollTop i scrollHeight, które mogą pomóc. Jutro zastanowię się nad wzorem, który pomoże wykryć, czy warstwa jest przewinięta na sam dół. Może ktoś już to próbował wykonać?



Nie tyle próbował, co wykonał. Niektóre shoutboksy posiadają takową funkcjonalność.
Napisałem parę miesięcy temu skrypt czatu i wykorzystałem to:var scroll = (document.getElementById('content').scrollTop == document.getElementById('content').scrollHeight - document.getElementById('content').offsetHeight); if (isIE && !document.getElementById('content').scrollTop) scroll = true; ... if (scroll) document.getElementById('content').scrollTop = document.getElementById('content').scrollHeight;W IE jest oczywiście jakiś problem i trzeba to jakoś obejść, ale jakoś nie miałem do tego głowy.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.