请老师检查

来源:3-13 编程练习

tobeabee

2023-01-28 21:52:23

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .list li {
            font-size: 20px;
            color: black;
        }

        .list li.current {
            font-size: 25px;
            color: red;
        }
    </style>
</head>

<body>
    <ul class="list" id="list">
        <li data-n="HTML" class="current">HTML</li>
        <li data-n="CSS">CSS</li>
        <li data-n="JavaScript">JavaScript</li>
        <li data-n="jquery">jquery</li>
        <li data-n="HTML5">HTML5</li>
        <li data-n="CSS3">CSS3</li>
        <li data-n="ES6">ES6</li>
    </ul>
    <script type="text/javascript">
        //补充代码
        var list = document.getElementById('list');
        var lis = list.getElementsByTagName('li');

        list.addEventListener('mouseover', function (e) {
            if (e.target.tagName.toLowerCase() == 'li') {
                let curLi = e.target;
                for (let i = 0; i < lis.length; i++) {
                    let n = lis[i].getAttribute('data-n');
                    if (lis[i] == curLi) {
                        lis[i].className = 'current';
                        lis[i].innerText = n + '我是第' + (i + 1) + '个';
                    } else {
                        lis[i].className = '';
                        lis[i].innerText = n;
                    }
                }

                // console.log(e.target);
            }
        }, false);


    </script>
</body>

</html>


写回答

1回答

好帮手慕星星

2023-01-29

同学你好,代码优化如下:

1、第一个HTML默认加了current类,样式变化了,但是文字内容没变。所以可以不加current类

https://img.mukewang.com/climg/63d5d37e099ee48707100170.jpg

2、建议添加移出效果,避免始终停留在最后移出的某项

https://img.mukewang.com/climg/63d5d4bc0917f84405330228.jpg

祝学习愉快!

0

前端工程师

前端入门如同写字,如果你不知道从哪开始,那就选择前端(含Vue3.x,React17,TS)

20327 学习 · 17877 问题

查看课程

相似问题