2016-08-31 3 views
-1

So kann ich nicht scheinen, um dies herauszufinden ... Der Code im Wesentlichen funktioniert, aber ich erhalte eine „undefiniert“ vor der Funktion ausgeführt wird ..Javascript - „undefiniert“ einfache Funktion mit Schleife Ersten

var navRender = function indexNav(x,y) { 

    var mainNav = ["\/", "Inicio","\/abogados-criminales-los-angeles.html", "Defensa Criminal", 
    "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", 
    "\/area-de-practica-abogados.html", "Areas de Practica", 
    "\/abogados-friendman-los-angeles.html", "Abogados Friedman", 
    "\/contactenos.html", "Contactenos"]; 

    for (i = x; i <= y; i++) { 
     document.write("<li class=\"pure-menu-item pure-u-1-3\"><a class=\"pure-menu-link href=\"",mainNav[i]); 
     i++; 
     document.write("\">", mainNav[i] , "<\/a><\/li>"); 
    }; 
}; 

document.getElementById("demo").innerHTML = navRender(0,5); 

</script> 

auch ich weiß nicht, warum meine „vorwärts Schrägstriche nicht arbeiten entweder .. ich mit, wie ich entkommen“ /“.. aber sie noch ausgelassen bekommen ..

Danke für die Hilfe!

+1

* aber ich erhalte eine "undefiniert" vor der Funktion läuft * - Wo? – Quentin

+0

im Browser bekomme ich: 'code'

    undefined

+0

Wo im Browser? In der Konsole der Entwicklerwerkzeuge? Im HTML-Dokument? Wie könnte das sein ** bevor ** die Funktion läuft? – Quentin

Antwort

2

ist hier der richtige Weg, es zu tun.

var navRender = function indexNav(x, y) { 
 

 
    var mainNav = ["\/", "Inicio", "\/abogados-criminales-los-angeles.html", "Defensa Criminal", "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", "\/area-de-practica-abogados.html", "Areas de Practica", "\/abogados-friendman-los-angeles.html", "Abogados Friedman", "\/contactenos.html", "Contactenos"]; 
 

 
    var html = ""; 
 

 
    for (i = x; i <= y; i = i + 2) { 
 
    html = html + "<li class='pure-menu-item pure-u-1-3'><a class='pure-menu-link' href='" + mainNav[i] + "'>" + mainNav[i + 1] + "</a></li>"; 
 
    }; 
 

 
    return html; 
 
}; 
 
document.getElementById("demo").innerHTML = navRender(0, 5);
<div id="demo"> 
 
</div>

+0

Danke! das ist es! –

+0

Wie funktioniert die Vorwärts Schrägstriche funktioniert richtig auf Ihre Antwort und für die anderen, es nicht? Ich bekomme, was Sie auf dem Skript .. aber ich sehe keine Änderungen an den Schrägstrich Escapes –

+0

@JhonatanVillena: Ich habe die Syntax neu formatiert. Überprüfen Sie meine Antwort, wie es geht. Sie können ein einfaches Anführungszeichen ('' ') verwenden, anstatt einem doppelten Anführungszeichen zu entgehen (d. H.' \ "'). – Pugazh

0

=> Entfernen Sie i ++ von for-Schleife.Weil es auch in For-Schleife ist.

var navRender = function indexNav(x,y) { 
 

 
    var mainNav = ["\/", "Inicio","\/abogados-criminales-los-angeles.html", "Defensa Criminal", 
 
    "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", 
 
    "\/area-de-practica-abogados.html", "Areas de Practica", 
 
    "\/abogados-friendman-los-angeles.html", "Abogados Friedman", 
 
    "\/contactenos.html", "Contactenos"]; 
 

 
    for (i = x; i <= y; i++) 
 
    { 
 
     document.write("<li class=\"pure-menu-item pure-u-1-3\"><a class=\"pure-menu-link href=\"",mainNav[i]); 
 
     document.write("\">", mainNav[i] , "<\/a><\/li>"); 
 
    }; 
 
}; 
 
navRender(0,5);

+0

ich brauche das zweite i ++, da mein Array den Link und den Text hat ... also und sie sind paarweise zwei .. also für mich, um die zweite Schleife zu laufen, muss ich um zwei Positionen vorrücken .. –

0

var navRender = function indexNav(x,y) { 
 

 
    var mainNav = ["\/", "Inicio", "\/abogados-criminales-los-angeles.html", "Defensa Criminal", "\/delitos-de-drogas-abogados.html", "Delitos de Drogas", "\/area-de-practica-abogados.html", "Areas de Practica", "\/abogados-friendman-los-angeles.html", "Abogados Friedman", "\/contactenos.html", "Contactenos"]; 
 
    
 
    var result = ''; 
 
    for (var i = x; i <= y; i = i + 2) { 
 
    result += '<li class="pure-menu-item pure-u-1-3\">' 
 
    result += '<a class="pure-menu-link" href="' + mainNav[i] + '">' + mainNav[i + 1]; 
 
    result += '</a>'; 
 
    result += '</li>'; 
 
    } 
 

 
    return result; 
 
}; 
 
document.getElementById("demo").innerHTML = navRender(0,5);
<ul id="demo"></ul>