Wenn ich auf den 'Random' Link auf meiner Navbar (Bootstrap) klicke, verweist er auf Javascript-Code (unten) und bringt mich auf eine zufällige Seite meiner Mock-Website.Zufälliger Link Javascript, um aktuelle Seite zu ignorieren
Allerdings möchte ich ein Feature hinzufügen, also wenn ich bin, sagen Link[2]=fed-rates.html
, wenn ich den 'Random' Link auf meiner Navbar drücke es immer weg von der Seite, auf der ich gerade bin (das ist , ignoriert Link [2]).
Ich frage mich, ob das möglich ist, wäre toll, ein paar Ideen zu bekommen.
Javascript-Code:
function randomlinks(){
var myrandom=Math.round(Math.random()*2)
var links=new Array()
links[0]="articles/how-to-trade-oil.html"
links[1]="articles/usd-yen-gbp.html"
links[2]="articles/fed-rates.html"
window.location=links[myrandom]
}
// above is for all web pages
function randomlinksarticle(){
var myrandom=Math.round(Math.random()*2)
var links=new Array()
links[0]="how-to-trade-oil.html"
links[1]="usd-yen-gbp.html"
links[2]="fed-rates.html"
window.location=links[myrandom]
}
// above is so navbar link still works on the linked pages, with the way I have the folder directory setup
Neuer Code, der mit "/ undefined" Seite kommt:
function randomlinksarticle(){
var myrandom=Math.round(Math.random()*2)
var links=new Array()
links[0]="how-to-trade-oil.html"
links[1]="usd-yen-gbp.html"
links[2]="fed-rates.html"
links.forEach(function(link, index) {
if (location.href.indexOf(link) !== -1) {
links.splice(index, 1);
}});
window.location=links[myrandom]
Das ist großartig, es verhindert die gleiche Seite, wenn ich auf den Link klicke. Ich bekomme jedoch gelegentlich eine Fehlerseite und die URL ist "/ undefined". Vielleicht liegt das daran, wo ich den Code platziert habe? (siehe unten Code-Box in meiner Frage) – Prodigy
Sie müssen die Zufallszahl anschließend mit der Funktion, die ich beschrieben habe, generieren. Wenn Sie einen Link entfernen, wird die Länge des Link-Arrays nicht immer gleich 3. Zum Beispiel kann ["link a", "link b", "link c"] zu ["link b "," link c "]. Daher sollte der Zufallszahlengenerator eine Zahl zwischen 0 und links.length - 1 erzeugen. Das einfache Ändern von Math.random() * 2 in Math.random() löst das Problem jedoch nicht, da Sie sich dessen nicht sicher sein können die Länge des Arrays. Stattdessen sollten Sie 'Math.floor (Math.random() * links.length)' für myrandom verwenden und * nach * der ForEach-Anweisung festlegen – Taconut