一、昨日内容回顾

    1.绝对定位的盒子居中

      left:50%;

      margin-left:负的盒子宽度的一半

    2.固定位置

      脱离标准文档流

      作用:返回顶部,广告,滚动监听栏、固定导航栏(body{margin-top:100px或padding-top:100px;})。

二、今日内容总结

    1.javascript的介绍和作用

      DOM:Document Object Model

      BOM:Browe Object Modle

   2. js三大部分

      1)、ECMAScript基础语法

          javascript语法标准。包括变量、表达式、运算符、函数、if语句、for语句等 

          (1) 初识js

              <script type="text/javascript"> <script>

              alert('xxx')

              console.log('xxx')# 控制台输出

              console.dir("xxx")

              var a = prompt('xxx')

              单行注释// 多行注释/*  */

              语法规则:JavaScript对换行、缩进、空格不敏感,语句末尾加分号,单行注释// 多行注释/*  */

          (2)直接量:数字99和字符串“99”

          (3) 变量:定义 赋值 命名规范

             a.变量的定义提升

             b.x = a++  和 x= ++a 的区别

          (4) 变量的类型(typeof  变量)

              number

              string

             undfined    # 布尔值为false

             null  # 布尔值为false

             NaN  number  # 布尔值为false

             infinity  无限大  # 布尔值为true

           连字符和加号

            (5)变量的转换

            parseInt()

                (1)带有自动净化的功能;只保留字符串最开头的数字,后面的中文自动消失。例如:

                 (2)自动带有截断小数的功能:取整,不四舍五入

            parseFloat()

            parseString()    

          (2) 基础数据类型

             # number

             # string

               # boolean

             # null

             # undefined

              引用数据类型:   

          • Function
          • Object
          • Arrray
          • String
          • Date

         (3)运算符 

                # 赋值运算符: = 、+=、-=、%=、*=、/=

             # 算数运算符: +、-、*、/、%、++、--

            #  比较运算符:==、===、!==、!===、>、<、>=、<=

         特殊情况:字符串拼接和es6模板字符串(·hh·)                

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript">
//方法一:
var firstName = '小';
var lastName = '马哥';
var name = '伊拉克';
var am = '美军';
// 字符串拼接
var str = "2003年3月20日,"+name+"战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,"+am+"又一次取得的大规模压倒性军事胜利。"
var fullStr = str;
console.log(fullStr) var fullName = firstName +" "+ lastName;
console.log(fullName)
// 方法二:
var str = `2003年3月20日 ${name}战争爆发,以美军为主的联合部队仅用20多天就击溃了萨达姆的军队。这是继十多年前的海湾战争后,${am}又一次取得的大规模压倒性军事胜利。`
console.log(str)
</script> </body>
</html>

··

           (4) 数据类型转换

             # 数字转字符串

                a. 隐式转换 1+‘2’ 输出‘12‘

                b.强制转换 string() 、 tostring()

             # 字符串转数字

                 parseInt()、parseFloat()

               # 任何数据类型转成boolean()

           ( 5 ) 流程控制

              #  if(){} else{}

              #   if() {} else if() {} else{}

              #   while(){}

              #   do{} while()

              #   for(var i=0,i<10,i++){}

              # switch(变量) {

                     case ‘1’:

                       XXXX

                        break # 如果没有break 它就会一直执行,直至遇到下一个break 这个叫case穿透。

                     case ‘2’:

                       XXXX

                        break

                      。。。。

                      default:

                       console.log('很遗憾')

                  }

            (6) 常用内置对象

                #  数组Array

                #  字符串String

                #  Date

                #  math对象

               http://www.cnblogs.com/majj/p/9095590.html 

            (7) 函数

                # 定义:

                 function 函数名(参数){}

                # 函数的调用:

                  函数名()

                # 函数的返回值

            (8)为数组arguments            

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script type="text/javascript"> function add(a,b,c){
console.log(add.length) //形参个数
console.log(arguments.length) //实参个数
console.log(arguments) //实参
return a+b+c
}
add(1,2)
var z = add(1,2,3)
console.log(z)
</script>
</body>
</html>

伪数组

               之所以说arguments是伪数组,是因为:arguments可以修改元素,但不能改变数组的长短。举例:

                   清空数组的三种方式:

                
    var a1 = [1,2,3,4]
    // a1.splice(0)
    // a1 = []
    a1.length=0
    console.log(a1)

      2)、DOM

          操作网页上元素的API。比如盒子移动、变色、轮播图等

          1.事件源、事件、事件驱动程序

          2.获取文档元素节点、属性节点、文本节点

            # 获取文档元素节点、增加、删除等

              document  //文档

              document.documentElement //html

              document.body//body

                

              var oBtn = document.getElementById('')

              var oBtn = document.getElementsByTagName('')

              var oBtn = document.getElementsByClassName('')

            # 获取文档属性节点

             oBtn.src  oBtn.classname

               oBtn["src"]

