clearwater 发表于 2020-3-10 22:01

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

本帖最后由 clearwater 于 2020-3-10 22:54 编辑

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

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

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

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

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

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

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

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

{:301_987:}

<!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.setAttribute('index', i); //注意,参数之间有逗号;
            lis.onclick = function() {
                // 1. 上的模块选项卡,点击某一个,当前这一个底色会是红色,其余不变(排他思想) 修改类名的方式

                // 干掉所有人 其余的li清除 class 这个类
                for (var i = 0; i < lis.length; i++) {
                  lis.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.style.display = 'none';
                }
                // 留下我自己 让对应的item 显示出来
                items.style.display = 'block';
            }
      }
    </script>
</body>

</html>


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

<!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.setAttribute('index', i);
            lis.onclick = function() {
               
                for (var i = 0; i < lis.length; i++) {
                  lis.className = '';
                  items.style.display = 'none';
                }
                this.className = 'current';
                var index = this.getAttribute('index');
                items.style.display = 'block';
            }
      }
    </script>
</body>

</html>

sk沧海一粟 发表于 2020-3-10 22:12

你这还没学到jQuery
后面学jQuery   不用循环 两行就好了

clearwater 发表于 2020-3-10 22:16

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

真的吗?太好辣。

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

前面的我都快忘光光辣。

谢谢大神捧场。


{:301_987:}

叁先生 发表于 2020-3-10 22:16

熟能生巧,楼主,多打几次你就记得了

clearwater 发表于 2020-3-10 22:18

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

谢谢大神鼓励。

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

{:301_987:}

a_code2017 发表于 2020-3-10 22:26

等你学了 es6, 上了框架 更加如虎添翼

clearwater 发表于 2020-3-10 22:30

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

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

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

现在手上空空的,不能评分辣。不好意思。

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,不能空手而归。


:lol

a361690548 发表于 2020-3-10 22:46

框架虽然多 但是基础扎实是最好的,加油楼主
页: [1] 2 3
查看完整版本: [前端基础]]我照葫芦画瓢,改进了瓢,开心[大神别喷啊]