你们可以根据回复查看我编辑的代码吗。
我现在在我的javascript中有这个代码:
function test(sheet)
{
document.getElementById('pagestyle').setAttribute('href', sheet);
}
我想用这个函数来改变我的样式表
onclick="test('CSS/katy.css')"
我的问题是,如何制作" katy.css"我文件夹中的随机css文件。
我在考虑阵列,但我不知道如何应用它。
var cssName=new Array(3)
cssName[0]="<link rel='stylesheet' type='text/css' href='CSS/katy.css'>";
cssName[1]="<link rel='stylesheet' type='text/css' href='CSS/daftpunk.css'>";
cssName[2]="<link rel='stylesheet' type='text/css' href='CSS/wiliam.css'>";
编辑按钮:
onclick="test('CSS/' + cssName1[rndIndex])"
编辑测试功能:
function test(sheet)
{
var cssName1=new Array(3)
cssName1[0]="<link rel='stylesheet' type='text/css' href='CSS/katy.css'>";
cssName1[1]="<link rel='stylesheet' type='text/css' href='CSS/daftpunk.css'>";
cssName1[2]="<link rel='stylesheet' type='text/css' href='CSS/wiliam.css'>";
var rndIndex= Math.floor(Math.random()*3);
document.getElementById('pagestyle').setAttribute('href', sheet);
}
答案 0 :(得分:4)
您可以使用以下方式在[1,3]中生成随机int数:
var rndIndex = Math.floor(Math.random()*3);
然后你可以使用生成的索引来获得你想要的css:
onclick="test(cssName[rndIndex])";
注意在cssName表中,最好只放置相应的href&#39; s。我这样说,因为我在你的函数声明中注意到你设置了href属性的值。
更新我建议,正如您将在小提琴here中看到的那样,为您的目的声明无参数函数。我已经声明了setCss函数,然后选择了pagestyele元素并设置了它的名为&#39; href&#39;随机地给你的一个css。
答案 1 :(得分:1)
您可以在函数中使用Math.random
:
var cssName=new Array(3)
cssName[0]="katy.css";
cssName[1]="daftpunk.css";
cssName[2]="wiliam.css";
function getRand(array){
return array[ Math.floor(Math.random() * array.length) ];
}
var static = "<link rel='stylesheet' type='text/css' href='";
alert(static + getRand(cssName) + "'>");
<强> DEMO 强>
答案 2 :(得分:1)
你的方式正确。
使用您的数组,现在您可以选择一个随机元素:
cssName[parseInt(Math.random() * cssName.length + 1)]
答案 3 :(得分:0)
好的,您可以使用如下的rand函数:
首先定义数组
var cssName=new Array(3)
cssName[0]="CSS/katy.css";
cssName[1]="CSS/daftpunk.css";
cssName[2]="CSS/wiliam.css";
现在随机选择工作表
var index = Math.floor((Math.random()*3));
然后选择随机表
onclick = "test("+cssName[index]+")";
答案 4 :(得分:0)
您可以使用Window setTimeout() Method
,例如每30秒使用jquery添加一个新链接。
setTimeout()
你可以看到地址: How to use jQuery setTimeout function
但是这个想法会导致网站的速度降低。