gpt4 book ai didi

javascript - 如何更轻松地使用随机 href 设置 anchor ?

转载 作者:行者123 更新时间:2023-12-03 05:20:12 25 4
gpt4 key购买 nike

所以,在我的项目中,我有一个索引和一个包含一堆编号页面的目录(pages/001.html、pages/002.hmtl、pages/003.html...),我想设置一个<a>每次重新加载索引/单击 anchor 时,都会将其 href 更改为此页面中的任何一个。

我可以创建一个数组,写入每个网址并使用 .random() 生成链接,但问题是,我有很多编号页面(目前有 30 个),并且我假装最终会创建更多页面,所以我想知道是否有更简单、更快的方法来做到这一点。

代码应该是这样的:

$('random_button').on('click', function(){

$('random_button').attr("href", Any page inside the directory pages/ chosen randomly)

})

有什么想法吗?谢谢!

最佳答案

如果您的 html 文件名中有类似的模式,例如 001.html、002.html,那么您可以执行类似的操作

var openLink = document.getElementById('open');
var randomLink = document.getElementById('random');
/*
assuming there are 40 pages, and page name have patterns like 001.html, 002.html
*/
var pageArray = range(40).map(function(page){
if(page < 10) return '00' + page + '.html';
return '0' + page +'.html';
});



/*
this function will return a array of n elements
*/
function range(n){
return Array.from({length: n}, function(value, key){ return key;})
}

function getRandomPage(pageArray){
return pageArray[Math.floor(Math.random()*pageArray.length)]
}
openLink.addEventListener('click', function(e){
e.preventDefault();
console.log(getRandomPage(pageArray));
randomLink.href = getRandomPage(pageArray);
})
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
</head>
<body>
<a href="#" id="open">Open Random</a>
<a href="#" id="random">Random Link</a>
</body>
</html>

如果你有不同类型的文件名,那么这将不起作用,@Jozef Cipa 提供的 php 解决方案会更好

关于javascript - 如何更轻松地使用随机 href 设置 anchor ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41418473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com