| Autor | Zpráva | ||
|---|---|---|---|
| kurija Profil |
#1 · Zasláno: 9. 7. 2009, 14:04:41
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 |
#2 · Zasláno: 11. 7. 2009, 12:33:06 · Upravil/a: Ofi
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 |
#3 · Zasláno: 11. 7. 2009, 12:40:08
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 |
#4 · Zasláno: 11. 7. 2009, 15:07:31
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 |
#5 · Zasláno: 11. 7. 2009, 18:03:26
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 |
#6 · Zasláno: 11. 7. 2009, 18:10:29 · Upravil/a: Chamurappi
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 |
#7 · Zasláno: 11. 7. 2009, 19:28:52
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 |
#8 · Zasláno: 11. 7. 2009, 20:08:45
děkuji za pomoc. Už to funguje. Použil jsem Chamurappiho řešení a tvůj script. Ještě jednou děkuji:)
|
||
| Ofi Profil |
#9 · Zasláno: 11. 7. 2009, 20:13:44
Nemáš zač, rád jsem pomohl ;)
|
||
| kurija Profil |
#10 · Zasláno: 11. 7. 2009, 20:18:33
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 |
#11 · Zasláno: 11. 7. 2009, 23:49:46
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 |
#12 · Zasláno: 12. 7. 2009, 00:21:33 · Upravil/a: Chamurappi
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 |
#13 · Zasláno: 12. 7. 2009, 11:02:49
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 |
#14 · Zasláno: 12. 7. 2009, 14:31:20
Reaguji na Ofiho:
„a co to provede s mozillou např.? nebo IE6 Nic. X-UA-Compatible podporuje zatím jen Explorer 8. |
||
| Ofi Profil |
#15 · Zasláno: 12. 7. 2009, 16:20:14
dobrá dobrá, v tom případě bych kurija doporučil použít ten header co napsal Chamurappi a máš vyřešeno...
|
||
| kurija Profil |
#16 · Zasláno: 12. 7. 2009, 19:37:21
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:)
|
||
|
Časová prodleva: 16 let
|
|||
0