Toon posts:

[JS]Scrollen in layer werkt niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik ben net bezig met webdesign, en ben een beetje bezig met javascript en css en heb een pagina gemaakt met hierin een layer. Omdat ik niet zon fan van de scroll-balken ben heb ik een stukje code toegevoegd zodat ik nu met 2 knopjes kan scrollen in het layer.

Nu ben ik aan het testen geweest met IE en hier werkte alles prima(natuurlijk), maar in firefox werk het scrollen niet. Ik ben denk dat ik een fout in de code heb zitten die ik over het hoofd zie.

hieronder de javascript code

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var dy;
var pos=20;
var klokje=null;

function getStyle( layer ) {
    if( document.getElementById ) {
        return document.getElementById( layer ).style
    } else if( document.all ) {
        return document.all[layer].style
    } else {
        return document[layer]
    }
}
function clip( layer, top, right, bottom, left ) {
    if( document.getElementById || document.all ) {
        getStyle( layer ).clip='rect('+top+' '+right+' '+bottom+' '+left+')'
    } else {
        document[layer].clip.top = top
        document[layer].clip.left = left
        document[layer].clip.bottom = bottom
        document[layer].clip.right = right
    }
}
function scroll() {
    if ( pos+dy <= 20 ) {
        pos += dy
        getStyle('content').top = pos;
        clip('content', 10-pos, 450, 400-pos, 0);
        klokje = setTimeout( 'scroll()', 10 );
    }
}
function stop() {
    clearTimeout( klokje );
}


en hier de pagina zelf.

Als jullie even willen kijken voor mij, zou ik dat heel fijn vinden :P

  • André
  • Registratie: Maart 2002
  • Laatst online: 28-04 11:43

André

Analytics dude

Het grootste probleem zat hem in het feit dat je de "px" bent vergeten, daardoor werkt het niet in FF. En je hebt een heleboel oude overbodige zooi in je code staan.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<script type="text/javascript">
  var dy;
  var pos = 20;
  var klokje = null;

  function clip(layer, top, right, bottom, left)
  {
    document.getElementById(layer).style.clip = "rect(" + top + "px " + right + "px " + bottom + "px " + left + "px)";
  }

  function scroll()
  {
    if (pos + dy <= 20)
    {
      pos += dy;
      document.getElementById("content").style.top = pos + "px";
      clip("content", 10 - pos, 450, 400 - pos, 0);
      klokje = setTimeout("scroll()", 10);
    }
  }

  function stop()
  {
    clearTimeout(klokje);
  }
</script>

Verwijderd

Topicstarter
geweldig, het scrollen werkt nu ook ff en de code ziet er ook een stuk strakker uit, bedankt _/-\o_

het wordt zeker tijd om me nog wat verder te verdiepen in js