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 相关文章推荐
Js 获取HTML DOM节点元素的方法小结
Apr 24 Javascript
javascript GUID生成器实现代码
Oct 31 Javascript
javascript 用原型继承来实现对象系统
Mar 22 Javascript
学习JavaScript设计模式之中介者模式
Jan 14 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
js 两数组去除重复数值的实例
Dec 06 Javascript
React中使用UEditor百度富文本的方法
Aug 22 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
vue-cli中安装方法(图文详细步骤)
Dec 12 Javascript
js尾调用优化的实现
May 23 Javascript
Vue防止白屏添加首屏动画的实例
Oct 31 Javascript
javascript中闭包closure的深入讲解
Mar 03 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
ajax在joomla中的原生态应用代码
2012/07/19 PHP
浅谈php7的重大新特性
2015/10/23 PHP
PHP5.3新特性小结
2016/02/14 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
利用PHP扩展Xhprof分析项目性能实践教程
2018/09/05 PHP
ThinkPHP5 的简单搭建和使用详解
2018/11/15 PHP
图片自动更新(说明)
2006/10/02 Javascript
extjs grid设置某列背景颜色和字体颜色的方法
2010/09/03 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
2011/12/14 Javascript
jquery实现智能感知连接外网搜索
2013/05/21 Javascript
简单分析javascript面向对象与原型
2015/05/21 Javascript
在JavaScript应用中使用RequireJS来实现延迟加载
2015/07/01 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
详解vue2.0+vue-video-player实现hls播放全过程
2018/03/02 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
layer的prompt弹出框,点击回车,触发确定事件的方法
2019/09/06 Javascript
JS实现简易贪吃蛇游戏
2020/08/24 Javascript
Python爬取读者并制作成PDF
2015/03/10 Python
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
TensorFlow卷积神经网络之使用训练好的模型识别猫狗图片
2019/03/14 Python
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
Why do we need Unit test
2013/01/03 面试题
致跳远、跳高运动员广播稿
2014/01/09 职场文书
学习雷锋月活动总结
2014/07/03 职场文书
《正比例》教学反思
2016/02/23 职场文书
2016年党风廉政建设承诺书
2016/03/25 职场文书
导游词之南京栖霞山
2019/10/18 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python
oracle索引总结
2021/09/25 Oracle
在js中修改html body的样式
2021/11/11 Javascript