JS(三)CSS补充

DOM节点分类 

 

1.元素节点(获取元素节点:querySelector;querySelectorAll)

2.文本节点(innerHTML)

3.属性节点(element.src;element.id)

innerHTML

在ul中添加li标签

ul.innerHTML=

<li>香蕉</li>

<li>苹果</li>

<li>鸭梨</li>

 

 节点操作

创建元素节点:createElement

创建文本节点:createTextNode

添加节点:appendChild

删除节点:removeChild

 事件对象

事件监听函数的形参可以获取事件对象

通过事件对象可以获取鼠标坐标

1.获取x坐标:e.clientX;

2.获取y坐标:e.clientY;

随鼠标显示图片的大图

 事件绑定

1.addEventListener("eventType",fun)

2.element.onEventType=fun

区别:

1.addEventListenner在同一元素上的同一事件类型添加多个事件,不会被覆盖,而onEventType会覆盖。

2.addEventListenner可以设置元素在捕获阶段触发事件,而onEventType不能

事件流

三个div嵌套,都绑定click事件,点击最内层的元素,事件如何执行。

a:只执行最内层

b:从内到外都执行

c:从外到内都执行

事件捕获与事件冒泡

默认情况下,事件会在冒泡阶段执行

addEventListener(eventType,fun,boolean);//默认false:冒泡阶段触发;true:捕获阶段触发

阻止事件冒泡

实现下面功能:

点击一个按钮,显示一个容器盒子;

点击容器,容器背景颜色改变;

点击容器中的按钮,容器隐藏。

e.stopPropagation();

事件默认行为

为一个可以跳转到百度的a标签设置点击事件;

去掉事件默认行为

e.preventDefault()

or

return false

事件委托

通过e.target将子元素的时间委托给父级处理。

事件类型

1.鼠标事件

2.键盘事件

3.触屏事件

键盘事件

let box = document.querySelector(".box")

   document.onkeydown = function(e){

       let code = e.keyCode;

      switch(code){

           case 37:box.style.left = box.offsetLeft-5+"px";break;

           case 38:box.style.top = box.offsetTop-5+"px";break;

           case 39:box.style.left = box.offsetLeft+5+"px";break;

           case 40:box.style.top = box.offsetTop+5+"px";break;

       }

}

触屏事件

let box = document.querySelector(".box");

box.ontouchstart = function(){

    console.log("start")

}

box.ontouchend = function(){

    console.log("end")

}

box.ontouchmove = function(){

console.log("I'm moving!")

}

计时器方法

1.setInterval与clearInterval

2.setTimeout与clearTimeout

setInterval

setInterval

clearInterval

1.在网页中显示时间。

2.在网页中制作一个秒表(开始功能、停止功能、重置)。

 

 setTimeout

setTimeout

clearTimeout

1.3秒跳转到百度。

 防抖与节流

解决性能问题,开发中常会遇到。

防抖:对于短时间内多次触发事件的情况,可以使用防抖停止事件持续触发。

节流:防止短时间内多次触发事件的情况,但是间隔事件内,还是需要不断触发。

window.onscroll事件

 防抖(debounce)

滚轮滚动的事件不会连续触发

let timer = null;

window.onscroll = function(){

    if(timer !==null){

        clearTimeout(timer);

  }

  timer = setTimeout() =>{

      console.log("hello world")

      timer = null;

   ),2000)

}

节流

 BOM对象

window对象(全局对象)

screen对象包含有关用户屏幕的信息。

location对象用于获得当前页面的地址(URL),并把浏览器重定向到新的页面。

history对象包含浏览器的历史。

navigator对象包含有关访问者浏览器的信息。

https://www.w3cschool.cn/javascript/js-window-screen.html

window对象

window对象是全局对象,所有在浏览器可以直接使用的方法,都是window对象的方法。

1.计时器方法

2.弹出框方法

 猜数字

1.随机生成一个1-100的数字。

2.在prompt弹出框中猜数字。

3.提示【大于目标结果】【小于目标结果】【恭喜你回答正确】。

水果列表删除提示功能

1.制作一个水果列表。

2.删除选中的水果。

3.删除时,使用confirm提示是否确认删除。

 lacation对象

  1. location.href - 属性返回当前页面的URL - "https://www.baidu.com/"
  2. location.hostname - 主机的域名 - "www.baidu.com"
  3. location.pathname - 当前页面的路径和文件名 "/s"
  4. location.port - 端口 - “8080"
  5. location.protocol - 协议 - "https:"

数据类型分类

六种数据类型:

数值(Number)、字符串(String)、布尔(Boolean)、空(Null)、未定义(Undefined)、对象(Object)

 原始类型与引用类型的区别

一、赋值的区别:原始类型赋值,引用类型赋的是引用。

二、比较的区别:原始类型比较的是值,引用类型比较的是引用是否指向同一个对象。

三、传参的区别

原始类型与引用类型的类型检测

一、原始数据类型检测:typeof(值)

二、引用数据类型检测:值instranceof类型

数组存储学生列表

1.数组StudentList

2.点击按钮,将表单中的【姓名】和【年龄】赋值给Student对象,并push到StudentList中。

   

 同步与异步

例子:打电话与发短信(微信);

异步可以多条任务线去执行程序,一条任务卡顿不影响其他任务。

CSS

CSS outline:none;表示使outline属性无效,使绘制于元素周围的一条线无效。

outline属性包括:outline-color、outline-style、outline-width:

outline-color :设置元素轮廓的颜色,其取值与border-color类似。只有当outline-style不为none时才有效。默认为transparent。

outline-style :设置元素轮廓的格式,其取值与border-style类似,但没有hidden值。默认为none,无轮廓。

outline-width:设置元素轮廓的宽度,其取值与border-width类似。只有当outline-style不为none时才有效。

因此,CSS设置 outline:none时,outline-color、outline-style、outline-width都会无效,即元素轮廓的颜色、元素轮廓的格式、元素轮廓的宽度都无效,即达到不显示元素轮廓的效果。

quot在html里是源代码里“"(引号)的意思,用法:& quot;(去掉&后的空格)

mask-type属性功能上和mask-mode类似,都是设置不同的遮罩模式。但还是有个很大的区别,那就是mask-type只能作用在SVG元素上,本质上是由SVG属性演变而来,因此,Chrome等浏览器都是支持的。但是mask-mode是一个针对所有元素的CSS3属性,Chrome等浏览器并不支持,目前仅Firefox浏览器支持。
由于只能作用在SVG元素上,因此默认值表现为SVG元素默认遮罩模式,也就是默认值是luminance,亮度遮罩模式。如果需要支持透明度遮罩模式,可以这么设置:mask-type: alpha;

预加载的基本使用

<link> 标签最常见的应用情形就是被用来加载CSS文件,进而装饰你的页面

但是在这里,我们将使用 preload 作为 rel 属性的属性值。这种做法将把 <link> 元素塞入一个预加载器中,
这个预加载器也将用于其他我们所需要的,各种各样的,任意类型的资源。为了完成基本的配置,
你还需要通过 hrefas 属性指定需要被预加载资源的资源路径及其类型。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值