[JS] eigen objecten doen niets?

Pagina: 1
Acties:

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Heb deze code ff in elkaar geknutseld, maar hij doet niks. Hij zou toch een layer moeten maken met wat content?
(let maar niet op de namen, geen zin om ze aan te passen)
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
<html>
  <head>
    <title>Test2</title>
    <script type="text/javascript">
var document.sound = [];

function dynSound()
{
  this.id = document.sound.length;
  document.sound[this.id] = this;
  this.build();
}

  dynProto = dynSound.prototype;

  dynProto.build = function()
  {
    this.ref = document.createElement("div");
    this.ref.setAttribute("id", "sound"+this.id);
    this.ref.appendChild(document.createTextNode("lalala"));
    var bodyRef = document.getElementsByName("body").items(0);
    bodyRef.appendChild(this.ref);
  }

var sound = new dynSound();

    </script>
  </head>
  <body>
  </body>
</html>

.edit: kleine verbetering maar doet nog steeds niets...

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 22:00

Pelle

🚴‍♂️

Je gaat al dingen met je document.body doen voordat de body is gedefinieerd.

Dit werkt wel:
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
<html>
<head>
    <title>Test2</title>
</head>
<body>

    <script type="text/javascript">
    <!--
      document.sound = [];
      function dynSound() {
        this.id = document.sound.length;
        document.sound[this.id] = this;
        this.build();
      }

      dynProto = dynSound.prototype;
      dynProto.build = function() {
        this.ref = document.createElement("div");
        this.ref.setAttribute("id", "sound"+this.id);
        this.ref.appendChild(document.createTextNode("lalala"));
        document.body.appendChild(this.ref);
      }

      var sound = new dynSound();
    //-->
    </script>

</body>
</html>

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
owkee... ga het uitproberen als ik wat meer tijd heb...

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op zondag 30 juni 2002 12:20 schreef Pelle het volgende:
Je gaat al dingen met je document.body doen voordat de body is gedefinieerd.

Dit werkt wel:
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
<html>
<head>
    <title>Test2</title>
</head>
<body>

    <script type="text/javascript">
    <!--
      document.sound = [];
      function dynSound() {
        this.id = document.sound.length;
        document.sound[this.id] = this;
        this.build();
      }

      dynProto = dynSound.prototype;
      dynProto.build = function() {
        this.ref = document.createElement("div");
        this.ref.setAttribute("id", "sound"+this.id);
        this.ref.appendChild(document.createTextNode("lalala"));
        document.body.appendChild(this.ref);
      }

      var sound = new dynSound();
    //-->
    </script>

</body>
</html>
Dat zou vaag zijn, want ook dan is de body nog niet klaar toch :) createElement altijd onload.

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 22:00

Pelle

🚴‍♂️

Op zondag 30 juni 2002 22:14 schreef Bosmonster het volgende:
Dat zou vaag zijn, want ook dan is de body nog niet klaar toch :) createElement altijd onload.
Het is toch echt zo, probeer maar :)

  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Hij doet 't inderdaad pas als de body tag gedefinieerd is, maar hoe ik het nu heb vind ik best een smerige oplossing.

Met volgend scriptje krijg ik onderstaande foutmelding (terwijl hij na het wegklikken van de foutmelding wel het gewenste resultaat laat zien):
code:
1
2
bodyRef = document.createElement("body");
document.getElementsByTagName("html").item(0).appendChild(bodyRef);

Afbeeldingslocatie: http://cp31696-a.roemd1.lb.nl.home.com/utils/pics/fout.gif

Verwijderd

Op maandag 01 juli 2002 12:09 schreef Limhes het volgende:
Hij doet 't inderdaad pas als de body tag gedefinieerd is, maar hoe ik het nu heb vind ik best een smerige oplossing.

Met volgend scriptje krijg ik onderstaande foutmelding (terwijl hij na het wegklikken van de foutmelding wel het gewenste resultaat laat zien):
code:
1
2
bodyRef = document.createElement("body");
document.getElementsByTagName("html").item(0).appendChild(bodyRef);

[afbeelding]
Probeer em es online te zetten, en kijken of ie dan dezelde error geeft...
Pagina: 1