jQuery中事件与动画的总结分享


Posted in Javascript onMay 24, 2016

1.加载DOM

1.1.window事件

window.onload=function(){}.... 时机:其他资源都加载完毕后,再执行

$(function(){}) ……:只是等待标签完毕,即可执行

区别:前者在HTML页面中只能解析最后一个,二后者是N个

window.onload() = function () {

    }
    $(function () {
      $("li").bind("click", function () {
        $(this).css("background","red");
      });
    });
    $(function () {
      $("div").bind("click", function () {
        $(this).css("background", "red");
      });
    });

第一部分--事件

2.鼠标事件

2.1 常用鼠标事件的方法

click() :单击事件、触发或将函数绑定到指定元素的click事件

mouseover(): 触发或将函数绑定到指定元素的mouseover事件

mouseout() :触发或将函数绑定到指定元素的mouseout的事件

经典的光棒效果:

$(function () {
      $("input").click(function () {
        $("li").mouseover(function () {
          $(this).css("background", "green");
        }).mouseout(function () {
          //this.style.background = "";
          this.style.cssText = "background:";
        });
      });
    });

3.键盘事件

3.1 常用键盘事件的方法

keydown(): 按下按键时、触发或将函数绑定到指定元素的keydown事件

keyup():  释放按键时、触发或将函数绑定到指定元素的keyup事件

keypress(): 产生可打印的字符时、触发或将函数绑定到指定元素的keypress事件

$(function () {
      $("p input").keyup(function () {
        $("#events").append("keyup");
      }).keydown(function () {
        $("#events").append("keydown");
      }).keypress(function () {
        $("#events").append("keypress");
      });
      $(document).keydown(function (event) {
        if (event.keyCode == "13") {
          //按enter键
          alert("确认要提交么?");
        }
      });
    });

4.表单事件

4.1 常用表单事件的方法

focus() : 获得焦点、触发或将函数绑定到指定元素的focus事件

blur() : 失去焦点、触发或将函数绑定到指定元素的blur事件

$(function () {
        //给文本框添加边框样式
        $("input").focus(function() {
          $(this).addClass("myclass");
        }).blur(function() {
          $(this).removeClass("myclass");
        });
    });

5.绑定事件与移除事件

5.1 绑定事件

语法:

bind(type,[data],fn),其中data不是必需的

type:事件类型、主要包括blur、focus、click、mouseout等基础事件,此外也还可以是自定义事件

fn :用来绑定的处理函数

$(function () {      //给li绑定click事件、并进行样式修改
      $("li").bind("click", function () {
        $(this).css("background","red");
      });
    });

 5.2 同时绑定多个事件

$(function () {
      $("li").bind({
        mouseover: function() {
          $(this).css("background", "pink");
        }, mouseout: function() {
          $(this).css("background", "gray");
        }
      });
    });

5.3 移除事件与同时移除多个事件

unbind([type],[fn]) 与绑定事件刚好相反,如果方法没有参数则表示移除全部的事件

unbind如果要移除多个只需在两两之间添加一个空格即可

$(function () {
      $("li").unbind("click");      $("li").unbind("mouseover mouseout");
    });

5.4 一些其他的绑定与移除的方法

1.live() unbind()

2.on()  jQuery1.7版本之后才有的方法 off()

3.delegate() undelegate()

6. 复合事件

6.1 hover()方法

语法:

hover(enter,leave);  该方法相当于mouseover与mouseout事件的组合

$("li").hover(function() {
        $("li").css("background", "gray");
      }, function() {
        $("li").css("background", "green");
      });

6.2 toggle()方法

语法:

toggle(fn1,fn2,……,fnN);  该方法用于模拟鼠标连续click事件,单鼠标单击一次就执行一个fn,从头开始按顺序执行,tolgge()使用的隐藏域属于

display,它在浏览器中是不占用位置的,与它相同的visibility是占用的

$("body").toggle(function () {
        $("li").css("background", "gray");
      }, function () {
        $("li").css("background", "green");
      }, function () {
        $("li").css("background", "blue");
      });

接下来再看看第二部分--动画

1. 控制元素显示与隐藏

语法:

$(select).show([speed],[callback]);

与show()方法相对的是hide()方法,该方法可以控制元素隐藏。

语法:

$(select).hide([speed],[callback]); 除了可以控制元素的隐藏外,还能定义隐藏元素时的效果,如隐藏速度

注意:绝大多数情况下,hide()方法与show()方法总是在一起使用 

2. 控制元素透明度

2.1 控制元素淡入

语法:

$(select).fadeIn([speed],[callback]);

