不知道哪里出错,无法显示div内文本
<div id="text"> </div> <script type="text/javascript"> var str=document.getElementsByTagName("div")[0]; var num=0; function color(){ if(num==0){ num=1; str.innerHTML="☆☆☆今日特卖☆☆☆"; }if(num==1){ num=0; str.innerHTML="★★★今日特卖★★★"; }setTimeout(color,500); }
关于Time的练习都做得不太好。有没有什么可巩固记忆的学习内容T T
正在回答 回答被采纳积分+1
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>闪烁的文字</title>
<style type="text/css">
div{
width:200px;
height:200px;
line-height:200px;
border:2px solid gray;
text-align:center;
color:red;
}
</style>
</head>
<body>
<h3>会闪烁的文字</h3>
<div id="text"> </div>
<script type="text/javascript">
var text=document.getElementById("text");
var num=1;
function setIntervalID(){
if(num%2==0){
text.innerHTML="☆☆☆今日特卖☆☆☆";
num++;
}
else{
text.innerHTML="★★★今日特卖★★★";
num++;
console.log(num);
}
}
setInterval("setIntervalID()",1000);
</script>
</body>
</html>
那样的话,在函数外要调用一次函数,否则最初的函数没有调用不会运行,如下:
<script type="text/javascript"> var str=document.getElementsByTagName("div")[0]; var num=0; function color(){ if(num==0){ num=1; str.innerHTML="☆☆☆今日特卖☆☆☆"; }else if(num==1){ num=0; str.innerHTML="★★★今日特卖★★★"; } setTimeout(color,500); } color(); </script>
祝学习愉快~
你好,(1)计时器不应该在color()函数中;
(2)这里应该使用setInterval;setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码,而setTimeout只执行一次那段代码。
(3)这里不能使用两个if,否则,在第一个执行了,然后num的值发生改变,会接着执行下一个if的,建议可使用else if;整体可参考下列代码:
var str=document.getElementsByTagName("div")[0]; var num=0; function color(){ if(num==0){ num=1; str.innerHTML="☆☆☆今日特卖☆☆☆"; }else if(num==1){ num=0; str.innerHTML="★★★今日特卖★★★"; } } setInterval(color,500);
祝学习愉快~
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 547 人
- 提交作业 206 份
- 解答问题 640 个
JavaScript作为前端学习中的一个重要组成部分,本课程将带领你从最基础的语法开始,学习js的流程控制语句、函数、内置对象、DOM基础、DOM事件、BOM基础以及经典的js案例--轮播图。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星