JavaScript基础第一天

135 阅读4分钟

1、响应式布局(案例)

①字体图标

②导航条

③轮播图

2、JavaScript

①JavaScript 定义

②JavaScript 组成部分

③JavaScript 三种方式引入

④JavaScript 注释

⑤JavaScript 结束符

⑥JavaScrip 输入和输出

响应式布局

bootstrap

1、使用bootstrap的注意事项、建议、总结

①在使用bootstrap ui框架的时候是不需要和以前一样写base.css来样式的初始化!!

②媒体查询+浮动 就是bootstrap实现栅格系统的本质!

③响应式布局的网站,能不能用flex布局?

Ⅰ、一般的情况下,响应式布局的网站 不建议使用 flex!(通用)

  • 响应式布局包含了pc端和移动端,pc端可能会存在低版本的浏览器(ie,8,9,10)低版本的pc端的ie浏览器,会css3的支持没有那么优化-flex无效

Ⅱ、特别的情况,经理明确说明,不用管低版本的ie -就可以正常使用所学习过的css3的知识 过渡、动画、flex

导航条

at-navbar{
background-color: transparent; 
border: none;
}

元素设置高度

Ⅰ、在最外层来设置2

Ⅱ、由里面来撑开

Ⅲ、 优先级 权重的问题 Ⅳ、只要是使用第三方的ui框架

  • 90%代码人家写好
  • 10%代码 需要我们自己去重置去调试去调整

Ⅴ、认真去对待调试!!! 开发人员 必须要熟练的技术!!

Ⅵ、旧项目使用的boostrap的版本和新的项目的bootstrap版本不一致才导致 效果没有对应上!!

小结

1、旧的项目 用的旧的 bootstrap

2、新的项目用的新的bootstrap

3、我们没有自己改动过代码但是效果却对应不上!!找到了原因引入的第三方库的版本不相同导致!!

4、 从中学习到了什么

①调试错误的范围 更加大!

②老师演示的调试错误的方法 已经出现错误的情形 你感觉 工作中 会不会出现!

5 如何解决?

①直接使用旧的bootstrap的版本(暂时使用1方案)

② 建议老板 使用新的版本-接受有一些布局细节和旧版本不一致的情绪

③使用新版本,哪些不一样具体再去挨个微调(不推荐,可能工作量会特别大)

2、栅格系统(重要!!!)

栅格系统是bootstrap封装好的一种技术(媒体查询),更加方便的方式来让我们使用

1、做引入框架的铺垫

①引入样式

②引入 jquery.js

③引入 bootstrap.js

2、写栅格代码

①先容器container(版心)或者 container-fluid(版心)

②再写行 row

③根据屏幕的种类 以及每一列占的分数。

3、懂得基本步骤 那么bootstrap的最核心的地方

<div class="container">
	<div class="row">
         <div class="col-md-3 col-sm-6 col-xs-12">
             <img class="img-rounded" src="./uploads/pro1.jpg" alt="">
         </div>
         <div class="col-md-3 col-sm-6 col-xs-12">
              <img class="img-rounded" src="./uploads/pro2.jpg" alt="">
         </div>
         <div class="col-md-3 col-sm-6 col-xs-12">
              <img class="img-rounded" src="./uploads/pro3.jpg" alt="">
         </div>
         <div class="col-md-3 col-sm-6 col-xs-12">
              <img class="img-rounded" src="./uploads/pro4.jpg" alt="">
          </div>
     </div>
</div>

3、字体图标的运用

<body>
    <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
    <span class="glyphicon glyphicon-object-align-vertical" aria-hidden="true"></span>
    <span class="glyphicon glyphicon-bitcoin" aria-hidden="true"></span>
    <span class="glyphicon glyphicon-yen" aria-hidden="true"></span>
    <span class="glyphicon glyphicon-baby-formula" aria-hidden="true"></span>
</body>

4、导航条

<nav id="at-navbar" class="navbar navbar-default navbar-fixed-top">
    /* 导航条是否充满整个窗口 */
        <div class="container">
            <!-- Brand and toggle get grouped for better mobile display -->
            <div class="navbar-header">
                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
                    data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="#">
                    <img src="./images/logo.png" alt="">
                </a>
            </div>

            <!-- Collect the nav links, forms, and other content for toggling -->
            <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">

                <ul id="atnav" class="nav navbar-nav navbar-right">
                    <li><a href="#">首页</a></li>
                    <li><a href="#">博客</a></li>
                    <li><a href="#">GitHub</a></li>
                    <li><a href="#">Tweb Conf</a></li>
                    <li><a href="#">SuperStar</a></li>
                    <li><a href="#">Web前端</a></li>
                    <li><a href="#">关于</a></li>
                </ul>
            </div>
        </div>
    </nav>

