老师,我这个有点问题,我点击了下面两个的时候就没反应了,而且点击的次数多了就会报错?

老师,我这个有点问题,我点击了下面两个的时候就没反应了,而且点击的次数多了就会报错?

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

    <style>

        * {

            padding0;

            margin0;

        }


        .box {

            width1000px;

            background-colorskyblue;

            height500px;

            margin30px auto;

            font-size100px;

        }


        #list {

            list-stylenone;

            width100px;

            height160px;

            background-colortan;

            text-aligncenter;

            positionfixed;

            right20px;

            top50%;

            margin-top-75px;

        }


        #list li {

            height20px;

            width100px;

            margin-top10px;

            cursorpointer;

        }


        #list li:last-child {


            margin-bottom10px;

        }

    </style>

</head>


<body>

   

    <div class="box" data-n="新闻">新闻栏目</div>

    <div class="box" data-n="娱乐">娱乐栏目</div>

    <div class="box" data-n="世界">世界军事栏目</div>

    <div class="box" data-n="动物">动物世界栏目</div>

    <div class="box" data-n="探索">探索发现栏目</div>

    <nav>

        <ul id="list">

            <li data-n="新闻">新闻栏目</li>

            <li data-n="娱乐">娱乐栏目</li>

            <li data-n="世界">世界军事</li>

            <li data-n="动物">动物世界</li>

            <li data-n="探索">探索发现</li>

        </ul>

    </nav>

    <script>

        var list = document.getElementById('list');

        list.onclick = function (e) {

            if (e.target.tagName.toLowerCase() == 'li') {

                var n=e.target.getAttribute('data-n');

            }

          var a=  document.querySelector('.box[data-n='n +']');

       

          document.documentElement.scrollTop=a.offsetTop;

           

        }

    </script>

</body>


</html>


这是报错信息


楼层导航小效果.html:73 Uncaught TypeError: Cannot read property 'offsetTop' of null

    at HTMLUListElement.list.onclick (楼层导航小效果.html:73)


正在回答 回答被采纳积分+1

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

2回答
好帮手慕慕子 2021-02-28 17:15:26

同学你好,能够自己发现并解决问题,真棒!!! 给你点个赞,祝学习愉快~

阿山123 提问者 2021-02-28 16:18:38

我知道了,不是没反应,是到底了,所以感觉没反应,我应该设置body的高度为6000就有效果了,

那个报错,应该是我设置了一个margin-top,中间有间距,我点到了间距,所以会有报错,他没有值

  • 提问者 阿山123 #1

    我把margin-top间距去掉了,同时增加了每个li标签盒子的高度,以及行高,文字之间的上下距离就被拉开了,不用margin-top来拉开上下的间距。

    2021-02-28 16:22:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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