Autor | Zpráva | ||
---|---|---|---|
Fisak Profil |
#1 · Zasláno: 15. 4. 2013, 15:19:27
Dobrý den. Mám script který my má odscrollovat až nakonec divu.. Bohužel tomu tak není.. Neví někdo proč?
<div id="chat-window"> <div id="chat"> <script> CasovacChat(); function NewHodnotaChat() { var xmlhttp; var hframe = document.getElementById('hframe'); if (window.XMLHttpRequest) var xmlhttp = new XMLHttpRequest(); else var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { hframe.innerHTML = xmlhttp.responseText; } } xmlhttp.open("GET", "./../../plugins/php/chat_frame.php", true); xmlhttp.send(); CasovacChat(); } function CasovacChat() { setTimeout("NewHodnotaChat()", 1000); } </script> <span id='hframe'><center style="padding-top: 25%; padding-left: 25%;"><img src="./../../images/chat/load.gif" title="načítání" width="85px"/><br><b>Načítání...</b></center></span> </div> </div> <script> $(function () { var $mydiv = $('#chat'); $mydiv.scrollTop($mydiv.height()); }); </script> |
||
Chamurappi Profil |
#2 · Zasláno: 15. 4. 2013, 15:32:42
Reaguji na Fisaka:
„Bohužel tomu tak není..“ Nevěřím. Nerozumím tvému postupu. Dal jsem ti optimální hotové řešení a teď se s tím zase patláš od začátku, opakuješ stejné chyby… to nemá cenu. |
||
Fisak Profil |
#3 · Zasláno: 15. 4. 2013, 15:34:55
Chamurappi:
Ano fungovalo to pokud to bylo v iframu.. Jenže teď jsem předělal ten chat tak aby to nebylo v iframe ale v divech a to už bohužel fungovalo tak že to posunulo dolu celou stránku a ne pouze div. |
||
Chamurappi Profil |
#4 · Zasláno: 15. 4. 2013, 15:39:56
Reaguji na Fisaka:
Takže budeš místo volání scrollBy(0, 100000) nastavovat nějakýElement.scrollTop = 100000 a onscroll nebudeš chytat na window , ale na tom elementu, a nebudou tě zajímat rozměry a stav posuvníku kořenového elementu, ale toho, kterým se roluje. To jsou všechno celkem jednoduché úpravy, ale ty místo toho celou logiku zahodíš a napatláš si přes jQuery jednorázové přenastavení scrollTop při načtení stránky a pak se divíš, že je jednorázové…
|
||
Fisak Profil |
#5 · Zasláno: 15. 4. 2013, 15:47:31
Chamurappi:
Dobře takže jestli to dobře chápu tak <script> var $mydiv = $('#chat-window'); var automatika = true; $mydiv.onscroll = function() { automatika = $mydiv.scrollTop + $mydiv.clientHeight == $mydiv.scrollHeight; }; if(automatika) scrollBy(0, 100000); </script> takhle je to dobře ? |
||
Chamurappi Profil |
#6 · Zasláno: 15. 4. 2013, 15:52:16
Reaguji na Fisaka:
Ne. Funkce $ nevrací element, ale nějaké jQuery pouzdro kolem pole elementů. Použij document.getElementById , tak, jak už ho používáš jinde.
„ if(automatika) scrollBy(0, 100000); “
Spíš něco.scrollTop = 100000; , kde to něco bude element s posuvníkem.
|
||
Fisak Profil |
#7 · Zasláno: 15. 4. 2013, 15:59:50 · Upravil/a: Fisak
Chamurappi:
Dělám to podle Vás ale stále mi to nejde :( už nevím v čem dělám chybu.. <script> var myScrollDiv = document.getElementById('chat-window'); myScrollDiv.scrollTop = 100000; </script> Ba ne funguje to :-) Děkuji moc za rady.. |
||
Časová prodleva: 11 let
|
0