一、昨日内容回顾

    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. URL基本结构

    先来简单说下URI.URL.URN这三个鬼东西. URI全称Uniform Resource Identifier,统一资源标识符 URL全称Uniform Resource Locator,统一资源 ...

  2. HTML5 元素拖拽实现 及 jquery.event.drag插件

    如上图片: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...

  3. SAP笔记---非-现存任务/请求XXX上的请求锁定

    不管在SAP中的哪个系统在点击修改程序时都有可能出现以下图中的报错: 已找到解决办法,步骤如下: 1,se11中查看tlock表找到以上提到的请求号记录: 2,进入se16n,输入请求号,在事务代码输 ...

  4. python时间序列画图plot总结

    画图从直觉上来讲就是为了更加清晰的展示时序数据所呈现的规律(包括趋势,随时间变化的规律(一周.一个月.一年等等)和周期性规律),对于进一步选择时序分析模型至关重要.下面主要是基于pandas库总结一下 ...

  5. 用winhotkey添加属于自己的快捷键

    需求 我要使用Win+N快捷键组合打开指定某个文件! 使用方法 打开winhotkey软件,做以下操作: 此刻,就可以用Win+N组合快捷键来打开指定目录了!

  6. SpringBoot使用其他的Servlet容器

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  7. 【API】API函数创建用户,添加到管理组

    1 学习目标 使用API添加用户可以绕过某些杀毒软件的限制. 2 编程思路 2.1 代码原理 使用NetUserAdd这个API添加普通权限的用户,NetLocalGroupAddMembers这个A ...

  8. Statistics in Python

    Statistics in Python Materials for the “Statistics in Python” euroscipy 2015 tutorial. Requirements ...

  9. f-GAN

    学习总结于国立台湾大学 :李宏毅老师 f-GAN: Training Generative Neural Samplers using Variational Divergence Minimizat ...

  10. shell正常运行,加入定时任务执行失败

    例如简单的ifconfig命令,在shell中运行成功,但是在crontab 中执行失败. 定位原因:环境变量 解决方案: whereis ifconfig 然后在shell中加入: PATH=PAT ...