与show()方法相对的是fadeOut()方法,该方法可以控制元素淡出。

3. 改变元素高度

3.1 方法 slideUp()和slideDown()

slideDown()会将元素从上向下延伸显示,slideUp()方法正好相反,元素会从下到上缩短直至隐藏。

 

$(function () {
      $("#btnshow").click(function () {
        $("img").show(1000);
      });
      $("#btnhide").click(function () {
        $("img").hide(1000);
      });
    });
    $(function () {
      $("#btnin").click(function () {
        $("img").fadeIn(5000);
      });
      $("#btnout").click(function () {
        $("img").fadeOut(5000);
      });
    });
    $(function () {
      $("#btnup").click(function () {
        $("img").slideUp(5000);
      });
      $("#btndown").click(function () {
        $("img").slideDown(5000);
      });
    });

 4.animate()方法是用来自定义动画的

当我们需要对动画有更多的控制时,使用animate()方法能够更具有灵活性,因为它可以替换其他所有的方法

$(function () {
      $("[type=button]").bind("click", function () {
        //两个特效并行执行,不加入队列:
        $("div").
        animate({ "font-size": "50px" }, 3000)
        .animate({ "width": "300px" }, { queue: false, duration: 3000 });
      });
    });

 4.1 animate()方法替换一些其他的方法

//替换show()方法
        //$("img").show(1000);
        $("img").animate({height:"show",width:"show",opacity:"show"},1000);
        //替换fadeIn()方法
        $("img").fadeIn(5000);
        $("img").animate({opacity:"show"},5000);
 
        //替换slideDown()方法        $("img").slideDown(5000); 
        $("img").animate({ height: "show" }, 5000);

这些动画就是animate()方法的一种内置了特定样式的简写形式,这些特定的样式值可以为"show"、"hide"、"toggle",也可以自定义数值

jQuery中事件与动画的总结分享

$("div").click(function() { $(this).next().toggle(); $(this).next().fadeTo(600,0.2); $(this).next().fadeToggle(); $(this).next().slideToggle(); }); 

以上这篇jQuery中事件与动画的总结分享就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery ui css framework
Jun 28 Javascript
JQuery表单验证插件EasyValidator用法分析
Nov 15 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
Aug 27 Javascript
JS自动倒计时30秒后按钮才可用(两种场景)
Aug 31 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
学习Bootstrap滚动监听 附调用方法
Jul 02 Javascript
JS实现隔行换色的表格排序
Mar 27 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
vue实现页面加载动画效果
Sep 19 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
vue服务端渲染添加缓存的方法
Sep 18 Javascript
jQuery根据表单name获取值的方法
May 24 #Javascript
深入理解jquery自定义动画animate()
May 24 #Javascript
深入理解jquery中的事件与动画
May 24 #Javascript
Jquery元素追加和删除的实现方法
May 24 #Javascript
jquery html动态添加的元素绑定事件详解
May 24 #Javascript
js和jQuery设置Opacity半透明 兼容IE6
May 24 #Javascript
浅析jquery unbind()方法移除元素绑定的事件
May 24 #Javascript
You might like
PHP empty函数报错解决办法
2014/03/06 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
thinkphp框架实现删除和批量删除
2016/06/29 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
表单(FORM)的一些实用效果代码
2007/03/25 Javascript
JS解析XML的实现代码
2009/11/12 Javascript
Javascript中的变量使用说明
2010/05/18 Javascript
21个JavaScript事件(Events)属性汇总
2014/12/02 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
jQuery实现延迟跳转的方法
2015/06/05 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
jquery实现select下拉框美化特效代码分享
2015/08/18 Javascript
详解javascript数组去重问题
2015/11/06 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
ionic2中使用自动生成器的方法
2018/03/04 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
python基础while循环及if判断的实例讲解
2017/08/25 Python
Numpy数组的保存与读取方法
2018/04/04 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Django CSRF认证的几种解决方案
2020/03/03 Python
Jupyter notebook如何修改平台字体
2020/05/13 Python
matplotlib制作雷达图报错ValueError的实现
2021/01/05 Python
美国最灵活的移动提供商:Tello
2017/07/18 全球购物
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
营销与策划应届生求职信
2013/11/04 职场文书
主管职责范文
2013/11/09 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
2015新年寄语(一句话)
2014/12/08 职场文书
综合实践活动报告
2015/02/05 职场文书
Python Django模型详解
2021/10/05 Python
Python序列化模块JSON与Pickle
2022/06/05 Python
SpringBoot使用AOP实现统计全局接口访问次数详解
2022/06/16 Java/Android