老师我的问题在注释中,这段已经写的很完整了,发现还是实现不了。显示错误

来源:3-13 编程练习

Vigorous阿炎

2020-11-18 15:23:32

   <button id="start">开始</button>

    <button id="stop">停止</button>

    <div id="box"></div>

    <script>

        const startBtn = document.getElementById('start')

        const stopBtn = document.getElementById('stop')

        const box = document.getElementById('box')

        var show = {

            content: "Hello World",

            timer: null,

            start: function () {

                startBtn.onclick(()=>{    //点击事件

                    setInterval(()=>{      //定时器

                        box.innerHTML+=this.content;

              //请问这里的this可以换成show.content吗?

            //或者换成let n=`${show.content}`; box.innerHTML+=n;  ?

                    },500)

                })

            },

            stop: function () {

                stopBtn.onclick(()=>{

                    clearInterval(timer)

                })

            },

        }

        show.start();   //调用函数

        show.stop();

    </script>

http://img.mukewang.com/climg/5fb4cbd409aeb62114410123.jpg

在这里输入代码,可通过选择【代码语言】突出显示

写回答

1回答

好帮手慕慕子

2020-11-18

同学你好, 老师测试同学粘贴的代码,出现的报错与同学截图不一样,如下所示:

http://img.mukewang.com/climg/5fb4cfca090405d008600206.jpg

原因:onclick方法绑定方式不对,应该是直接赋值为一个箭头函数。

另外,需要将定时器赋值给timer属性,方便清除对应的定时器。建议参考下图修改:

http://img.mukewang.com/climg/5fb4d0c109337e6607700688.jpg

同学截图中出现的报错,可以先检查下是否是哪里书写有误,修改一下,如果自己排查不出来,可以将你写的完整代码全部粘贴过来,老师帮助同学排查。

祝学习愉快~

0
higorous阿炎
h 谢谢,这边自己试了两种方法,终于把问题给解决了。
h020-11-18
共1条回复

0 学习 · 15276 问题

查看课程