一、昨日内容回顾

    1.DOM节点获取:三种方式

    2.属性的设置:

     getAttirbute()

     setAttribute()

     .点设置,【】设置    

    3.节点的创建:

      var oDiv = createElement('div')

       设置节点属性、内容(innerText,innerHTML,value)、添加节点至html

节点的添加:
  父节点.appendChild(子节点)
  父节点.insertBefore(新的子节点,参考的子节点)
  如果参考节点为null,相当于appendChild方法

节点的删除:

  父节点.removeChild(子节点)

4.定时器(一定要清除定时器):

  var a = setTimeOut(fn,5000);

  var b = setInterVal(fn,5000);       

      clearTimeOut(a);
      clearInterVal(a);

二、今日内容总结

  1.js中对象的创建方式(js中的面向对象是伪面向对象)

1.字面量方式创建 简单粗暴
var p = {
name:'鞠疼',
age:18,
fav:function(){}

}
2.内置构造函数
var p = new Object()

3.工厂模式
function person(){
var p = new Object();
...

return p
};
var p1 = person();
var p2 = person();

4.构造函数

闭包函数:解决全局污染的问题

function Person(){
this.name = name;
this.age = age;
this.fav = fn;
this.fav1 = fn2;
};

function Ooo(){

this.fav = fn;
this.fav1 = fn2;
}
var p1 = new Person();

p1 instanceOf Object ===true
p1 instanceOf Person ===true
p1 instanceOf fruite ===false

  

5.原型链继承方式创建 ****
function Student() {
this.name = 'easy';
this.age = 20;
}

Student.prototype.alertName = function(){
alert(this.name);
};
Student.prototype.alertName2 = function(){
alert(this.age);
};

var stu1 = new Student();
//var stu2 = new Student();

window.aaa = stu1;

stu1.alertName(); //easy
stu2.alertName(); //easy

alert(stu1.alertName == stu2.alertName); //true 二者共享同一函数

  2. 模块抛出

抛出模块

在js中模块抛出 有两种
//前端也有模块,前端的模块抛出的方案不同
//同步和异步
//现在学到的模块技术是不完善 我们是希望我们的是异步方案

        # js模块抛出分两种(对象和构造函数) 

      1.必须使用闭包函数,将抛出的内容(对象)挂在到window     

                //1.js
(function(window){
function Student() {
this.name = 'alex';
this.age = 20;
} Student.prototype.alertName = function(){
alert(this.name);
}; var stu1 = new Student(); window.stu1 = stu1; })(window) <script src="./1.js"></script>
<script src="./2.js"></script> <script> //使用对象调用方法,调属性
stu1.alertName(); </script>

1.js

      2.必须使用闭包函数,将抛出的内容(构造函数)挂在到window   

      

                //2.js
(function(window){
function Student() {
this.name = 'alex';
this.age = 20;
} Student.prototype.alertName = function(){
alert(this.name);
}; var stu2 = Student; window.stu2 = stu2; })(window) <script src="./1.js"></script>
<script src="./2.js"></script> <script> //构造函数使用关键字new来创建对象,然后才可以调用属性和方法
var s = new stu2();
s.alertName(); </script> 时刻看源码

  3. BOM

    1) window.open()、window.close()

    2)   window.location.XXX

      herf :跳转

      hash:返回url中#后面的内容,包含#

      host: 主机名+端口

      hostname: 主机名

      pathname: url中的路径部分

      protocol: 协议 一般是http、https

      search: 查询字符串?后边的用心

           reload() :全局刷新页面

       3) window.navigator.userAgent  .platform

     4)   history.forward,back,go(1),go(-1)

  4.位置信息:

     client系列

        1.获取屏幕和内容可视区域:       

            console.log(oBox.clientTop); # 内容到上边框距离,就是上边框宽度
      console.log(oBox.clientLeft);# 内容到左边框距离,就是左边框宽度
       console.log(oBox.clientWidth); # 内容宽度+左右padding
      console.log(oBox.clientHeight); # 内容宽度+上下padding          onresize:
           // 窗口大小发生变化时,会调用此方法
                  console.log(document.documentElement.clientWidth);
console.log(document.documentElement.clientHeight);

     offset系列   

            console.log(box.offsetTop)
console.log(box.offsetLeft)
console.log(box.offsetWidth)
console.log(box.offsetHeight)
        
             offsetWidth占位宽  内容+padding+border
offsetHeight占位高
* offsetTop: 如果盒子没有设置定位 到body的顶部的距离,如果盒子设置定位,那么是以父辈为基准的top值
* offsetLeft: 如果盒子没有设置定位 到body的左部的距离,如果盒子设置定位,那么是以父辈为基准的left值

     scroll系列  

         

            //实施监听滚动事件
window.onscroll = function(){
// console.log(1111)
// console.log('上'+document.documentElement.scrollTop)
// console.log('左'+document.documentElement.scrollLeft)
// console.log('宽'+document.documentElement.scrollWidth)
// console.log('高'+document.documentElement.scrollHeight)
}

  onresize()

    onscroll()

三、预习和扩展

    1.同源策略         

源(origin)就是协议、域名和端口号。

同源策源:
http://127.0.0.1:8080/index.html
http://localhost:8080/index2.html

跨域问题:了解

前端跨域:
script jsonp(get请求的跨域)废弃
后端跨域

cors跨域(重点)
第三方模块

