Toon posts:

[JS] error in Firefox (movFwd is not defined)

Pagina: 1
Acties:
  • 52 views sinds 30-01-2008

Verwijderd

Topicstarter
Ben bezig met n script om een plaatje over de achtergrond te laten bewegen, maar ik krijg nu een foutmelding.
Ik heb n hoop geprobeerd en ben steeds verder gekomen, maar ik loop nu echt vast. Firefox laat in de Javascript Console weten dat movFwd (zie script) undefined is .. in IE werkt t allemaal goed..
ik hoop dat er iemand is die me dr bij kan helpen :)
(de fout zit m dus in regel 50)
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

.test
{
left: -300px;
position: absolute;
top: 100px;
z-index: -1
}

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

var FStart = "";
var BStart = "";
var what = null;
 
 function init(){

    // alert ("Running Init");
    if (document.layers) {
    // alert ("Running Netscape 4");
    layerRef="document.layers";
    styleSwitch="";
    visibleVar="show";
    screenSize = window.innerWidth;
    what ="ns4"
 }else if(document.all){

    // alert ("Running IE");
    layerRef="document.all";
    styleSwitch=".style";
    visibleVar="visible";
    screenSize = document.body.clientWidth + 18;
    what ="ie"; 
 }else if(document.getElementById){

    // alert ("Running Netscape 6");
    layerRef="document.getElementByID";
    styleSwitch=".style";
    visibleVar="visible";
    what="moz"; 
                    }}
                
            
    
function movFwd(which, xstart, xfinish, ystart, yfinish, step, speed) {  
BStart = "";
if (FStart == "") {
FStart = xstart;
}

if (xstart < xfinish) { 
eval(layerRef + '["' + which +'"]' + styleRef + '.top = ystart');
eval(layerRef + '["' + which +'"]' + styleRef + '.left = xstart');
xstart = xstart + step; 
setTimeout("movFwd('" + which + "', " + xstart + ", " + xfinish + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
} else {
setTimeout("movBwd('" + which + "', " + xfinish + ", " + FStart+", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
      }
   }


function movBwd(which, xstart, xfinish, ystart, yfinish, step, speed) {
FStart = "";
if (BStart == "") {
BStart = xstart;
}

if (xstart > xfinish) { 
eval(layerRef + '["' + which +'"]' + styleRef + '.top = ystart');
eval(layerRef + '["' + which +'"]' + styleRef + '.left = xstart');
xstart = -100; 
setTimeout("movBwd('" + which + "', " + xstart + ", " + xfinish + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
} else {
setTimeout("movFwd('" + which + "', " + xfinish + ", " + BStart + ", " + ystart + ", " + yfinish + ", " + step + ", " + speed + ")", speed);
      }
   }

//  End -->
</script>

</head>

<body onLoad="movFwd('wolk',-100,800,300,300,2,15)">
[img]"wolk.jpg"[/img]

</body>
</html>

[ Voor 21% gewijzigd door Verwijderd op 25-11-2005 13:54 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Om te beginnen hoort Javascript in Webdesign & Graphics, maar aangezien dit niet je eigen code is, doe ik je topic op slot in plaats van het te verplaatsen. Mail de maker maar even. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

vervang
JavaScript:
1
2
eval(layerRef + '["' + which +'"]' + styleRef + '.top = ystart');
eval(layerRef + '["' + which +'"]' + styleRef + '.left = xstart');

eens gewoon door
JavaScript:
1
2
document.getElementById(which).style.top = ystart + 'px';
document.getElementById(which).style.left = xstart + 'px';

en gooi dat hele IE4/NS4/DOM gedoe er uit. IE4 en NS4 worden toch niet meer gebruikt, dus is het onzin daarvoor nog te gaan scripten.

Waar het overigens op fout gaat is het feit dat getElementById een method is en dus ronde haken gebruikt voor z'n argument itt document.all en document.layers waar je referentie een property is en dus met blokhaken wordt uitgevraagd.

Intentionally left blank


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

verder zie -NMe- ;)

Intentionally left blank


Dit topic is gesloten.