我在Basic HTML / Javascript类中,我无法弄清楚如何“修改以下JavaScript,以便每次调用它时随机选择一个样式类。”以下代码有效,但不是随机的。任何的意见都将会有帮助。提前谢谢!
<html>
<head>
<title>HTML and JavaScript</title>
<link href="capstone.css" rel="stylesheet" type="text/css"></link>
<script>
function getRandomInt (min, max)
{
return Math.floor(Math.random() * (max - min + 1)) + min;
}
var index = getRandomInt(1, 20);
function stylize()
{
index++;
if (index > 7) index =1;
var s = "myStyle" + index;
var e = document.getElementById("MessageText");
e.className = s;
setTimeout("stylize()", 1500);
return;
}
</script>
</head>
<body onLoad="stylize()">
<table align="center" border="1" bordercolor="black">
<tr>
<td align="center">
<font size="3"><b>STYLE CLASS VIEWER</b></font>
</td>
</tr>
<tr>
<td align="center" height="100" width="400">
<div id="MessageText" class="myStyle1">
Hello World Wide Web!
<div>
</td>
</tr>
</table>
</body>
</html>
我的CSS页面是:.....
.myStyle1 {font-family:Impact; color:black; font-size:100}
.myStyle2 {font-family:Georgia; color:black; font-size:18}
.myStyl31 {font-family:Tahoma; color:black; font-size:24}
.myStyle4 {font-family:Verdana; color:black; font-size:48}
.myStyle5 {font-family:Impact; color:red; font-size:30}
.myStyle6 {font-family:Marlett; color:green; font-size:65}
.myStyle7 {font-family:Arial; color:blue; font-size:46}
.myStyle8 {font-family:Courier Sans MS Bold; color:blue; font-size:60}
.myStyle9 {font-family:Impact; color:blue; font-size:35}
.myStyle10 {font-family:Arial Italic; color:blue; font-size:10}
.myStyle11 {font-family:Times New Roman; color:blue; font-size:50}
.myStyle12 {font-family:Tahoma; color:blue; font-size:38}
.myStyle13 {font-family:Verdana; color:white; font-size:30}
.myStyle14 {font-family:Marlett; color:blue; font-size:70}
.myStyle15 {font-family:Impact; color:blue; font-size:24}
.myStyle16 {font-family:Georgia; color:blue; font-size:24}
.myStyle17 {font-family:Impact; color:blue; font-size:35}
.myStyle18 {font-family:Georgia; color:black; font-size:12;}
.myStyle19 {font-family:Arial; color:blue; font-size:20;}
.myStyle20 {font-family:Tahoma; color:blue; font-size:55}
这对我来说似乎无济于事。
答案 0 :(得分:1)
删除var index = getRandomInt(1, 20);
然后,将index++;
替换为var index = getRandomInt(1, 20);
。
如果您想接受超过7种样式,请删除if (index > 7) index = 1;
。
在这种情况下,它每次都会选择一个随机数。在您的情况下,选择了一个随机数(大多数是if (index > 7) index = 1;
中的一个),并且每次都会增加它。
<html>
<head>
<title>HTML and JavaScript</title>
<link href="capstone.css" rel="stylesheet" type="text/css"></link>
<style>
.myStyle1 {font-family:Impact; color:black; font-size:100} .myStyle2 {font-family:Georgia; color:black; font-size:18} .myStyl31
{font-family:Tahoma; color:black; font-size:24} .myStyle4 {font-family:Verdana; color:black; font-size:48} .myStyle5 {font-family:Impact;
color:red; font-size:30} .myStyle6 {font-family:Marlett; color:green; font-size:65} .myStyle7 {font-family:Arial; color:blue;
font-size:46} .myStyle8 {font-family:Courier Sans MS Bold; color:blue; font-size:60} .myStyle9 {font-family:Impact; color:blue;
font-size:35} .myStyle10 {font-family:Arial Italic; color:blue; font-size:10} .myStyle11 {font-family:Times New Roman; color:blue;
font-size:50} .myStyle12 {font-family:Tahoma; color:blue; font-size:38} .myStyle13 {font-family:Verdana; color:white; font-size:30}
.myStyle14 {font-family:Marlett; color:blue; font-size:70} .myStyle15 {font-family:Impact; color:blue; font-size:24} .myStyle16
{font-family:Georgia; color:blue; font-size:24} .myStyle17 {font-family:Impact; color:blue; font-size:35} .myStyle18 {font-family:Georgia;
color:black; font-size:12;} .myStyle19 {font-family:Arial; color:blue; font-size:20;} .myStyle20 {font-family:Tahoma; color:blue;
font-size:55}
</style>
<script>
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function stylize() {
var index = getRandomInt(1, 20);
var s = "myStyle" + index;
var e = document.getElementById("MessageText");
e.className = s;
setTimeout("stylize()", 1500);
return;
}
</script>
</head>
<body onLoad="stylize()">
<table align="center" border="1" bordercolor="black">
<tr>
<td align="center">
<font size="3"><b>STYLE CLASS VIEWER</b></font>
</td>
</tr>
<tr>
<td align="center" height="100" width="400">
<div id="MessageText" class="myStyle1">
Hello World Wide Web!
<div>
</td>
</tr>
</table>
</body>
</html>
&#13;
答案 1 :(得分:0)
<强>备注强>
您可以缩短代码,如下所示
var text = document.getElementById("text");
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function stylize() {
var interval = setInterval(function() {
var rand = getRandomInt(1, 20);
text.setAttribute("class", "myStyle" + rand);
}, 1500);
}
stylize();
.myStyle1 {
font-family: Impact;
color: black;
font-size: 100
}
.myStyle2 {
font-family: Georgia;
color: black;
font-size: 18
}
.myStye3 {
font-family: Tahoma;
color: black;
font-size: 24
}
.myStyle4 {
font-family: Verdana;
color: black;
font-size: 48
}
.myStyle5 {
font-family: Impact;
color: red;
font-size: 30
}
.myStyle6 {
font-family: Marlett;
color: green;
font-size: 65
}
.myStyle7 {
font-family: Arial;
color: blue;
font-size: 46
}
.myStyle8 {
font-family: Courier Sans MS Bold;
color: blue;
font-size: 60
}
.myStyle9 {
font-family: Impact;
color: blue;
font-size: 35
}
.myStyle10 {
font-family: Arial Italic;
color: blue;
font-size: 10
}
.myStyle11 {
font-family: Times New Roman;
color: blue;
font-size: 50
}
.myStyle12 {
font-family: Tahoma;
color: blue;
font-size: 38
}
.myStyle13 {
font-family: Verdana;
color: white;
font-size: 30
}
.myStyle14 {
font-family: Marlett;
color: blue;
font-size: 70
}
.myStyle15 {
font-family: Impact;
color: blue;
font-size: 24
}
.myStyle16 {
font-family: Georgia;
color: blue;
font-size: 24
}
.myStyle17 {
font-family: Impact;
color: blue;
font-size: 35
}
.myStyle18 {
font-family: Georgia;
color: black;
font-size: 12;
}
.myStyle19 {
font-family: Arial;
color: blue;
font-size: 20;
}
.myStyle20 {
font-family: Tahoma;
color: blue;
font-size: 55
}
<table align="center" border="1" bordercolor="black">
<tr>
<td align="center">
<font size="3"><b>STYLE CLASS VIEWER</b></font>
</td>
</tr>
<tr>
<td align="center" height="100" width="400">
<div id="text" class="myStyle1">
Hello World Wide Web!
</div>
</td>
</tr>
</table>