不知道哪里出错,无法显示div内文本

不知道哪里出错,无法显示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

登陆购买课程后可参与讨论,去登陆

5回答
web_東 2017-10-21 04:49:40

循循渐进,不可急躁。一节一节的看。我有的时候一节反反复复看好几次。

web_東 2017-10-21 04:46:21

<!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>

小丸子爱吃菜 2017-09-27 17:15:19

要将课程中的视频和习题做完了,进度才能增加,看一下课程中的习题是否有没有完成的。

  • 提问者 慕瓜9363615 #1
    看完了视频但是没有显示打勾
    2017-09-27 17:37:01
  • 小丸子爱吃菜 回复 提问者 慕瓜9363615 #2
    视频是快进看的还是按照正常速度看的?视频如果是拖着快进看的话,是不行的哦,如果想快速看可以点击倍速进行播放。
    2017-09-27 18:09:04
  • 提问者 慕瓜9363615 回复 小丸子爱吃菜 #3
    document.write("<font color='"+col+"'>"+i+"</font>") 考试题 不知道在哪里提问,所以在这里询问不好意思,不明白这个为什么可行。
    2017-09-27 20:12:58
好帮手慕糖 2017-09-27 11:25:50

那样的话,在函数外要调用一次函数,否则最初的函数没有调用不会运行,如下:

<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>

祝学习愉快~

  • 提问者 慕瓜9363615 #1
    您好,我轮播那一章已经学的差不多了,想先做最后的测验题,可是学习进度一直是24%,有办法处理吗?
    2017-09-27 16:28:35
好帮手慕糖 2017-09-27 10:30:56

你好,(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);

祝学习愉快~

  • 提问者 慕瓜9363615 #1
    不能用自循环做吗??
    2017-09-27 11:20:58
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
JavaScript基础入门 2018
  • 参与学习       547    人
  • 提交作业       206    份
  • 解答问题       640    个

JavaScript作为前端学习中的一个重要组成部分,本课程将带领你从最基础的语法开始,学习js的流程控制语句、函数、内置对象、DOM基础、DOM事件、BOM基础以及经典的js案例--轮播图。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师