Toon posts:

[JavaScript] Object opvragen in Mozilla.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Voor een DIV layertje dat ik laat rondstuiteren gebruik ik nu de volgende code:

obj = eval('document.all.arrow.style');
obj.top = 100;

"arrow" is dus het id / name van de DIV layer.
Nu werkt dit in IE en (uiteraard ;)) niet in Mozilla. Ik moet volgens mij voor Mozilla iets gebruiken in de trend van:

obj = document.getElementById(arrow);
obj.style.top = 100;

Maar er schijnt toch iets fout aan te zijn... kan iemand mij hier verder mee helpen?

Alvast bedankt.

Blue

Verwijderd

obj = document.getElementById(arrow); -> fout

var obj = document.getElementById('arrow'); -> goed

Verwijderd

Topicstarter
Ok schijnbaar zit hem daar dus niet (alleen) het probleem in... Het is een pijltje (plaatje / div) dat naar beneden valt en een paar keer stuitert voor deze stil komt te 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
27
28
29
30
31
32
33
34
35
<script type = "text/javascript">
   <!--
      if(document.all){window.attachEvent("onload",move);}

      var top = -150;
      var speed = 1;
      var down = 1;
      var times = 0;
            
      function move()
      {
         setInterval("test()", 20);
      }
            
      function test()
      {
         if (top >= 310 && down == 1) {down = 0; times++;}
         if (times == 12) return true;
         if (down == 0 && speed <= 1) down = 1;
         if (down == 1)
         {
            speed *= 1.1;
            if ((top + speed) > 310) top = 310
            else top += speed;
         }
         else
         {
            speed /= 1.15;
            top -= speed;
         }
         var obj = eval('document.all.arrow.style');
         obj.top = top;
      }
   -->
</script>


Dit werkt dus perfect onder IE, maar probeer hem nu ook aan de praat te krijgen onder Mozilla.. dat is weer iets lastiger :)

Ik denk dat het aan het volgende regeltje ligt:

code:
1
if(document.all){window.attachEvent("onload",move);}


Dit is om er voor te zorgen dat het geheel gestart wordt, zodra de hele pagina is geladen... In Mozilla komt het script echter nooit in de functie move(). Weer iemand wat ik hier stom aan het doen ben en hoe ik het werkend zou kunnen krijgen onder Mozilla? :)

[ Voor 40% gewijzigd door Verwijderd op 01-05-2004 16:36 ]


  • bartvb
  • Registratie: Oktober 1999
  • Laatst online: 05-01 14:41
Mozilla kent geen attachEvent(), zie Google voor mogelijke oplossingen :)

Verwijderd

window.onload = move;

Zou moeten werken, als je er ook even zorgt dat style.top niet een getal is, maar een echte afmeting:
JavaScript:
1
obj.top = top + 'px';

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Javascript is van de buren van Webdesign & Graphics.

Professionele website nodig?

Pagina: 1