• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Scriptproblem - Wenn das eine da ist funktioniert das andere nicht - wieso?

oceanlab

Neues Mitglied
Hi,

ich hab folgendes Problem. Ich hab auf einer Internetseite (http://oceanlab.oc.funpic.de/) eine Slideshow mit Bildern der Partner eingefügt. Gestern hab ich einen Lauftext eingefügt und seitdem funktioniert diese Slideshow nicht mehr.

Ich weiss nicht warum. Hab schon ein bischen was probiert, bin aber nur zu dem schluss gekommen das wenn ich den Lauftext habe die Slideshow nicht funktioniert und andersrum....Warum ist das so? Mach ich was falsch? DARF ich diese beiden Scripts nicht zusammen ausführen???

Danke für eure Hilfe...;)

Schönen Gruß
 
Werbung:
:) Ja das hab ich wohl auch. Wusste nicht das ich das da noch ändern muss...:) Danke schonmal. Aber das ist nicht das Problem. Lightbox öffnet nur dieses Plakat welches auf der Startseite zu sehen ist...

Ich hätte das eben auch was genauer schreiben können. In der Navi Leiste ist unten "Unsere Partner:" zu lesen und da drunter sollen die Bilder kommen.

Die Slideshow hab ich aber nicht mit lightbox gemacht sondern mit nem javascript (Bilder sind 1.jpg,2.jpg, usw...)
 
Werbung:
Ach, jetzt sehe ich auch was Du meinst :)

Das Problem hier ist wirklich, dass Du versuchst zwei Scripts auf der selben Seite zu verwenden. Beide verwenden setTimeout() ohne diese voneinander abzugrenzen. Das führt zu dem Problem.

Lösen könntest Du das wenn Du das setTimeout() bei jedem der Scripte an diese bindest, z.B. per

Code:
slideshowtimeout = setTimeout(...);

PS: ich hab dein Topic hier mal in den JavaScript-Bereich geschoben, da es ja eindeutig ein reines JavaScript-Problem ist und kein HTML-Problem.
 
Sorry für die blöde Frage jetzt, aber wie binde ich das Script mit dem Timeout? Also wo muss ich das hinschreiben damit es funktioniert? Da das nur die Slideshow anspricht, muss das dann auch nur bei der Slideshow hin oder muss ich immer jedes Script an dieses binden???
 
War das jetzt doch zu doof??? :)

Hab den Vorschlag so gut ich es konnte ausgeführt, aber leider tuts sich da immer noch nix.
Habe aber nur die Slideshow mit dem code versehen...falsch?

HTML:
slideshowtimeout = setTimeout("rotateimage()",pause)
 
Werbung:
Wieso weist niemand auf die Fehlerkonsole?
Dort siehst du die Fehlermeldungen die dein Skript evtl. produziert. Das ist besser als raten.
 
Danke schonmal an struppi... Nur leider hilft mir das leider auch nicht weiter. Die Fehlerkonsole von FireFox hab ich aufgerufen und der gibt mir folgende Fehler für die Seite:

Warnung: Mit document.write() wurde ein nicht balancierter Baum geschrieben, was dazu geführt hat, dass Daten aus dem Netzwerk neu geparst werden mussten. Für weitere Informationen https://developer.mozilla.org/en/Optimizing_Your_Pages_for_Speculative_Parsing
Quelldatei: KG Lüxheimer Spätlese - Home
Zeile: 77

Warnung: Unbekannte Eigenschaft '-moz-opacity'. Deklaration ignoriert.
Quelldatei: KG Lüxheimer Spätlese - Home
Zeile: 0

Warnung: Unbekannte Eigenschaft 'box-sizing'. Deklaration ignoriert.
Quelldatei: KG Lüxheimer Spätlese - Home
Zeile: 0

Damit kann ich aber nix anfangen. :) Ich bin dem Link mal gefolgt wegen der parse-Geschichte und hab daher meine index auf document.write abgesucht, aber ich find da jetzt keinen Fehler drinne?!?

Kannst du mir den sagen ob der Fehler weg ist wenn ich die Scripte an ein "slideshowtimeout" binde? Und wenn ja, wie ich das machen soll?

Vielen Dank für deine Hilfe
 
Werbung:
Das sind Warnungen (steht ja auch davor) keine Fehler.

Inwieweit diese mir unbekannte Warnung dein Problem verursacht kann ich aber nicht sagen, da ich auf deiner Seite keine Slideshow finde.
 
Die Slideshow sollte links unten sein. Unter "Unsere Partner" ist eigentlich eine, aber die wird nicht angezeigt wenn ich diesen Ticker oben habe...
 
Ah, ok.

Also das Skript wird onload aufgerufen, vermutlich der Ticker auch. Du kannst aber bedenkenlos das Skript sofort starten oder mit einer kleinen Verzögerung. Dazu musst den Startcode ändern:
Code:
if (ie4||dom)
setTimeout(startit, 1000);
else
setInterval("rotateimage()",pause)
 
Werbung:
ja geil...das klappt...vielen dank!

Aber nochmal kurz zu meinem Verständnis, damit ich wegen desselben Problems nicht irgendwann nochmal frage. :)

Wenn beide Scripts onload sind, muss ich die nur zu verschiedenen Zeiten starten lassen damit die kein Problem miteinander haben?

Auf jeden Fall eine sehr, sehr gute Hilfe. Danke nochmal! ;)
 
Nö.

window.onload kann nur einen Wert haben, wenn ein zweites Skript diesen Wert überschreibt, wird der erste Event nicht ausgeführt.

es gibt da eine Funktion mit der du das verhindern kannst.
Code:
function onLoad(f) {
    var old = window.onload;
    window.onload = function() {
        if(old)old();
        f();
    };
}

Dann musst du stattdessen schreiben:

Code:
onLoad(startit);
 
Werbung:
Hallo,

ich bins wieder. Ich muss mal die Threadleiche wieder rausholen, weil es sich wieder um dasselbe Problem geht. Ich hab anscheinend doch nicht draus gelernt.

Wenn ich 2 Scripts habe müsste ich doch dann einfach

function init(){
start_ticker();
countdown();
}

oder

window.onload=function(){init()}
eingeben, oder? Wie finde ich denn den Namen des Scriptes welches mit diesem Befehl angesprochen werden soll. Und schreib ich diese Funktion einfach in eine von den 2 Scripten rein? Oder muss ich das in beide reinschreiben? Oder garnicht da rein? :) Google ist echt nicht mein Freund...hilft nämlich bei garnix...:D

Danke aber schonmal für eure Hilfe...
 
ich mein den namen der scripte welche ausgeführt werden sollen...also z.b. in meinem fall ein ticker- und ein countdown-script...oder werden die allgemein angesprochen mit dem befehl? wo schreib ich die denn dann hin??
 
Werbung:
Skripte haben keine Namen, meinst du Funktionen? Das hast du doch oben schon gezeigt wie die aufgerufen werden
 
ja genau die mein ich. :)

aber wenn ich das so in den <head> schreibe funktioniert das trotzdem nicht. oder darf ich das nicht zwischen das script schreiben?
 
Zurück
Oben