5、轮播图

 <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
        <!-- 小圆点 -->
        <!-- Indicators -->
        <ol class="carousel-indicators">
          <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
          <li data-target="#carousel-example-generic" data-slide-to="1"></li>
          <li data-target="#carousel-example-generic" data-slide-to="2"></li>
        </ol>
      
        <!-- 轮播的图片 -->
        <!-- Wrapper for slides -->
        <div class="carousel-inner" role="listbox">
          <div class="item active">
            <img src="./images/1.jpg" alt="...">
            <div class="carousel-caption">
              ...
            </div>
          </div>
          <div class="item">
            <img src="./images/1.jpg" alt="...">
            <div class="carousel-caption">
              ...
            </div>
          </div>
          <div class="item">
            <img src="./images/2.jpg" alt="...">
            <div class="carousel-caption">
              ...
            </div>
          </div>
          ...
        </div>
      
        <!-- 滑动箭头 -->
        <!-- Controls -->
        <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
          <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
          <span class="sr-only">Previous</span>
        </a>
        <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
          <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
          <span class="sr-only">Next</span>
        </a>
      </div>

JavaScript

1、定义

①是什么?(编程语言)

是一种运行在客户端(浏览器)的编程语言,实现人机交互效果

②作用:

Ⅰ、网页特效 (监听用户的一些行为让网页作出对应的反馈)

Ⅱ、表单验证 (针对表单数据的合法性进行判断)

Ⅲ、数据交互 (获取后台的数据, 渲染到前端)

Ⅳ、服务端编程 (node.js)

2、JavaScript 组成部分

①ECMAScript:

  • 规定了js基础语法核心知识。

比如:变量、分支语句、循环语句、对象等等

②Web APIs :

Ⅰ、DOM (页面标签)

操作文档,比如对页面元素进行移动、大小、添加删除等操作

Ⅱ、BOM (浏览器刷新)

操作浏览器,比如页面弹窗,检测窗口宽度、存储数据到浏览器等等

注意 DOM属于BOM

权威网站:MDN

1648135468748.png

3、JavaScript 三种方式引入

①内部JavaScript(写小demo)

直接写在html文件里,用script标签包住

规范:script标签写在上面

拓展: alert(‘你好,js’) 页面弹出警告对话框

<body>
    
    <script>
    alert('你好,弹出窗口')
    </script>
</body>

②外部JavaScript(工作常用)

代码写在以.js结尾的文件里

语法:**通过标签html

<body>
    <!-- 注意:引入js外部文件,就不要写内部js,书写错误,无效 -->
    <script src="./js/外部js书写.js"></script>
</body>

③内联JavaScript(不推荐)

代码写在标签内部

<body>
    <!-- 不常用  编写代码的体验不好,很容易写错,  了解一下即可 -->
    <!-- 引号只能:双引号里面放单引号或单引号里面放双引号,不能同时使用同一种 -->
    <button onclick="alert('过万啦')">点击我 我就月薪过万</button>
    <button onclick='alert("也过万啦")'>点击我 我就月薪过万</button>

    <!-- 点击div也可出现弹窗 -->
    <div onclick='alert("也过万啦")'>我来啦</div>
  </body>

4、JavaScript 注释

①单行注释

符号://

作用://右边这一行的代码会被忽略

快捷键:ctrl + /

②多行注释

符号:/* */

作用:在/* 和 */ 之间的所有内容都会被忽略

快捷键:shift +alt+a

<body>
    <script>
        //单行
      // ctrl  + /      " // "

       /*  多行 */
      // shift+alt+a     "  /**/ "

      // alert("呵呵你好")
    </script>
  </body>

5、JavaScript 结束符

英文状态下的分号";" 看自己习惯,可写可不写

为了风格统一,要写结束符就每句都写,要么每句都不写(按照团队要求.)

工作中有工具统一自动帮我们做格式化

<script>

      /* 
      现代好的 前端项目的开发流程
      1 对代码统一做好公共的设置 
        这个设置 会强制帮我们来格式化 这个团队的代码 
        比如 :  alert( "你好"    ) => 自动被格式化 alert("你好")  
        比如 :  alert("你好")  =>  alert("你好");
        比如 :  alert("你好");  =>  alert("你好")

      2 综上所述 在企业开发中 有工具强制帮我们做统一的格式化  你加不加都无所谓 不影响 

   
       */

    </script>

6、JavaScrip 输入和输出

①输出:(三种)

Ⅰ、alert() ;

  • 页面弹出警告对话框

Ⅱ、document.write() ;

  • 向body内输出内容

  • 如果输出的内容写的是标签,也会被解析成网页元素

Ⅲ、console.log() 常用

  • 控制台输出语法,程序员调试使用

②输入: prompt("请输入您的的姓名:");

弹出一个对话框获取用户的输入

语法:

Ⅰ、输入获取输出内容

 <script>
// 获取用户的名称
      username = prompt("请输入你的姓名");

      // 打印出来 用户的名称
      document.write(username);
      alert(username);
      console.log(username);
    </script>

Ⅱ、输入获取多个输出

<script>
      // 1 你叫什么名字
      username = prompt('你叫什么名字');
      // 2 你家住哪里
      address = prompt('你家住哪里');
      // 3 你喜欢吃什么
      foods = prompt('你喜欢吃什么');
      // 4 你喜欢自己一个听音乐吗
      music = prompt('你喜欢自己一个听音乐吗');
      // 5 你喜欢运动
      sports = prompt('你喜欢运动');

      // 输入一下  到网页中
      // console.log(username);
      // console.log(address);
      // console.log(foods);
      // console.log(music);
      // console.log(sports);

      // 能不能在一行上直接输出  不要换行  
      // 使用 一个 +  表示连接 
      console.log(username + address + foods + music + sports);
    </script>

1648140049869.png

控制台输出