du glemmer at sende antal_div variablen videre i timeout kaldet.
setTimeout("start_rotation("+antaldiv+")",2000);
iøvrigt er start_rotation et rigtig dårlig navn, fordi start indikere at funktionen bliver kaldt en gang, men den function du kaldets hele tiden.
setTimeout skal ikke bruges til at lave animations effekter, der bruger man setInterval.
Finder det også ret underligt at du parser current_shown til en int hele tiden, ideelt set burde jo være en int hele tiden.
ved jeg ikke hvad fadetext gjorde så her er et eksempel der bare sætter display.
- <html>
- <head>
- <script>
- var rotateInterval;
- current_shown=1;
- function start_rotation(antaldiv) {
- clearInterval(rotateInterval);
- rotateInterval=setInterval("do_rotation("+antaldiv+")",2000);
- }
- function stop_rotation() {
- clearInterval(rotateInterval);
- }
-
- function fadetextout(){
- document.getElementById(current_shown).style.display="none";
- current_shown=next;
- document.getElementById(current_shown).style.display="block";
- }
- function do_rotation(antaldiv) {
- if(current_shown == antaldiv){
- next = 1;
- }else{
- next = parseInt(current_shown) + 1;
- }
- fadetextout(next, 0);
- }
- </script>
- </head>
- <body>
- <div id="1" style="display:block">AAAAAAAAAAAAA</div>
- <div id="2" style="display:none">BBBBBBBBBBBBB</div>
- <div id="3" style="display:none">CCCCCCCCCCCCC</div>
- <div id="4" style="display:none">DDDDDDDDDDDDD</div>
- <div id="5" style="display:none">EEEEEEEEEEEEE</div>
- <div id="6" style="display:none">FFFFFFFFFFFFF</div>
- <button onclick="stop_rotation()">Stop</button><button onclick="start_rotation(6)">Start</button>
- </body>
- </html>
Indlæg senest redigeret d. 25.06.2008 10:38 af Bruger #5620