Когда я нажимаю ссылку «Случайный» на моем навигаторе (бутстрап), это относится к Javascript-коду (ниже), который приводит меня к случайной странице на моем макетном веб-сайте.Случайная ссылка javascript, чтобы игнорировать текущую страницу
Однако я хотел бы добавить функцию, поэтому, если я нахожусь, скажем Link[2]=fed-rates.html
, когда я нажимаю ссылку «Случайный» на моем навигаторе, она всегда отводит меня от страницы, на которой я сейчас (, он игнорирует Link [2]).
Мне интересно, возможно ли это, было бы здорово получить некоторые идеи.
Javascript код:
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
Новый код, который приходит с "/ неопределенном" страницы:
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]
Это замечательно, это предотвращает восхождение на ту же страницу, когда я нажимаю ссылку. Однако иногда я получаю страницу с ошибкой, а URL-адрес «/ undefined». Возможно, это из-за того, где я разместил код? (см. Нижний поле кода в моем вопросе) – Prodigy
После этого вы должны сгенерировать случайное число, используя описанную мной функцию. Если вы удаляете ссылку, длина массива ссылок не будет всегда равна 3. Например, ["link a", "link b", "link c"] может измениться на ["link b "," ссылка c "]. Поэтому генератор случайных чисел должен генерировать число между 0 и links.length - 1. Однако простое изменение Math.random() * 2 на Math.random() не решит проблему, поскольку вы не можете быть уверены в длина массива. Вместо этого вы должны использовать 'Math.floor (Math.random() * links.length)' для myrandom и установить его * после * оператора ForEach – Taconut