jquery setInterval

Wenn es irgendwie möglich ist, dann stell hier mal einen Link rein wo man sich alles anschauen kann. Oder aber stell uns die Datei(en) zur Verfügung.

Wie schon geschrieben, mir fehlen sonst die Ideen woran es liegen könnte.
 
Hallo Tomb

ich habe hier mal zwei Dateien hochgeladen. Einmal die Header Datei wo ich alle gesamte JS Scripte include und dann die Script Datei in der ich alle jQuery enthalten sind.

Ich hoffe ich kann dir damit helfen. Zudem findest du auch alles Online unter der URL, damit du dir ein Bild machen kannst.

Wenn Du auf der Webseite bist, es geht um die großen Bilder, die einmal über die Bullet gesteuert werden und nun sollen die auch nach eine bestimmten Zeit automatisch sich wechseln. Das Problem ist, die Bilder liegen in einer CSS Datei, die dann als komplette CSS Datei eingeblendet wird.

Hab da momentan 8 Dateien auf dem Server liegen, aber da es verschiedenen Ebenen sind und der Inhalt der Seite über diese Bilder laufen soll, habe ich erstmal diese Lösung genommen.

Gruß Fredolin
 

Anhänge

Es bleibt rätselhaft aber ich habe vermutlich einen Fehler gefunden, der vielleicht etwas damit zu tun haben könnte!?

In deinem Array hat die erste Datei den Namen "headslider", die zweite Datei heißt "headslider1" usw. In der Funktion wird aber IMMER der Wert der Variable aktuell an den Dateinamen angehängt, beim ersten Bild/Arrayeintrag würde das "headslider0" ergeben. Diesen Eintrag gibt es aber im Array nicht!

Verschiebe außerdem mal bitte die Zeilen wo die Variablen "aktuell" und "numofHeader" deklariert werden und die Zeile womit setInterval aufgerufen wird aus dem document.ready-Bereich. Setze es einfach davor und teste es dann.
 
Ich habe den Fehler verbessert. Die Zeilen die du da angesprochenhast die habe ich auch ganz nach oben gesetzt vor dem $(document).redy(....) Bereich. Auch hier kommt die gleiche Fehlermeldung.

Ich arbeitet mit Firefox und habe die Konsole offen. Sehe in der Konsole aber, das immer nach der Zeit die Fehlermeldung erscheint.

#
#Gruß Fredolin
 
Hallo abuzze,
Hallo Tomb,

erstmal danke für deine Nachricht. Ja die hat da was bewirkt.

Auch ich habe meine Script etwas umgeschrieben, so wird die Funktion gefunden aber das Background-Image wird nicht geladen.
Das Background-Image binde ich über CSS ein
CSS-Code
CSS:
.headslider0	{
   margin:0;
   padding:0;
   width:100%;
   height:552px;
   background-image:url(../../img/headslider/header_pic_01.jpg);
   background-repeat:no-repeat;
   background-position:center top;
}


Hier mein LS-Code
Javascript:
setInterval(function() {
		var numofHeader = Array('0', '1', '2', '3', '4', '5', '7', '8');
		var aktuell = 0;
		//alert(aktuell);			 
		if((aktuell +1) < numofHeader.length) {
			aktuell++;
			//alert(aktuell);
		} else {
			aktuell = 0;	
		}
		 $('#header').attr('class', 'headslider'+aktuell);
		 //alert($('#header'));
	}, 8000);

Wenn ich abr das Hintergrund über den Klick auf den Bullet verändere, dannwird nach einigen SEC. das Hintergrundbild geladen was man zum Anfang gesehen hat.

Nun weiß ich nicht mehr weiter.. bin echt ratlos..

Was mache ich verkehrt oder wo liegt nun der Fehler..

Gruß Fredolin
 
Zuletzt bearbeitet von einem Moderator:
Javascript:
$(document).ready(function() {

		
	var numofHeader = Array('headslider', 'headslider1', 'headslider2', 'headslider3', 'headslider4', 'headslider5', 'headslider7', 'headslider8');
	var aktuell = 0;
	
	window.setInterval('wechsel_automatisch()', 12000);
		
	function wechsel_automatisch() {
		if((aktuell +1) < numofHeader.lenght) {
			alert(aktuell);
			aktuell++;	
		} else {
			aktuell = 0;	
		}
		 $('#header').attr('class', 'headslider'+aktuell);
	};


});

So siehts momentan bei dir aus. (Unnötiges Zeug hab ich entfernt).
Das du da die Fehlermeldung bekommst das wechsel_automatisch nicht definiert ist ist völlig logisch.
Das Stichwort lautet "Scopes".

An einem einfacheren Beispiel siehst du deinen Fehler vielleicht selbst:
Javascript:
var doSth = function(){
    console.log('foo');
    
    window.setInterval('doSthElse', 1000);
    
    function doSthElse(){
        console.log('bar');
    }
};

doSth();

Das wird dir genau den gleichen Error ausspucken. Nämlich das doSthElse nicht definiert ist.
Und Warum? Weil doSthElse im function Scope von doSth definiert wurde. Niemand kennt die Funktion außer doSth.

Noch einfacheres Beispiel?
Du versuchst gerade folgendes:
Javascript:
function foo(){
    var a = 0;
}
console.log(a);

//E

Hab nicht gesehen das es eine zweite Seite gibt.
Der Post passt trotzdem denn was du jetzt gemacht hast ist mindestens genauso großer Unsinn

Javascript:
setInterval(function() {
        var numofHeader = Array('0', '1', '2', '3', '4', '5', '7', '8');
        var aktuell = 0;
        if((aktuell +1) < numofHeader.length) {
            aktuell++;
        } else {
            aktuell = 0;    
        }
         $('#header').attr('class', 'headslider'+aktuell);
    }, 8000);

Wie soll das denn bitte funktionieren?
aktuell wird immer 0 bleiben.

Das ist das gleiche wie folgendes
Javascript:
while(true){
    var i = 0;
    if(i == 1){ console.log('Ein Wunder'); }
}
 
Zuletzt bearbeitet:
Hwy rd4eva,

das ist schön das du mein code schlecht machst. wenn du das schon so schlau her tipperst, dann könntest du doch vielleicht mir eine hilfe geben.

gruß fredolin
 
Das habe ich bereits getan und wenn du das noch nicht gemerkt hast bzw. dir bei den simplen Beispielen nichts auffällt dann heißt es für dich Back to basics.
Hier bitte:
http://de.selfhtml.org/javascript/sprache/variablen.htm#definieren

[...]Es gibt globale Variablen und lokale Variablen. Eine lokale Variable erhalten Sie durch die Deklaration der Variablen mit var innerhalb einer Seite Funktion. Im obigen Beispiel sind die Variablen [...] innerhalb der Funktion SchreibeQuadrate() als lokale Variablen notiert. Diese Variablen sind deshalb nur innerhalb dieser Funktion gültig. Man spricht in diesem Zusammenhang auch von der "Lebensdauer" von Variablen. Parameter, die einer Funktion übergeben werden, werden ebenfalls als lokale Variablen behandelt.[...]
 
Zurück