<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
} @keyframes mymove
{
from {left:0px;}
to {left:200px;}
} @-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>
</head>
<body> <p><strong>注释:</strong>Internet Explorer 9 以及更早的版本不支持 animation 属性。</p> <div></div> </body>
</html>

移动效果关联

      3)、BOM

          操作浏览器部分功能的API。比如让浏览器自动滚动。

三、扩展和预习

   1 transition:属性 过渡时间 过渡函数效果 延迟时间

    

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.box1{
visibility: hidden;
width: 200px;
height: 200px;
background-color: #333;
transition: all 2s ease-in 0.2s;
}
.box2{
position: absolute;
width: 200px;
height: 200px;
background-color: red;
}
.box2:hover .box1{
visibility: visible;
width: 300px; }
</style>
</head>
<body> <div class="box2"><div class="box1"></div></div> </body>
</html>

矩形框变大的过程

     2. transform # div旋转

 

<!DOCTYPE html>
<html>
<head>
<style>
.box1
{
margin:30px;
width:200px;
height:100px;
background-color:yellow;
/* Rotate div */
transform:rotate(20deg);
-ms-transform:rotate(9deg); /* Internet Explorer */
-moz-transform:rotate(9deg); /* Firefox */
-webkit-transform:rotate(30deg); /* Safari 和 Chrome */
-o-transform:rotate(9deg); /* Opera */
}
</style>
</head>
<body> <div class="box1">Hello World</div>
<div style="height: 300px;background-color: red;"> </div> </body>
</html>

div旋转实例

      3.animation # 移动效果关联

<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-webkit-animation:mymove 5s infinite; /*Safari and Chrome*/
} @keyframes mymove
{
from {left:0px;}
to {left:200px;}
} @-webkit-keyframes mymove /*Safari and Chrome*/
{
from {left:0px;}
to {left:200px;}
}
</style>
</head>
<body> <p><strong>注释:</strong>Internet Explorer 9 以及更早的版本不支持 animation 属性。</p> <div></div> </body>
</html>

移动效果关联

python全栈开发day43-javascript的更多相关文章

  1. Python全栈开发:Javascript

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  2. python全栈开发目录

    python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...

  3. Python 全栈开发【第0篇】:目录

    Python 全栈开发[第0篇]:目录   第一阶段:Python 开发入门 Python 全栈开发[第一篇]:计算机原理&Linux系统入门 Python 全栈开发[第二篇]:Python基 ...

  4. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  5. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  6. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  7. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  8. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  9. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  10. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

随机推荐

  1. DOM-Document对象

     一. 整体介绍   这里介绍DOM对象中的Document对象. 何为Document对象?每个载入浏览器的HTML文档都会成为Document对象,Document对象可以帮助我们对所有的HTML ...

  2. python遍历数组获取下标

    代码 通过枚举实现 a = [,,,,,] for i,j in enumerate(a): print i,j 结果

  3. Javaweb学习笔记——(三)——————JavaScript基础&DOM基础

    day031.js的String对象 **创建String对象 ***var str = "abc"; **方法和属性(文档) ***属性 lenth:字符串的长度 ***方法 ( ...

  4. charCodeAt() 和charAt()

    charAt() 方法可返回指定位置的字符. charCodeAt() 方法可返回指定位置的字符的 Unicode 编码.这个返回值是 0 - 65535 之间的整数. 方法 charCodeAt() ...

  5. Java EE之Hibernate异常总结【2】Field 'id' doesn't have a default value

    Field 'id' doesn't have a default value问题解决方法 因为assigned是指主键是由人工分配的,而native则指主键值由库自动给出. <generato ...

  6. Java SE之Java工作原理

     在Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器.这台虚拟的机器在任何平台上都提供给编译程序一个的共同的接口.编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后 ...

  7. 第16月第17天 contentMode

    1. self.contentMode = UIViewContentModeScaleAspectFill; self.clipsToBounds = YES; http://blog.csdn.n ...

  8. 出现fonts/fontawesome-webfont.woff?v=4.5.0 net::ERR_ABORTED

    虽然网页正常显示和运行,但是有2个字体文件出现404错误. 原因:服务器没有配置MIME类型而已. 1. 在IIS网站中,找打网站对应的MIME类型,双击. 2.能看到此网站对应的MIME类型,点击右 ...

  9. shiroWeb项目-授权(十一)

    使用PermissionsAuthorizationFilter 在applicationContext-shiro.xml中配置url所对应的权限. 测试流程: 1.在applicationCont ...

  10. SRS服务器搭建,ffmpeg 本地推流,srs从本地拉流

    参考: https://github.com/ossrs/srs/wiki/v2_CN_SampleFFMPEG git clone https://github.com/ossrs/srs cd s ...