吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1950|回复: 22
收起左侧

[已解决] [前端基础]]我照葫芦画瓢,改进了瓢,开心[大神别喷啊]

[复制链接]
clearwater 发表于 2020-3-10 22:01
本帖最后由 clearwater 于 2020-3-10 22:54 编辑

[大神别喷啊,不过我心情好,你们要喷就喷吧,我也不生气。打不还手,骂不还口]
[以前我的求助帖,我特反感别人进来水,今天你们随便回复。]

小白自学前端,到目前为止,虽然没有感到太大的难度,但是知识点一直在遗忘,这是我最大的难点。

看懂了 =/=  会写;
会写了 =/=  不等于成为自己的东西 (隔一两天我又都忘光光辣)

英语是我的强项,我不怕。我一直以为自己的数学基础太差,没有很多的自信。之前我还以为学前端,不用学编程。其实我也不知道到底什么是前端,反正胡乱找一门知识,入坑的。

今天我很开心,我把某马老师的代码做了改进,感觉思路简洁多了。本来我想发到水漫金山去,发这里怕别人喷我,这种垃圾也发上来。可是水漫金山的人多数人估计是没兴趣看一眼的,这里有很多大神都或多或少拉把我好几把,是我的老师。我想让你们前辈看看我的进步。自己也给自己加点油!

第一个代码是某马老师的。

第二个代码是我自己改良的---我改良的地方是JS部分,去掉一个for循环,合并在一起。虽然就这么一丁点,我感到自己在进步。不再是照抄的copycat

我的喜悦之情渲泄完了。再次感谢楼中大神的鼓励。(等明天有能量,再给楼中几位没评分的评分,到10楼为止。再回复的,请原谅不再评分辣)



