我有一个随机的按钮生成器,名为“下一个事件”。该按钮还可以,但是需要改进。有时,此按钮加载用户多次访问的同一页面,我不确定如何编辑它,这是我的代码。 我可以删除当前页面的URL,但是,这是在单独的JS文档中,我希望在单击按钮时再次加载该URL。
使用的代码:
var sites = [
'/landingpage/events/uk/boardmasters.html',
'/landingpage/events/uk/reading.html',
'/landingpage/events/uk/rizefest.html',
'/landingpage/events/uk/bestival.html',
'/landingpage/events/uk/creamfields.html',
'/landingpage/events/uk/feastival.html',
'/landingpage/events/uk/fusion.html',
];
function randomSite() {
var i = parseInt(Math.random() * sites.length);
location.href = sites[i];
}
答案 0 :(得分:3)
赞:
function randomSite() {
var i = parseInt(Math.random() * sites.length);
if(location.href !== sites[i])
location.href = sites[i];
else randomSite();
}
更新
基于注释,如果您删除了数组中的URL,我将相应地更改功能。而且您不需要pop()
function randomSite() {
var i = parseInt(Math.random() * sites.length);
if(location.pathname !== sites[i])
location.pathname = sites[i];
else randomSite();
}
答案 1 :(得分:0)
您可以从pages
数组中删除当前页面,然后再从其中选择随机项目:
function randomSite() {
var index = sites.indexOf(window.location.href);
if (index > -1) {
sites.splice(index, 1);
}
var i = parseInt(Math.random() * sites.length);
location.href = sites[i];
}