扩展链接:https://www.cnblogs.com/rockmadman/p/6836834.html

    2.两个页面之间传数据

      

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<button id="btn">跳转</button>
<script type="text/javascript">
oBtn = document.getElementById("btn");
oBtn.onclick=function () {
var name ='alex';
window.location.href='http://localhost:63342/py笔记/day46/test1.html?usename='+ name;
}
</script>
</body>
</html>

home.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>我是谁!!!!!!!!!!</h1>
<script type="text/javascript">
var data =window.location.search
document.write(data)
</script>
</body>
</html>

test1.html

    3.通过jsonp获取跨域数据:jsonp.html获取main.js中的数据。

      

<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8">
</head>
<body>
<button id="btn">跳转</button>
<script type="text/javascript">
oBtn = document.getElementById('btn');
function addScriptTag(src){
var script = document.createElement('script');
script.setAttribute("type","text/javascript");
script.src = src;
document.body.appendChild(script);
}
window.onload = function () {
addScriptTag('http://localhost:63342/py笔记/day46/main.js?callback=foo');
} //window.onload是为了让页面加载完成后再执行
function foo(data) {
console.log(data.name+"欢迎您");
};
</script>
</body>
</html>

a.com/jsono.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>我是谁!!!!!!!!!!</h1>
<script type="text/javascript">
var data =window.location.search
document.write(data)
</script>
</body>
</html>

main.js

   4.背景图颜色渐变:linear-gradient

      backgroud-img:linear-gradient(to bottom,red,blue)

      https://www.w3cplus.com/css3/do-you-really-understand-css-linear-gradients.html

   5.backgroud-size:   

1、定义:

background-size 用来调整背景图像的尺寸大小。

2、语法:

以下为引用内容:
background-size : contain | cover | 100px 100px | 50% 100%; 3、参数: background-size:contain; // 缩小图片来适应元素的尺寸(保持像素的长宽比);
background-size :cover; // 扩展图片来填满元素(保持像素的长宽比);
background-size :100px 100px; // 调整图片到指定大小;
background-size :50% 100%; // 调整图片到指定大小,百分比相对于包含元素的尺寸。

background-size 用来调整背景图像的尺寸大小。

            

python全栈开发day46-BOM、位置信息、jQurey的更多相关文章

  1. python全栈开发day49-jquery的位置信息、事件流、事件对象,事件委托,事件绑定和解绑

    一.昨日内容回顾    1. jQuery的属性操作 1) html属性操作:attr 2) DOM属性操作:prop 3) 类样式操作:addClass.removeClass.toggleClas ...

  2. python全栈开发中级班全程笔记(第二模块、第三章)(员工信息增删改查作业讲解)

    python全栈开发中级班全程笔记 第三章:员工信息增删改查作业代码 作业要求: 员工增删改查表用代码实现一个简单的员工信息增删改查表需求: 1.支持模糊查询,(1.find name ,age fo ...

  3. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

  4. python全栈开发中级班全程笔记(第二模块、第四章)(常用模块导入)

    python全栈开发笔记第二模块 第四章 :常用模块(第二部分)     一.os 模块的 详解 1.os.getcwd()    :得到当前工作目录,即当前python解释器所在目录路径 impor ...

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

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

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

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

  7. Python全栈开发【模块】

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

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

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

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

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

随机推荐

  1. ELF文件解析(二):ELF header详解

    上一篇讲了ELF文件的总体布局,以及section和segment的概念.按照计划,今天继续讲 ELF header. 讲新的内容之前,先更正一个错误:上一篇中讲section header tabl ...

  2. 20155220 2016-2017-2 《Java程序设计》第七周学习总结

    20155220 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...

  3. 2018秋寒假作业6- -PTA编程总结3

    PTA3抓老鼠啊~亏了还是赚了?思路: 首先定义变量并初始化为零,然后用if-else语句判断其关系和计算奶酪数量及盈利情况.

  4. Linux之常用命令【service】

    补充说明 service命令 是Redhat Linux兼容的发行版中用来控制系统服务的实用工具,它以启动.停止.重新启动和关闭系统服务,还可以显示所有系统服务的当前状态. 语法 service(选项 ...

  5. 3d图像识别基础论文:pointNet阅读笔记

    PointNet 论文阅读: 主要思路:输入独立的点云数据,进行变换不变性处理(T-net)后,通过pointNet网络训练后,最后通过最大池化和softMax分类器,输出评分结果. 摘要: 相较于之 ...

  6. 代码控制打电话、发短信、发邮件、打开手机app等操作

    很多时候我们需要利用我门自己的app进行一些打电话.发短信等的操作,那么如何利用代码实现呢,下面就介绍一些简单的方法来实现这些操作. 一.打电话: <1>最简单.最直接的方法----直接跳 ...

  7. CentOS7_JDK安装和环境变量配置

    1.下载 curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz 2.改名 mv ...

  8. 【Mysql sql inject】【入门篇】sqli-labs使用 part 4【18-20】

    这几关的注入点产生位置大多在HTTP头位置处 常见的HTTP注入点产生位置为[Referer].[X-Forwarded-For].[Cookie].[X-Real-IP].[Accept-Langu ...

  9. 【转】Python之数据序列化(json、pickle、shelve)

    [转]Python之数据序列化(json.pickle.shelve) 本节内容 前言 json模块 pickle模块 shelve模块 总结 一.前言 1. 现实需求 每种编程语言都有各自的数据类型 ...

  10. 《Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks》

    <Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks> 论文主要的三个贡 ...