kostenloser Webspace werbefrei: lima-city


Variablen in JavaScript

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    nilsmargotti

    Kostenloser Webspace von nilsmargotti

    nilsmargotti hat kostenlosen Webspace.

    Hallo,
    ich wollte für mein NAS eine kleine Seite schreiben, auf der meine Videos und Musik abgespielt werden können. Soweit klapp auch alles ganz gut bis auf das:

    function play_all(){
    	
    	var i = 0;
    	
    	for(i = 0; i < videos.length; i++){
    		
    		p = i+1;
    		
    		videos.get(i).onended = function(event){
    			playNext(p);
    		}
    	}
    	
    	videos.get(0).play();
    }
    
    function playNext(pos){
    	
    	alert(pos);
    	
    	videos[pos].play();
    }


    Die Videos werden per jQuery geholt und alert(pos) gibt immer 5 an (Ich habe genau 5 Videos, d.h. es gibt einen IndexOutOfBounce-Fehler). Ich weiß jetzt bloß nicht wie ich i+1 rechner, so dass i dem i zum Zeitpunkt der deklaration entspricht.

    Ich hoffe ich konnte euch mein Problem Begreifbar machen. Wenn ihr Fragen habt immer her damit und schon mal Danke für die Hilfe
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Warum nicht so
         
        var i = 0;
        var j = i;
    
        for(i = 0; i < videos.length; i++){
             
            videos.get(i).onended = function(event){
                playNext(j+1);
            }
        }
         
        videos.get(0).play();
    }
     
    function playNext(pos){
         
        alert(pos);
         
        videos[pos].play();

    oder hab ich was falsch verstanden
  4. Autor dieses Themas

    nilsmargotti

    Kostenloser Webspace von nilsmargotti

    nilsmargotti hat kostenlosen Webspace.

    w3j schrieb:
    Warum nicht so
         
        var i = 0;
        var j = i;
    
        for(i = 0; i < videos.length; i++){
             
            videos.get(i).onended = function(event){
                playNext(j+1);
            }
        }
         
        videos.get(0).play();
    }
     
    function playNext(pos){
         
        alert(pos);
         
        videos[pos].play();

    oder hab ich was falsch verstanden

    Danke für die Idee auch wenn es so nicht funktioniert hat. Die Funktion playNext(pos) soll mit den pos {0, 1, 2, 3, 4} aufgerufen werden. Da JavaScript aber anscheinend die Variablen als Objekt und nicht als Wert übergibt war der Fehler, dass ich i incrementiert habe. Ich habs jetzt rekursiv gelöst.

    function play_all(){
    		
    	videos.get(0).onended = function(event){
    		playNext(1, true);
    	}
    	
    	videos[0].play();
    }
    
    function playNext(pos, p_next){
    	
    	if(p_next && pos < videos.length){
    		videos.get(pos).onended = function(event){
    			playNext(pos+1, true);
    		}
    	}
    	
    	videos[pos].play();
    }

  5. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!