jQuery--事件、效果
目录
jQuery事件
常用事件方法
事件处理
jQuery效果
隐藏与显示
淡入与淡出
收缩与展开
动画开始与停止
jQuery事件
常用事件方法
页面对不同访问者的响应叫做事件。关于事件,我们在之前dom的学习中已经有了一定的了解,在jQuery中,大多数dom事件都有一个等效的jQuery方法,用法也非常简单,有了前面的基础对于我们来说非常容易上手,故这里不多加赘述。简单介绍一下常见dom事件:
鼠标事件 | 键盘事件 | 表单事件 | 文档/窗口事件 |
---|---|---|---|
click | keypress | submit | load |
dblclick | keydown | change | resize |
mouseenter | keyup | focus | scroll |
mouseleave | blur | unload | |
hover |
关于dom事件更多了解可以参考之前的博客:
DOM常用事件_zxn200125的博客-CSDN博客
其中,对于hover事件,我个人认为有必要单独演示一下。hover()方法是用于模拟光标悬停事件,这个早在之前的css学习中我们就有了解过了。但是在jQuery中,我们使用的时候需要注意一:鼠标移动到元素之上时,会触发指定的第一个函数,当鼠标移出这个元素,会触发第二个函数。所以如果我们需要实现鼠标移入移除不同效果,需要设置两个函数,如果只设置一个,就会发生移入之后效果改变,移出之后仍然停留在移入效果的现象,我们可以看一个例子:
<style>div{width: 100px;height: 100px;background-color: pink;}
</style>
<body><div></div><script>$('div').hover(function(){$('div').html("光标悬停");},function(){$('div').html("光标离开");})</script>
</body>
网页呈现效果:
如果只有一个函数,就默认是光标悬停和光标离开共用一个函数效果。
事件处理
页面载入事件
这个在之前jQuery语法中我们就有介绍过了,页面载入事件其实就相当于我们之前学习过的onload事件:
①原生写法:
$(document).ready(function(){
//jQuery代码块
});
②简写:
$(function(){
//jQuery代码块
});
语法注意事项见:
jQuery--概述、语法_zxn200125的博客-CSDN博客
事件绑定
①一次性事件绑定
$(selector).one(type,[data],function)
顾名思义,只绑定一次事件,只执行一次事件
②非一次性事件绑定
$(selector).bind(type,[data],function)
type:表示事件类型(例如上述click、hover等)
[data]:可选,表示传递给事件对象的额外数据
function:事件处理函数,表示事件发生时执行的程序
事件反绑定
$(selector).unbind([type],[data])
参数都是可选可不选,若不带上参数,就删除元素上绑定的所有事件,若带上参数,就删除[type]指定的事件类型
我们可以测试看看事件一次性绑定、非一次性绑定、反绑定实现效果:
<div><button id="btn1">一次性事件绑定按钮</button><button id="btn2">非一次性事件绑定按钮</button></div><script>$(function(){// 一次性事件绑定$('#btn1').one('click',function(){alert("一次性事件绑定")})// 非一次性事件绑定$('#btn2').bind('click',function(){alert("非一次性事件绑定")})// 事件反绑定$('button').unbind('click');})</script>
上例中我们分别给两个按钮绑定了一次性事件绑定和非一次性事件绑定,并且给所有按钮都注册了事件单击反绑定,首先我们要将时间反绑定程序注释掉,才能看到一次性绑定和非一次性绑定效果,之后取消反绑定注释,我们就会发现,按钮上绑定的单击效果全部无法实现,因为以及解除了绑定。 效果如下所示:
jQuery效果
隐藏与显示
●隐藏:$(selector).hide(speed,callback)
●显示:$(selector).show(speed,callback)
●交替显示:$(selector).toggle(speed,callback)
参数speed:可选,规定隐藏/显示速度,可以取:'slow','fast',毫秒
参数callback:可选,规定完成后执行的函数名称
演示代码:
<button id="btn1">隐藏</button><button id="btn2">显示</button><button id="btn3">交替</button><br><br><img src="../../../pict/p/Diamond.png" alt=""><script>$(function(){$('#btn1').bind('click',function(){$('img').hide(1000); //设置隐藏时间为1s})$('#btn2').bind('click',function(){$('img').show(1000); //设置显示时间为1s})$('#btn3').bind('click',function(){$('img').toggle(1000); //设置交替显示时间为1s})})</script>
网页显示效果:
淡入与淡出
●淡入:$(selector).fadeIn(speed,callback)
●淡出:$(selector).fadeOut(speed,callback)
●交替:$(selector).fadeToggle(speed,callback)
●设置淡入淡出效果透明度:$(selector).fadeTo(speed,opacity,callback)
参数speed:可选,规定速度,可以取:'slow','fast',毫秒
参数opacity:可选,设置淡入淡出效果透明度,值在0-1之间
参数callback:可选,规定完成后执行的函数名称
演示代码:
<button id="btn1">淡出</button><button id="btn2">淡入</button><button id="btn3">交替</button><button id="btn4">设置颜色变淡</button><br><br><img src="../../../pict/p/Diamond.png" alt=""><script>$(function(){$('#btn1').bind('click',function(){$('img').fadeOut(1000); //设置淡出时间为1s})$('#btn2').bind('click',function(){$('img').fadeIn(1000); //设置淡入时间为1s})$('#btn3').bind('click',function(){$('img').fadeToggle(1000); //设置交替时间为1s})$('#btn4').bind('click',function(){$('img').fadeTo("slow",0.5); //设置透明度为0.5})})</script>
网页实现效果:
收缩与展开
●收缩:$(selector).slideUp(speed,callback)
●展开:$(selector).slideDown(speed,callback)
●交替:$(selector).slideToggle(speed,callback)
参数speed:可选,规定速度,可以取:'slow','fast',毫秒
参数callback:可选,规定完成后执行的函数名称
演示代码:
<button id="btn1">收缩</button><button id="btn2">展开</button><button id="btn3">交替</button><br><br><img src="../../../pict/p/Diamond.png" alt=""><script>$(function(){$('#btn1').bind('click',function(){$('img').slideUp(1000); //设置收缩时间为1s})$('#btn2').bind('click',function(){$('img').slideDown(1000); //设置展开时间为1s})$('#btn3').bind('click',function(){$('img').slideToggle(1000); //设置交替显示时间为1s})})</script>
网页显示效果:
这个图片看上去和隐藏显示区别不大,但实际上显示效果还是有不同的,尤其是针对比较方正的图形或者div元素,这里为了控制变量所以选用的还是同一张图片,自己可以用其他图片或者其他标签元素来测试效果。
动画开始与停止
动画开始
●创建动画:$(selector).animate({params},speed,callback)
params:必选,定义形成动画的css属性
speed:可选,设置动画时长,可以取:'slow','fast',毫秒
callback:可选,规定完成后执行的函数名称
如果设置动画效果是位置移动,由于html元素是有一个静态位置且无法移动,所以需要对位置进行操作的话要设置元素的css中的position属性,设置为relative、fixed或者absolute。
<style>div{width: 100px;height: 100px;background-color: pink;position: relative;}
</style>
<body><button id="btn1">创建动画</button><br><br><div></div><script>$(function(){$('#btn1').bind('click',function(){$('div').animate({left:'100px'}); //右移100px})})</script>
</body>
上例中设置动画效果为右移100px:
我们会发现,点击创建动画按钮,就只能实现一次元素右移效果,如果我们希望实现元素一直右移,也就是点一次右移一次呢?再拓展一下,我们还希望右移后再左移回来呢?这些都可以通过使用相对值实现:
相对值:
+=:正向相对值
-=:反向相对值
我们可以继续拿上面的例子来实现div元素点击按钮持续左右移动效果:
<button id="btn1">右移</button><button id="btn2">左移</button><br><br><div></div><script>$(function(){$('#btn1').bind('click',function(){$('div').animate({left:'+=100px'}); //右移100px})$('#btn2').bind('click',function(){$('div').animate({left:'-=100px'}); //左移100px})})</script>
网页实现效果:
除此之外,我们还可以使用预定义的值,可以设置为"show","hide","toggle"
<button id="btn1">宽度交替</button><button id="btn2">高度隐藏</button><button id="btn3">高度显示</button><br><br><div></div><script>$(function(){$('#btn1').bind('click',function(){$('div').animate({width:'toggle'}); })$('#btn2').bind('click',function(){$('div').animate({height:'hide'}); })$('#btn3').bind('click',function(){$('div').animate({height:'show'}); })})</script>
网页显示效果:
注意点:
1.属性设置使用驼峰命名法
2.提供动画队列功能,如果对于一个元素编写多个animate()调用,jQuery会创建包含这些方法调用的“内部”队列,会逐一运行这些animate调用
动画停止
●停止动画:$(selector).stop(stopAll,goToEnd)
stopAll:可选,规定是否清除动画队列,默认false
goToEnd:可选,规定是否立即完成当前动画,默认false
测试代码:
<button id="btn1">宽度交替</button><button id="btn2">停止</button><br><br><div></div><script>$(function(){$('#btn1').bind('click',function(){$('div').animate({width:'toggle'},3000); })$('#btn2').bind('click',function(){$('div').stop(); })})</script>
网页实现效果:
jQuery--事件、效果相关推荐
- jquery 列表hover效果 ,css :hover ,jquery 事件委托,jquery hover()方法
jquery 列表hover效果 <ul class="list"><li class="item"><span>1< ...
- 70天的JQUERY学习: 选择器+事件+效果。总结篇
运行结果 这是我等下要发的代码.首先去了解Jquery的Apl:APL代码. <!DOCTYPE html> <html class="no-js loading-pr ...
- 第79天:jQuery事件总结(二)
上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 一.合成事件 jQuery有两个合成事件--hove ...
- DOM事件与jQuery事件的是非纠葛
在javascript和JQuery之中,都有事件的处理方式,在我们编写程序实现某些功能的时候,我们会发现使用原生的DOM事件与JQuery中封装的事件都能实现同样的效果,那么也许我们会认为他们之间的 ...
- jQuery——入门(四)JQuery 事件
jQuery--入门(四)JQuery 事件 一.事件初探 加载文档完成触发: window.onload = function(){} //js $(window).load(function( ...
- JQuery --- 第三期 (jQuery事件相关)
个人学习笔记 1.JQuery事件绑定 <!DOCTYPE html> <html lang="en"> <head><meta char ...
- jQuery动画效果之上卷下拉
jQuery动画效果之上卷下拉 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 开发工具与关键技术:Vis ...
- html学习 - jquery事件监听详解
html学习 - jquery事件监听详解 html学习 - jquery事件监听详解 监听方法 监听方法参数解释 click参数 事件自动执行问题解决 bind方法 live方法 监听方法 在jqu ...
- Jquery事件大全
Jquery事件大全 事件介绍和支持的对象 事件 描述 支持元素或对象 blur( ) 元素失去焦点 a, input, textarea, button, select, label, map, a ...
- jQuery事件,对象以及插件
回顾 1 基本使用 2 jquery 选择器 3 筛选器 过滤 查找 串联 4 DOM 操作 内部插入 append()appendTo()prepend()prependTo() 外部插入 afte ...
最新文章
- Storm原理与实践--大数据技术栈14
- 你面试稳了!通关LeetCode刷题完整攻略,省时又高效
- 线段检测M-LSD 已开源
- java x86 模拟,Java模拟实现百度文档在线浏览
- 0218互联网新闻 | 《流浪地球》IMAX中国票房破3亿;苹果发力智能家居
- XML——解析XML文档
- InstallSheild 获取系统环境变量,如Desktop路径等
- Libevent源码分析-----配置event_base
- leetcode刷题:除自身以外数组的乘积
- 华为认证hcia含金量_【华为认证】HCIA-DATACOM史上最全精选题库(附答案解析)...
- openstack安装newton版本dashboard+cinder(六)
- linux常用分区大小,Linux基本知识点总结——硬盘分区及LVM
- 驱动大师服务器获取信息失败,360驱动大师、鲁大师,连测硬件信息都不准,我拿什么信你们...
- OceanBase分区表使用
- 微信小程序上传Excel文件并分析上传值数据库
- 手机为什么显示服务器升级,支付宝提示的支付服务升级是什么意思?
- Oxyplot实时绘图学习笔记(上)
- Espressif 玩转 固件下载
- 区块链学习一--初始比特币
- 树莓派换源 bullseye