jQuery事件&动画(四)

目录

一,jQuery事件

常见的DOM事件有

加载DOM的两种方式

1window.onload

2.jquery

绑定事件的两种方式

1.element.on/bind(event,function(){})事件委托

2element.event(function(){})

合成事件/事件切换

1.hover():鼠标悬停合成事件

2.toggle():鼠标点击合成事件

事件传播(事件冒泡)

1传播方式:

2.阻止传播:

3.代码示例

移除事件

二,jQuery动画

基本动画

1.控制元素的隐藏和显示

2.toggle

滑动动画

1.控制元素的上下滑动效果

2.slideToggle()

淡化动画

1.控制元素的淡入和淡化

2.fadeToggle()

自定义动画


一,jQuery事件

毫不夸张的讲,jQuery就是为了处理事件特别设计的。

针对不同访问者的响应,通常被称之为事件。

tip:我们在设置事件的时候

  • 常见的DOM事件

鼠标事件键盘事件表单事件文档//窗口处理事件

click

(点击事件)

keypress

(键盘按压事件)

submit

(表单提交事件)

load

(页面加载事件)

dblclick

(双击事件)

keydown

(键盘按下事件)

change

(表单改变事件)

resize

()

mouseenter

(鼠标移入事件)

keyup

(键盘事件)

focus

(得到焦点事件)

scroll

(滚动条事件)

mouseleave

(鼠标移除事件)

blur

(失去焦点事件)

unload

(页面关闭事件)

hover

(鼠标悬停事件)

  • 加载DOM的两种方式

1window.onload

当整个页面全部被加载之后执行,只会执行一次,如果页面写了两个Windows加载事件,有且只对第一个生效。 

2.jquery

网页结果绘制完成后执行,会执行多次

tip有且只有jQuery3.0版本的window.onload会比jQuery先执行,其余版本都是jQuery优先于window.onload

notice:在jQuery中加载事件可以简写为$(()=>{}),我们在编写js的时候箭头函数和简单函数中的this指的是不同的东西

//常规函数
element.onclick=function(){
        this//指的是element
}

//箭头函数
element.onclick=()=>{
        this//指的是window
}
  • 绑定事件的两种方式

1.element.on/bind(event,function(){})事件委托

//点击事件
$("good").on("click",functino(){
     console.log("hello world");        
})

2element.event(function(){})

//点击事件
$("good").click(function(){
console.log("hello world");
})
  • 合成事件/事件切换

1.hover():鼠标悬停合成事件

hover()方法运行时还会运行的两个函数,即mouseenter()和mouseleave(),hover()函数具有两个参数

$("a").hover(function(){
      $(".big").show();//展示
},function(){
      $(".big").hide();//隐藏
})

2.toggle():鼠标点击合成事件

toggle()方法在jQuery1.8版本中就已经被废弃了,在1.9中几经被废除,toggle()方法中加入的两个或者多个函数click事件切换做的响应,当点击时调用第一个函数,再次被点击时就调用第二个函数,以此类推。

$("a").toggle(function(){
        console.log("点击一次");   
}.function(){
        console.log("点击两次");
},function(){
        console.log("点击三次");
})
//点击一次就显示点击一次,以此类推

 目前我们使用的toggle是隐藏和显示

$("div").click(function(){
        alter("隐藏");
})
//点击一次时隐藏点击两次就是显示
  • 事件传播(事件冒泡)

tip:事件冒泡是从子元素到父元素,而事件传播自我是相反的,从父元素到子元素

1传播方式:

 从小到大

2.阻止传播:

 在事件后面加上return false;

3.代码示例

$("p").click(function(){
        console.log("p被教训了");
})
$("div").click(function(){
        console.log("div被教训了");
        return false;//阻止传播 
})
$("body").click(function(){
        console.log("body被教训了");
})
//控制台结果为:p被教训了   div被教训了
  • 移除事件

1.element.unbind/off(event)

$("button").unbind("click");//移除点击事件

$("button").off("click");//移除点击事件

2.element.one(event,data,function)

$("button").one("click",function(){
        console.log("只能被点击一次");
})

二,jQuery动画

  • 基本动画

1.控制元素的隐藏和显示

$(selector).hide/show(speed,callback)

speed指的是显示/隐藏的速度,可以取以下值:“show”、"fast"或毫秒

callback指的是执行了hide/show之后执行的函数

$("button").click(function(){
       $(".a").show(1000,function(){
            alert("显示完毕");
    });
})

$("button").click(function(){
        $("button").hide(2000);//将延迟设置为2s
})

2.toggle

toggle刚好包括以上两个,点击一次就是隐藏,再点击一次就是显示

$("#a").click(function(){
        $(".big").toggle(1000);//点击一次隐藏,再点击一次就是显示,延迟为1s
})
  • 滑动动画

1.控制元素的上下滑动效果

$(selector).slideDown(speed,callback);//向下滑下

$(selector).slideUp(speed,callback);//向上滑下

speed参数规定隐藏/显示的速度,可以取以下的值:“slow”,"fast"或毫秒

2.slideToggle()

$("button").click(function(){
        $(".big").slideToggle(1000);    
})
//点击一次就向上滑动,再点击一次就想下滑动,延迟为1s
  • 淡化动画

1.控制元素的淡入和淡化

fadeIn(speed,callback)淡入

fadeOut(speed,callback)淡出

$("#btn").click(function(){
        $(".big").fadeIn(1000);//淡入
})
$("#btn").click(function(){
        $(".big").fadeOut(1000);//淡出
})

2.fadeToggle()

$("#btn").click(function(){
        $("big").fadeToggle(1000);
})
//点击一次就淡出,再点击一次就淡入
  • 自定义动画

$(selector).animate({params},speed,callback)

params填写css样式

speed延迟

callback执行动画后的函数

//点击按钮,控制dic的大小
$("#btn").click(function(){
        $(".big").animate({
            height:"100px",
            width:"100px"
    },1000)
})

//点击按钮控制div的移动,距离网页左上角
$("#btn").click(function(){
        $(".big").animate({
            top:100,
            let:100
    },1000)
})
//点击按钮控制div的移动,距离此元素
$("#btn").click(function(){
        $(".big").animate({
            top:"+=10",
            let:"+=20"
    },1000)
})

掌握jQuery的事件,可以在我们编写js的时候省很多事儿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一麟yl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值