好一个莫名其妙的问题,抓狂ing

TerrorM 2013-02-01 11:04:46
[code=javascript]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>我的星空</title>
<style type="text/css">
div {
position: absolute;
font-size: 35px;
color: yellow;
}
</style>
<script type="text/javascript">
function explorer() {
var stars = document.getElementsByTagName("div");
var count = 0;
for (var i = 0; i < stars.length; i++) {
var temp = stars[i];
temp.style.top = Math.random() * 500;
temp.style.left = Math.random() * 1000;
alert(temp.style.color);
/*if (count % 2 == 0) {
temp.style.color = #white;
} else {
temp.style.color = #ff0;
}*/
}
count++;
window.setTimeout("explorer()", 1000);
}
</script>
<link rel="stylesheet" type="text/css" href="" />
</head>

<body bgcolor="black" onload="explorer()">
<div>...</div>
</body>
</html>

代码如上。“...”那里是个五角星的符号,CSDN不让显示...
我想每秒钟改变星星的位置和颜色,此时的代码只有位置可变,取消注释后颜色和位置都不变了。
红色部分alert(temp.style.color)显示出来是空空如也,不是null。
这是为什么?我希望的功能能不能实现呢?该怎么修改呢?
请大神们帮帮忙吧,小弟这里先谢谢了!
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbjbepzz 2013-02-02
  • 打赏
  • 举报
回复
看到了LZ说的那个问题,粗心不得啊。
静_海 2013-02-01
  • 打赏
  • 举报
回复
楼主自己也看到了,hehe,白写了。
静_海 2013-02-01
  • 打赏
  • 举报
回复
注释部分代码有错误:#white 应该是 'white', #ff0 应该是 '#ff0'。所以你取消注释后程序就出错了。
fzfei2 2013-02-01
  • 打赏
  • 举报
回复
引用 1 楼 TerrorM 的回复:
嗯,问题解决了。是给color复制那里少加了引号。太粗心了。不知道有没人在看呢?
你注释了没发现
fzfei2 2013-02-01
  • 打赏
  • 举报
回复
要取行当前的样式对象才行

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>我的星空</title>
<style type="text/css">
div {
position: absolute;
font-size: 35px;
color: yellow;
}
</style>
<script type="text/javascript">
function explorer() {
var stars = document.getElementsByTagName("div");
var count = 0;
for (var i = 0; i < stars.length; i++) {
var temp = stars[i];
temp.style.top = Math.random() * 500;
temp.style.left = Math.random() * 1000;
var st=temp.currentStyle?temp.currentStyle:getComputedStyle(temp,null);
 alert(st.color);

/*if (count % 2 == 0) {
temp.style.color = #white;
} else {
temp.style.color = #ff0;
}*/
}
count++;
window.setTimeout("explorer()", 1000);
}
</script>
<link rel="stylesheet" type="text/css" href="" />
</head>
<body bgcolor="black" onload="explorer()">
<div>...</div>
</body>
</html>
TerrorM 2013-02-01
  • 打赏
  • 举报
回复
嗯,问题解决了。是给color复制那里少加了引号。太粗心了。不知道有没人在看呢?

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