Avatar billede gnyff Nybegynder
13. maj 2002 - 20:20 Der er 7 kommentarer og
1 løsning

Problemmer med scroll

Davsk

Så er jeg tilbage igen

Jeg sidder her og prøver at lege med noget af det der scroll, i et layer.

Jeg er ind til videre stødt ind i to problemmer, et af dem er at layeret bliver længere end jeg har sat dem til, og det andet, er at jeg ikke kan få den til at scrolle

Min kode ser sådan ud:

i head

function ned()
{
    for(i = this.y; i > 0; i++){
    this.y = i+5
    }
}
function ud()
{
    settimeout('ned()',100)
}

Og i mit dokument

<div width="450" height="70" class="erfar" ID="erfar">
<div>
    <a href="#" onmouseover="ned()" onmouseout="ud()"><img src="images/topile.gif"></a></td>
    </div> 
<font face="Verdana, Arial, Helvetica" size="2" color="#FFFFFF">
<?
$fp = fopen("erfar.txt","r");
while($row = fgets($fp,9999)){
    echo $row;
    echo "<br>";
}
?></font>

er der nogen af jer der kan hjælpe mig?
Avatar billede jakoba Nybegynder
13. maj 2002 - 21:07 #1
du flytter dit lag op og ned ved at ændre i det style objekt der ligger i den div;

dvs:
    dindiv.styke.top = 5+ dindiv.style.top;
flytter den indre div 5 pixel nedad.
i IE kan du aflæse højden på din div i:
    dindiv.offsetHeight;

men din mouseover ligger jo slet ikke i den div, den ligger i et link inden i den div, så jeg vil gætte på det kun er det link der flytter sig. Du kommer muligvis til at finde div-en først, fx med en løkke:
    var sdiv = this;
    while ( sdiv && sdiv.tagName != "div" ) {
        sdiv = sdiv.parentElement;
    }
    if ( sdiv ) {
      sdiv.styke.top = 5+ div.style.top;
    } else {
      alert( "Hovsa. kunne ikke finde min div" );
    }

din settimeout vil ikke virke. den version af funktionen ned() der kaldes ved timeout er altid den der ligger i window objektet.
og vindow.objektet aner jo ikke hvor din div er så det vil give "Hovsa. ..."

mvh JakobA
Avatar billede jakoba Nybegynder
13. maj 2002 - 21:08 #2
Ups.  styke -> style (i 2 linier)
Avatar billede gnyff Nybegynder
14. maj 2002 - 07:45 #3
Tja, jeg kan godt se at jeg ikke har brug for flere div.

Problemmet er at mine div gerne skulle blive stående, og det kun var teksten der skulle flytte sig. Kan man lave det?
Avatar billede jakoba Nybegynder
14. maj 2002 - 09:02 #4
Det tror jeg ikke. men du kan lave et clippingareal i den div der hedder 'erfar'.

<div width="450" height="70" class="erfar" ID="erfar clip:rect(0 450 70 0); overflow:hidden;">

den div der er indeni kan så 'flytte sig' såmeget den vil, vi ser alligevel kun det der er inden i 'erfar's clipping areal.
Avatar billede gnyff Nybegynder
14. maj 2002 - 17:20 #5
Hmmm, det vil altså ikke virke.

Jeg har snart prøvet alt med at få en scrollbar på min tekster men den vil slet ikke.

Jeg har prøvet at sætte den ind sådan

<div style="left:250; top:75;overflow:auto" id="erfar" class="erfar">

Og så har jeg prøvet med to div, og få det bageste til at scrolle, men der er intet af det der virker.
Avatar billede gnyff Nybegynder
23. maj 2002 - 12:39 #6
Jacooooooob??? :o)

Jeg har næsten fundet ud af det, vil du ikke hjælpe mig med resten?

Det ser på nuværende tidspunkt sådan ud:

<style>
div.two{position: absolute; left:150; top: 50; width: 250; height: 70; clip:rect(0, 450, 70, 0); overflow:hidden; background-color:#0000FF}
div.one{font-family: Verdana, Arial, Helvetica; color:#FFFFFF; position:absolute}
a.op{ position: absolute; left: 170; top: 45}
</style>
<script>
var i = one.style.height;
function op1()
{
if(i>-900){
one.style.top = i
i-1
}
}

</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<a href="#" onmouseover="op1()" id="op" class="op">op</a>
<div width="450" height="70" ID="two" class="two">
<div ID="one" class="one">
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>

text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
text text text text text text text text text text <br>
</div>
</div>
Avatar billede gnyff Nybegynder
24. maj 2002 - 09:00 #7
Når Jacob, jeg blev lige lidt udtålmodig :o) Så jeg lukke spørgsmålet og laver et nyt ud fra det script jeg er noget til :o)

Men du for selvfølgelig pointene alligevel
Avatar billede gnyff Nybegynder
24. maj 2002 - 09:01 #8
Hov, kom lige med et svar.
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