[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        li {
            list-style-type: none;
        }
        
        .tab {
            width: 978px;
            margin: 100px auto;
        }
        
        .tab_list {
            height: 39px;
            border: 1px solid #ccc;
            background-color: #f1f1f1;
        }
        
        .tab_list li {
            float: left;
            height: 39px;
            line-height: 39px;
            padding: 0 20px;
            text-align: center;
            cursor: pointer;
        }
        
        .tab_list .current {
            background-color: #c81623;
            color: #fff;
        }
        
        .item_info {
            padding: 20px 0 0 20px;
        }
        
        .item {
            display: none;
        }
    </style>
</head>

<body>
    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后保障</li>
                <li>商品评价(50000)</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <!-- 注意block加分号 -->
            <div class="item" style="display: block;">
                商品介绍模块内容
            </div>
            <div class="item">
                规格与包装模块内容
            </div>
            <div class="item">
                售后保障模块内容
            </div>
            <div class="item">
                商品评价(50000)模块内容
            </div>
            <div class="item">
                手机社区模块内容
            </div>

        </div>
    </div>
    <script>
        // 获取元素
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');
        // for循环绑定点击事件
        for (var i = 0; i < lis.length; i++) {
            // 开始给5个小li 设置索引号 
            lis[i].setAttribute('index', i); //注意,参数之间有逗号;
            lis[i].onclick = function() {
                // 1. 上的模块选项卡,点击某一个,当前这一个底色会是红色,其余不变(排他思想) 修改类名的方式

                // 干掉所有人 其余的li清除 class 这个类
                for (var i = 0; i < lis.length; i++) {
                    lis[i].className = '';
                }
                // 留下我自己 
                this.className = 'current';
                // 2. 下面的显示内容模块
                var index = this.getAttribute('index'); // 取得当前li的所引号
                console.log(index);
                // 干掉所有人 让其余的item 这些div 隐藏
                for (var i = 0; i < items.length; i++) {
                    items[i].style.display = 'none';
                }
                // 留下我自己 让对应的item 显示出来
                items[index].style.display = 'block';
            }
        }
    </script>
</body>

</html>



下面是我改良版,我改良的地方是:95-98行(JS部分)

[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        li {
            list-style-type: none;
        }
        
        .tab {
            width: 978px;
            margin: 100px auto;
        }
        
        .tab_list {
            height: 39px;
            border: 1px solid #ccc;
            background-color: #f1f1f1;
        }
        
        .tab_list li {
            float: left;
            height: 39px;
            line-height: 39px;
            padding: 0 20px;
            text-align: center;
            cursor: pointer;
        }
        
        .tab_list .current {
            background-color: #c81623;
            color: #fff;
        }
        
        .item_info {
            padding: 20px 0 0 20px;
        }
        
        .item {
            display: none;
        }
    </style>
</head>

<body>
    <div class="tab">
        <div class="tab_list">
            <ul>
                <li class="current">商品介绍</li>
                <li>规格与包装</li>
                <li>售后保障</li>
                <li>商品评价(50000)</li>
                <li>手机社区</li>
            </ul>
        </div>
        <div class="tab_con">
            <div class="item" style="display: block;">
                商品介绍模块内容
            </div>
            <div class="item">
                规格与包装模块内容
            </div>
            <div class="item">
                售后保障模块内容
            </div>
            <div class="item">
                商品评价(50000)模块内容
            </div>
            <div class="item">
                手机社区模块内容
            </div>

        </div>
    </div>
    <script>
       
        var tab_list = document.querySelector('.tab_list');
        var lis = tab_list.querySelectorAll('li');
        var items = document.querySelectorAll('.item');
      
        for (var i = 0; i < lis.length; i++) {
            
            lis[i].setAttribute('index', i); 
            lis[i].onclick = function() {
                
                for (var i = 0; i < lis.length; i++) {
                    lis[i].className = '';
                    items[i].style.display = 'none';
                }
                this.className = 'current';
                var index = this.getAttribute('index');
                items[index].style.display = 'block';
            }
        }
    </script>
</body>

</html>

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sk沧海一粟 发表于 2020-3-10 22:12
你这还没学到jQuery
后面学jQuery   不用循环 两行就好了

免费评分

参与人数 1热心值 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-10 22:16
sk沧海一粟 发表于 2020-3-10 22:12
你这还没学到jQuery
后面学jQuery   不用循环 两行就好了

真的吗?太好辣。

不过我打算把知识再复习个5-6遍,再进前。不图快。

前面的我都快忘光光辣。

谢谢大神捧场。


叁先生 发表于 2020-3-10 22:16
熟能生巧,楼主,多打几次你就记得了

免费评分

参与人数 1吾爱币 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-10 22:18
叁先生 发表于 2020-3-10 22:16
熟能生巧,楼主,多打几次你就记得了

谢谢大神鼓励。

现在手上只有一个CB币,请笑纳。热心用光辣。



a_code2017 发表于 2020-3-10 22:26
等你学了 es6, 上了框架 更加如虎添翼

免费评分

参与人数 1热心值 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

 楼主| clearwater 发表于 2020-3-10 22:30
a_code2017 发表于 2020-3-10 22:26
等你学了 es6, 上了框架 更加如虎添翼

谢谢大神指点。

不知啥时候才能学到这些神奇的技能。我打算多复习旧的知识点,再前进。

前天学的节点啥的,我今天一看,好象是个从没见过的陌生人。

现在手上空空的,不能评分辣。不好意思。
a_code2017 发表于 2020-3-10 22:35
clearwater 发表于 2020-3-10 22:30
谢谢大神指点。

不知啥时候才能学到这些神奇的技能。我打算多复习旧的知识点,再前进。

代码 要经常敲,几天不敲手就生疏,哎说多了 都是泪。你要是自学的话,看视频一定要看最新的内容,前端技术更新的太快了 .
 楼主| clearwater 发表于 2020-3-10 22:40
a_code2017 发表于 2020-3-10 22:35
代码 要经常敲,几天不敲手就生疏,哎说多了 都是泪。你要是自学的话,看视频一定要看最新的内容,前端技 ...

谢谢大神。我天天都在看教程的,天天都在打代码。哪怕很简单的,我也要拿来打。

我随便找一套教程先看下去,不改了。

我特别喜欢某马,喜欢PINK老师。

有完整的笔记,有源码,视频高清;

PINK老师的课很有个人的风格,语调富有层次感,温和。

等我把基础打牢了,相信以后要学新技术也不会太慢。我学这个也不是想就业,就是学点技能,来到52,不能空手而归。


a361690548 发表于 2020-3-10 22:46
框架虽然多 但是基础扎实是最好的,加油楼主

免费评分

参与人数 1吾爱币 +1 收起 理由
clearwater + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-14 19:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表