Autor Zpráva
Fisak
Profil
Dobrý den. Chtěl bych udělat posuvník dole ovšem konzole mi píše hlášku Uncaught TypeError: Cannot read property 'scrollHeight' of null
kod:
<style>
#chattext {
    background-color:transparent;
    width: 25%;
    height: 150px;
    padding:5px 5px 5px 20px;
    margin-bottom:19px;
    position: absolute;
    left: 0px;
    text-align:left;
    bottom: 0px;
    border: none;
    overflow: auto;
    direction:rtl;
    Overflow-x:hidden;
    padding-left:20px;
    color:white;
}
</style>
<script>
var objDiv = document.getElementById("chattext");
objDiv.scrollTop = objDiv.scrollHeight;
</script>

<div id="chattext"> 

ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>ahoj<br>

</div>
Nevíte prosím co to znamená nebo co s tím?
Chamurappi
Profil
Reaguji na Fisaka:
Ty jsi těmi posuvníky posedlý :-)
V uvedeném kódu nikde jQuery nepoužíváš.

V objDiv není nic, protože element s id="chattext" v době spuštění skriptu neexistuje. Skript se spouští hned, jak ho HTML parser donačte.
Fisak
Profil
Chamurappi:
Omlouvám se ale pořád mi to nefunguje a chtěl bych tomu už jednou pro vždy přijít na kloub. A pokud tomu rozumím dobře tak tento JS stačí dát za ten div ?


Když jsem dal JS za ten div tak se mi to posune do půlky.. A když ještě načtu pomocí jquery z jiné stránky kód tak to už vůbec nefunguje.
<div id="chattext"> 

<span id='hframe'></span>

</div>

<script>

$("#hframe").load("game/chat/chat_frame.php");

$("#chattext").scrollTop($("#chattext")[0].scrollHeight);
</script>
konzole mi opět píše Uncaught TypeError: Cannot read property 'scrollHeight' of undefined
_es
Profil
Fisak:
konzole mi opět píše Uncaught TypeError: Cannot read property 'scrollHeight' of undefined
Áno, z rovnakého dôvodu, aký ti bol vysvetlený v [#2].
Fisak
Profil
_es:
Stále nevím co tam je špatně :-/ omlouvám se pokud mi to nedochází ale tohle jsem nikdy neřešil..


Aha poředil jsem to. Děkuji všem za rady.. pokud by někdo hledal řešení tak jsem ho našel zde: http://forum.jquery.com/topic/nano-scroller-ajax


Ještě otázka. Mohu se zeptat proč mi tohle vždy rollne uplně dolu ale pak mi to odroluje do třičtvrtě divu:
<script>

$("#hframe").load("game/chat/chat_frame.php", function() {
        $("#chattext").scrollTop($("#chattext")[0].scrollHeight);
      });
</script>
chtěl jsem to vyřešit tímto ale bohužel to vůbec nefunguje:
<script>

$("#hframe").load("game/chat/chat_frame.php", function() {
        $("#chattext").scrollTop = 100000;
      });
</script>
Fisak
Profil
Ještě zkouším toto:
var automatika = true;
      
      setInterval(function(){ $("#hframe").load("game/chat/chat_frame.php", function() {
       if (automatika) {
        $("#chattext").scrollTop($("#chattext")[0].scrollHeight);
      }
        firsttime = false;
       
      }); },1000); //chatovací okno 

bohužel to také nefunguje


Dál jsem zkusil:
<div id="chattext">

<span id='hframe'></span>

</div>

<script>

$("#hframe").load("game/chat/chat_frame.php", function() {
       var timerID = setInterval(function(){ $("#chattext").scrollTop($("#chattext")[0].scrollHeight); }, 1000);
      },function(){
          clearInterval(timerID);
      });
</script>

u tohodle skriptu je problém že ten clearInterval nefunguje a tudíž se mi posuvník stále posouvá dolu místo aby se jednou posunul a už toho nechal..


Vyřešeno.. stačla poze podmínka:
var automatika = true;
      
      setInterval(function(){ $("#hframe").load("game/chat/chat_frame.php", function() {
       if (automatika != false) {
        $("#chattext").scrollTop($("#chattext")[0].scrollHeight);
      }
        firsttime = false;
       
      }); },1000); //chatovací okno

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0