Autor |
Nachricht |
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Sa 13.10.2007 02:32
Titel JS-Fehler im IE7 ... |
|
|
Hallo,
könnt ihr hier mal bitte rüberschauen und mir sagen,
was da falsch läuft? Das Script soll 2 Container animiert
"einfliegen". Eigentlich läuft alles ... nur net im IE7.
Die Fehlerkonsole vom FF spuckt nichts aus. Aber der
IE7 führt lediglich InhaltOeffnen() aus und wenn danach
BannerOeffnen() gestartet werden soll, spuckt er folgendes
aus:
"Das Objekt unterstützt diese Eigenschaft oder Methode nicht"
Als Fehler-Zeile gibt er gleich die erste an.
Code: | function InhaltOeffnen() {
x += 20;
Inhalt = document.getElementById("Inhaltsbereich").style;
Inhalt.left = x + "px";
if(x < 0) {
window.setTimeout('InhaltOeffnen()', 15);
}
else {
BannerOeffnen();
};
};
function BannerOeffnen() {
y -= 15;
Banner = document.getElementById("Banner").style;
Banner.top = y + "px";
if(y > 0) {
window.setTimeout('BannerOeffnen()', 15);
}
else {
};
}; |
Also ich meine am Code ist nix falsch!
Damit Ihr das net mehr zusammenbasteln müsst, ist hier
noch einmal ein lauffähiges Dokument:
Code: | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#Inhaltsbereich {
position: absolute;
top: 240px;
}
#Banner {
position: absolute;
top: 200px;
}
</style>
<script type="text/javascript">
var x = -520;
var y = 165;
var xx = 0;
var yy = 0;
function InhaltOeffnen() {
x += 20;
Inhalt = document.getElementById("Inhaltsbereich").style;
Inhalt.left = x + "px";
if(x < 0) {
window.setTimeout('InhaltOeffnen()', 50);
}
else {
BannerOeffnen();
};
};
function BannerOeffnen() {
y -= 15;
Banner = document.getElementById("Banner").style;
Banner.top = y + "px";
if(y > 0) {
window.setTimeout('BannerOeffnen()', 50);
}
else {
};
};
onload = InhaltOeffnen;
</script>
</head>
<body>
<div id="Inhaltsbereich">
Inhalt
</div>
<div id="Banner">
Banner
</div>
</body>
</html> |
|
|
|
|
|
sahnemuh
Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht:
|
Verfasst Sa 13.10.2007 04:14
Titel
|
|
|
du rufst die funktion "document.getElementById" auf...
was hat das .style dahinter verloren?
das hat nix mit der ID des elementes zu tun..
diese funktion selektiert ein element anhand seiner ID. nichts weiter.
alle weiteren operationen folgen danach.
die funktion hat zwar ein "eingebautes eval" - sprich du kannst werte auch direkt in der funktion setzen - aber das array unter "style" wirst du in der form nicht in einer variable speichern können.
Code: | function BannerOeffnen() {
y -= 15;
Banner = document.getElementById("Banner");
Banner.style.top = y + "px";
if(y > 0) {
window.setTimeout('BannerOeffnen()', 15);
}
else {
};
}; |
und warum überhaupt das leere else?
wenn du nichts machen willst, dann schreib auch nichts.
oder mach wenigstens ein void(0) rein..
Zuletzt bearbeitet von sahnemuh am Sa 13.10.2007 04:18, insgesamt 2-mal bearbeitet
|
|
|
|
|
Anzeige
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Sa 13.10.2007 14:33
Titel re |
|
|
Vielen Dank
Nachtrag:
Ach so ... aber deshalb hab' ich ja immer noch den Fehler im
IE. Der erste Part wird ja auch ohne zu meckern ausgeführt.
Zuletzt bearbeitet von bluespoon am Sa 13.10.2007 14:40, insgesamt 1-mal bearbeitet
|
|
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Mo 15.10.2007 13:28
Titel re |
|
|
Hat keiner mal einen Ansatz für mich?
Ich weiß mit Sicherheit, dass es an
window.setTimeout liegt. Aber warum?
Muss ich vielleicht eine "Ebene" angeben,
um auf die zweite Funktion zugreifen zu
können im IE?
|
|
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 15.10.2007 14:25
Titel
|
|
|
So ginge es z.B.:
Code: | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
#Inhaltsbereich {
position: absolute;
top: 240px;
}
#Banner {
position: absolute;
top: 200px;
}
</style>
<script type="text/javascript">
var x = -520;
var y = 165;
var xx = 0;
var yy = 0;
function InhaltOeffnen() {
x += 20;
var Inhalt = document.getElementById("Inhaltsbereich");
Inhalt.style.left = x + "px";
if(x < 0) {
var contentInhalt = window.setTimeout('InhaltOeffnen()', 50);
}
else {
window.clearTimeout(contentInhalt);
BannerOeffnen();
}
};
function BannerOeffnen() {
y -= 15;
var Banner = document.getElementById("Banner")
Banner.style.top = y + "px";
if(y > 0) {
var contentBanner = window.setTimeout('BannerOeffnen()', 50);
}
else {
window.clearTimeout(contentBanner);
}
};
window.onload = InhaltOeffnen;
</script>
</head>
<body>
<div id="Inhaltsbereich">
Inhalt
</div>
<div id="Banner">
Banner
</div>
</body>
</html> |
Sinnvoll ists auch, die TimeOuts wieder zu beenden.
|
|
|
|
|
bluespoon
Threadersteller
Dabei seit: 10.11.2006
Ort: Hannover
Alter: 41
Geschlecht:
|
Verfasst Mo 15.10.2007 16:17
Titel re |
|
|
Okay ... aber warum muss ich das Timeout in 'ne Variable packen,
damit's läuft?
|
|
|
|
|
Raumwurm
Dabei seit: 21.12.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 15.10.2007 17:10
Titel
|
|
|
Nur damit du den timeOut wieder beenden kannst.
clearTimeout braucht die Variable als Parameter.
|
|
|
|
|
|
|
|
Ähnliche Themen |
AS3 > AS2: Wo ist der Fehler?
php fehler
Php Fehler?
css fehler ie
fehler in PHP
W3C Fehler
|
|