Autor Zpráva
kurija
Profil
Dobrý den,
mám na stránkách v divu scrollbar a potřeboval bych aby se mi zobrazoval dole a ne nahoře. V divu se mi zobrazuje obsah textového souboru a potřebuju aby se zobrazil poslední přidaný příspěvek kde končí div. A ne aby se muselo pohybovat scrollbarem až úplně dolů.
Předem děkuji za případné návrhy řešení tohoto problému
Ofi
Profil
Tak ted sem ten kod dopsal:) bylo by to asi takhle, možná to jde jednodušeji nevim ;):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <title>...</title>
  <style type="text/css">

  
  </style>
  <script type="text/javascript">
  function scrollDown() {
	var theHeight;
        var visibleHeight;
        var scrollPx;

// celková výška dokumentu v divu s id topic
	theHeight = document.getElementById('obsah').scrollHeight; 

// výška viditelné části obsahu divu topic (tady ten div mam nastaven na 300px takže bych mohl 
//napsat i toto: visibleHeight = 300;
	visibleHeight = document.getElementById('obsah').offsetHeight;

//rozdíl neboli počet px které potřebuji aby se odrolovalo dolu
	scrollPx = theHeight - visibleHeight;
	
//podle podmínek zajistím funkčnost v prohlížečích a nastavim scrollování na scrollPx
	if (self.pageYOffset) {//mozilla apod...
		document.getElementById('obsah').pageYOffset = scrollPx;
	} else if (document.documentElement && document.documentElement.scrollTop){// Explorer 6 Strict
		document.getElementById('obsah').scrollTop = scrollPx;
	} else if (document.body) {// ostatní Explorery
		document.getElementById('obsah').scrollTop = scrollPx;
	}
	
	
  }
  </script>
  </head>
  <body onload="scrollDown()">
<center>

<div id="obsah" style="height:300px; overflow:auto"><p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p><p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p><p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p><p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
	<p>obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...obsah, jakýkoliv text...</p>
</div>
  </center></body>
</html>


dulezity je tu na tom ten js, ale chtel jsem abys to mel v komplexni ukazce ;)
Ofi
Profil
dodatek (blbne mi edit) : nebylo by lepsi to udelat tak aby se ti ten nejnovejsi prispevek vzdy zobrazoval nahore a nejstarsi dole?(cili ne odshora dolu ale odspoda nahoru) - to mi prijde praktictejsi :)
Chamurappi
Profil
Reaguji na Ofiho:
podle podmínek zajistím funkčnost v prohlížečích a nastavim scrollování na scrollPx
Ty podmínky jsou zbytečné. Jednak ve dvou ze tří větví děláš totéž, jednak Mozilla také podporuje scrollTop.
kurija
Profil
Ofi - bylo by to jednodušší, ale já nevím jak na to. Z textového souboru se mi přes php vypisuje jeho obsah. A obsah se připisuje vždy nakonec. Ještě jedna věc v tom scriptu, který si napsal je <body onload="scrollDown()">. Já už mám na svých stránkách <body onload="ajax_update();">. Jak to mám udělat aby se spustili oba? Javascript neumím. Jinak bych věděl jak na to. Děkuji za reakce
Chamurappi
Profil
Reaguji na kuriju:
Jednotlivé příkazy v JS se oddělují středníkem.
Ale lepší bude, když zavoláš scrollDown hned za koncem toho <dvi>u, kterého se týká. Prostě tam přidej:
<script>
  scrollDown();
</script>
Ofi
Profil
Chamurappi
Ty podmínky jsou zbytečné. Jednak ve dvou ze tří větví děláš totéž, jednak Mozilla také podporuje scrollTop.
dvou stejných použití ze tří jsem si vědom - mam vlastní šablonu pokud pracuji s takovými věcmi - psal jsem narychlo tak jsem to nechal rozdělené.. mozilla netscape starší verze by s tím měli problém...

kurija
<body onload="ajax_update();scrollDown()">

ale co ti radí Chamurappi je lepší..
kurija
Profil
děkuji za pomoc. Už to funguje. Použil jsem Chamurappiho řešení a tvůj script. Ještě jednou děkuji:)
Ofi
Profil
Nemáš zač, rád jsem pomohl ;)
kurija
Profil
funguje správně ve všech prohlížečích kromě IE 8. Ta lišta se sice posune. Ale jen tak o 30 px. Já sice IE vůbec nepoužívám. Spíš Chrome, Safari nebo Mozillu Firefox. Ale spousta lidí jo. Nevíte co s tím?
Ofi
Profil
IE8 bývá dost problémový co slýchám - zrovna před 5ti minutama mi otec říkal jak ho IE8 "podělává" - že mu něco nezobrazuje, zatímco ostatní IE i prohlížeče jo - stále víc si myslím že IE je odpad ... Zítra se na to skusím podívat ale nic nezaručuji ;)
Chamurappi
Profil
Reaguji na kuriju:
Osmičku jde snadno přepnout do režimu sedmičky, takže s ní vesměs nejsou žádné problémy:
<meta http-equiv="X-UA-Compatible" content="IE=7">

Ale přesto prosím o odkaz na živou ukázku.


Reaguji na Ofiho:
stále víc si myslím že IE je odpad
To je velmi nápomocné a konstruktivní.
Ofi
Profil
Chamurappi
To je velmi nápomocné a konstruktivní.
psal jsem příspěvek, že se na to podívám, a když jsem ho psal tak jsem připsal svůj názor, takže to co konkrétně jsi citoval mu asi nápomocné nebude ;)

<meta http-equiv="X-UA-Compatible" content="IE=7">

a co to provede s mozillou např.? nebo IE6 kou? - já jen jestli to nemá nějaký vedlejší efekt :)
Chamurappi
Profil
Reaguji na Ofiho:
a co to provede s mozillou např.? nebo IE6 kou?
Nic. X-UA-Compatible podporuje zatím jen Explorer 8.
Ofi
Profil
dobrá dobrá, v tom případě bych kurija doporučil použít ten header co napsal Chamurappi a máš vyřešeno...
kurija
Profil
http://www.kuritci.ic.cz/chat - toto je živá ukázka;-) jinak IE je podle mě taky odpad. Já ho nepoužívám, takže to neřeším. Mám ho v pc jen proto abych věděl jak vypadají stránky v různých prohlížečích. Dal jsem tam Chamurappiho header a zlepšilo se to. Už je to skoro dole:)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: