Avatar billede thb Nybegynder
15. februar 2004 - 17:05 Der er 5 kommentarer og
1 løsning

Indholdet i en div

Hej alle

Jeg har et javascript hvor man ved at røre ved 2 knapper kan scrolle op og ned i et div..

Jeg kan bare godt tænke mig at op & ned knapperne kun bliver vist hvis der er tekst der går uden for div'et, altså hvis der er overflow.. 

Håber I forstår mit spm.. :)

Thomas
Avatar billede bearhugx Nybegynder
15. februar 2004 - 17:18 #1
Her er et lille eksempel, som kan lede dig på vej ... Hvad du leder efter er offsetHeight-property'en

<html>
    <script type="text/javascript">
        function addText() {
            document.getElementById("content").innerHTML = document.getElementById("content").innerHTML + "New line ("+document.getElementById("content").offsetHeight+")<br/>";

            if(document.getElementById("content").offsetHeight > document.getElementById("box").offsetHeight)
                document.getElementById("warning").style.display="block";
        }
    </script>
    <body>
        <div id="box" style="border: 2px solid black; height: 200px; width: 300px; overflow:hidden;">
            <div id="content">
            </div>
        </div>

        <input type="button" value="add text" onclick="addText();">
        <div id="warning" style="border:3px solid #d00; background-color: #f00; color: #ff0; font-weight:bold; width: 300px; display:none;">OVERFLOW!</div>
    </body>
</html>
Avatar billede thb Nybegynder
15. februar 2004 - 18:06 #2
det ser meget godt ud :)

Jeg tjekker det lige igennem... og ser om jeg kan få det til at virker...
Kan du ikke smide et svar..

Thomas
Avatar billede bearhugx Nybegynder
15. februar 2004 - 18:12 #3
^svar^
Avatar billede thb Nybegynder
15. februar 2004 - 18:25 #4
nu har jeg prøvet at lave lidt men jeg er ikke så god til javascript.. kan du tilrette det...

min funktion..
function checkOverflow(name){
    if(document.getElementById(name).offsetHeight > document.getElementById("top"+name).offsetHeight)
        document.getElementById("scroll"+name).style.visibility = "inline";
}

i body skriver jeg så..
onload="checkOverflow('box1');checkOverflow('box2')"

og så har jeg det her..


<table cellpadding=0 cellspacing=0 style="width:100%;height:100%">
                                                                                <tr>
                                                                                    <td style="vertical-align:top;" class="hovedtekst">
                                                                                        <div id="topbox1" style="overflow:hidden;height:100%;width:100%;">
                                                                                        <div id="box1" style="position:relative;">
                                                                                            <b>Nyeste</b>
                                                                                            <br>
                                                                                            Her kommer der en masse tekst<br><br><br>jjjj<br><br>jjj
                                                                                        </div>
                                                                                        </div>
                                                                                    </td>
                                                                                    <td width:10px;>
                                                                                        <span id="scrollbox1" style="visibility:hidden;">
                                                                                        <table cellpadding=0 cellspacing=0>
                                                                                            <tr><td>
                                                                                                <span onmouseover="scroll(<?=$site['scroll_speed'];?>,'box1')" style="cursor:hand;" onmouseout='clearTimeout(document.body.scrollTim)'>
                                                                                                    <img src='img/scroll-op.gif' name='op' alt='Scroll op'>
                                                                                                </span>
                                                                                            </td></tr>
                                                                                            <tr><td>
                                                                                                <span onmouseover="scroll(-<?=$site['scroll_speed'];?>,'box1')" style="cursor:hand;" onmouseout='clearTimeout(document.body.scrollTim)'>
                                                                                                    <img src='img/scroll-ned.gif' name='ned' alt='Scroll ned'>
                                                                                                </span>
                                                                                            </td></tr>
                                                                                        </table>
                                                                                        </span>
                                                                                    </td>
                                                                                </tr>
                                                                            </table>
Avatar billede thb Nybegynder
15. februar 2004 - 18:29 #5
Lidt mere overskueligt... :)

<table cellpadding=0 cellspacing=0 style="width:100%;height:100%">
<tr>
  <td style="vertical-align:top;" class="hovedtekst">
  <div id="topbox1" style="overflow:hidden;height:100%;width:100%;">
    <div id="box1" style="position:relative;">
    <b>Nyeste</b>
    <br>
    Her kommer der en masse tekst<br><br><br>jjjj<br><br>jjj
    </div>
  </div>
  </td>
  <td width:10px;>
  <span id="scrollbox1" style="visibility:hidden;">
    <table cellpadding=0 cellspacing=0>
    <tr><td>
      <span onmouseover="scroll(<?=$site['scroll_speed'];?>,'box1')" style="cursor:hand;" onmouseout='clearTimeout(document.body.scrollTim)'>
      <img src='img/scroll-op.gif' name='op' alt='Scroll op'>
      </span>
    </td>
    </tr>
    <tr>
    <td>
      <span onmouseover="scroll(-<?=$site['scroll_speed'];?>,'box1')" style="cursor:hand;" onmouseout='clearTimeout(document.body.scrollTim)'>
      <img src='img/scroll-ned.gif' name='ned' alt='Scroll ned'>
      </span>
    </td>
    </tr>
  </table>
  </span>
</td>
</tr>
</table>
Avatar billede thb Nybegynder
15. februar 2004 - 18:36 #6
nå nu har jeg løst mit problem... tak for hjælpen..

Thomas
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester