2016-12-01 4 views
-1

Ich versuche, einen Link zu machen, wenn der Benutzer klickt, um die URL zufällig zu einem der vars zu ändern.Klicken Sie auf URL ändern, um eine zufällige vars

$(".link").click(function(){ 

    var safeLangs = ['en','al','de','fr','gr']; 
    var rand = function() { 
     return Math.floor(Math.random()*6); 
    }; 
    var randomLangFunction = function() { 
     var randomLang = safeLangs[rand()]; 
     return randomLang; 
    }; 

    url = "?lang=" + randomLang(); 
    window.location = url; 
}) 

Problem ist behoben durch, danke. By Scott Marcus

+0

Meinen Sie 'window.location + = url;' vielleicht? Nicht sicher, was dein Problem ist. –

+0

Url sollte zufällig zu etwas ändern. ex. localhost /? lang = al lässt sagen, aber wenn es erneut geklickt wird, sollte in localhost geändert werden /? lang = de –

+0

Sollte sich nur die angezeigte URL ändern oder möchten Sie eigentlich zu einer anderen Seite wechseln? – kay

Antwort

1

Am Ende des Codes, rufen Sie falsch Ihre Funktion: randomLang();, wenn es wirklich ist: randomLangFunction(). Ich habe auch Ihre rand Funktion entfernt und in die andere integriert.

$(".link").click(function(){ 
 

 
    var safeLangs = ['en','al','de','fr','gr']; 
 
    
 
    var randomLangFunction = function() { 
 
     // No need to make a separate function for the random since 
 
     // this function is part of that process. Also, don't hard 
 
     // code "6" as the random multiplier as that will need to 
 
     // change if you add more languages. Just get the length 
 
     // of the languages array: 
 
     return safeLangs[Math.floor(Math.random()*safeLangs.length)]; 
 
    }; 
 

 
    url = "?lang=" + randomLangFunction(); 
 
    console.log(url); 
 

 
    // Commented only for example to work: 
 
    // window.location = url; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="link" href="#">Click Me</a>

+0

Vielen Dank Bruder :) Es hat funktioniert. Ps.s. So war ich fast nah lol. –

+0

@ErblinDerguti Kein Problem. Vergessen Sie nicht, als Antwort zu markieren. ;) –

Verwandte Themen