当前位置: 首页 > 编程日记 > 正文

JQuery中的事件以及动画

嘿嘿,今天学习了JQuery的事件以及动画,感觉即将学习完JQuery,在回忆起上周学习的JavaScript,感觉好多刚刚学习的知识点都记得模 糊啦,这个是很让失望的,这里只说明了一点,课是听过啦,但是没有好好的练习,于是就加快了刚学习的知识的遗忘力度。在一周的时间里学习了JavaScript, 那时间没感觉可得节奏很快,现在顿时发现课真的是快啦,我需要认真的对待,好好的在练习练习,而写发现最近的态度也有很大的问题,总是在赶今天学习的任 务,发现没有更多的时间去复习前面学习的知识,感觉还是有点苦恼的。这个事需要迅速解决的问题。好啦,来总结一下今天的知识吧。

一.简单的点击事件

上面就是在JQuery中实现的单击事件,这个与JavaScript中的单击事件相比,JavaScript使用的是onclick来实现其单击事件。

二.bind事件

<script src="script/jquery-1.7.1.min.js"></script><script>$(function () {$("#divid h5.head").bind("click", function () {  //bind事件,其中包含三个参数,第一个为事件,第二个为事件alert($(this).text());});$("#divid h5.content").css("display", "none");    //css方法就是可以动态设置标签样式});$(function () {$("#btnid").bind("click", function () {if (bool == true) {$("#btnid .content").css("display", "none"); bool = false; $(this).val("显示"); } else { $("#btnid .content").css("display", ""); bool = true; $(this).val("隐藏"); } }); }); $(function () { $("input[type=button]").bind("click", function () { //内容的显示与隐藏 var content = $("#divid .content"); if (content.is(":visible")) { content.hide(); $(this).val("显示"); } else { content.show(); $(this).val("隐藏"); } }); }); </script> <body> <div id="divid"> <h5 class="head">Rocky?</h5> <div class="content">就让雨下下来 不用带伞 让一切完蛋 看被淋湿的心 多久才会晒干</div> </div> <input type="button" name="name" value="显示 " id="btnid" /> </body>

在上面的操作中我们新学习了bind事件,而bind事件是三个参数,第一个参数是事件的名字,例如:click,dbclick,mouseover等,第二个参数是data,即传递过来的事件对象,第三个参数是一个方法,即用来处理处 理绑定的事件函数这就是我们的一个特殊的事件;另外在这里还举例写了一个动画中的例子,即文本信息的显示或者隐藏,在还没有学习show()和 hide()之前我们一般是按照上面第一种方式来写的,定义一个bool类型的变量即可,这样写起来还是很简单的,但是在写显示隐藏时间处理按钮上面还是 蛮蛮烦的,所以在学习了show()和hide()后就简单许多了,就是直接可以隐藏和显示。可以对比一下,显然在代码的处理上简单啦。

三.toggle事件和事件冒泡等

<script>$(function () {$("input[type=button]").toggle(function () {    //toggle两个参数都为事件,轮番调用$(this).css("backgroundColor","red");}, function () {$(this).css("backgroundColor", "yellow");});});$(function () {$("div").each(function () {$(this).bind("mouseup", function (e) {alert(e.pageX);   //输出鼠标的x方向的位置alert(e.pageY);   //输出鼠标的y方向的位置alert(e.which);   //输出鼠标的按键的选择,1为鼠标左键,2为滚轴按键,3为鼠标右键}); }); }); $(function () { $("#txt").keydown(function () { e.preventDefault(); //阻止a标签链接 alert(e.keyCode); //键盘获取其ask码  }); }); $(function () { $("#ouuerdiv").click(function () { alert($(this).text()); }); $("#div").click(function () { alert($(this).text()); }); $("#innerdiv").click(function () { //在这里是写了一个事件的冒泡现象,组织冒泡可以使用preventDefault或者precentDefault alert($(this).text()); }); }) </script> <body> <input type="button" name="btnname" value="按钮" id="btn"/> <div id="ouuerdiv"> 外部div<div id="div">中部div<div id="innerdiv">内部div</div></div></div> <a href="http://www.baidu.com" id="a">百度</a> <textarea id="txt" rows="5" cols="5"> </textarea> </body> 

Toggle事件:模拟鼠标点击事件,当鼠标移动到元素上时触发第一个事件,当鼠标离开元素时触发第二个事件。两个事件之间相互切换触发;另外还要说下事 件冒泡,事件冒泡其实简单的理解为:在一个页面上可以有多个事件,也可以多个元素相应一个事件。像上面一样假设页面中存在两个元素,其中一个div元素嵌 套在另一个div元素中并且都绑定了一个click事件,那么当你点击内部中div元素时间,外部的div也会显示,这就是事件冒泡。在这里需要注意的是都绑定了一个事件,容易想当然的认为仅仅的内部发生click事件。

四.移除事件和连续添加多个事件

<script>$(function () {$("removeall").click(function () {      $("#btn").unbind();                //实现移除事件});$("#btn").bind("click", function () {          //可以连续添加多个事件$("#text").append("<p>我是第一个添加的事件</p>")}).bind("click", function () {$("#text").append("<p>我是第二个添加的事件</p>") }) .bind("click", function () { $("#text").append("<p>我是第三个添加的事件</p>") }) }); </script> <body> <button id="btn">单击我吧</button><button id="removeall">删除所有的事件</button> <div id="text">div文本信息</div> </body>

上面我们学习了bind事件,就是添加一个事件,而unbind就是移除事件,我们可以对比一下,嘿嘿,而针对连续添加多个事件其实就是当你添加玩一个事件后继续.bind添加事件即可。

五.模拟事件

我们学习的上面的bind事件、click事件等一般都是通过单击按钮才能触发的事件,但是有时间,需要通过模拟用户操作,来达到单击的效果,例如:在用户进入也买年后就触发click事件,而不需要用户去单击,那么我们就使用trigger()方法来完成模拟操作。

 六.一些其他的事件

<script>$(function () {$("#btn").click(function () {//$("#div").hide(2000);        //在2秒内隐藏//$("#div").show(2000);        //在2秒内显示//$("#div").fadeIn(2000);      //增强元素的不透明度,直至元素完全显示//$("#div").fadeOut(2000);     //降低元素的不透明度,直至元素完全消失$("#btn").toggle(function () { $("div").slideDown(2000);     //改变元素的高度,由上至下显示$(this).val("显示")         }, function () {$("div").slideUp(2000);       //改变元素的高度,由下至上缩短隐藏$(this).val("隐藏") }); }); //$("#btn").click(function () { // $("div").fadeTo(600,0.2); //fadeTo方法适用于在0.6s内透明度是0.2 //});  }); </script> <body> <div id="div" style="width:300px; height:300px;" >1234</div> <input type="button" name="name" value="操作动画" id="btn" /> </body>

七.动画方法

 八.多行文本框的应用-高度变化

 <script src="script/jquery-1.7.1.min.js"></script><style>input:focus,textarea:focus {border:1px solid #f00;background-color:#fcc;}</style><script>$(function () {var comment = $("#comment");$(".bigger").click(function () {if (comment.height() < 500) { comment.height($("#comment").height() + 100); //在原有高度的基础上增高100  } }); $(".smaller").click(function () { if (comment.height() > 100) { comment.height($("#comment").height() - 100); //在原有高度的基础上降低100  } }); }) </script> <body> <form action="#" method="post" id="regform"> <div class="msg"><span class="bigger">放大</span><span class="smaller">缩小</span></div> <div style="" data-mce-style="color: #800000;">"><textarea rows="8" cols="20" id="comment">海海海海</textarea></div> </form> </body>

上面的操作实现了点击放大时间,textarea的高度变高即面积变大,当点击缩小时间textarea的面积变小,即实现了动画的效果。

九.复选框应用

<script src="script/jquery-1.7.1.min.js"></script><script>$(function () {$("#checkall").bind("click", function () {$(":checkbox").each(function () {$(this).attr("checked", "checked");         //点击按钮时间需要全部选中});});$("#checkno").bind("click", function () {$(":checkbox").attr("checked", false);    //点击按钮时间需要全部不选中}); $("#checkRev").bind("click", function () { $(":checkbox").each(function () { if ($(this).attr("checked") == "checked") { $(this).attr("checked", false); } else { $(this).attr("checked", true); //点击按钮时间需要选中的清除,未选中的被选中  } }); }); //或者: $(this).attr("checked", !$(this).attr("checked")); }); </script> <body> <form>你爱好的运动?<br /> <input type="checkbox" name="names" value="足球 " />足球<br /> <input type="checkbox" name="names" value="篮球 " />篮球<br /> <input type="checkbox" name="names" value="排球 " />排球<br /> <input type="checkbox" name="names" value="羽毛球 " />羽毛球<br /> <input type="button" id="checkall" value="全选 " /><br /> <input type="button" id="checkno" value="全不选 " /><br /> <input type="button" id="checkRev" value="反选 " /><br /> <input type="button" name="send" value="提交" /><br /> </form> </body>

在这里需要注意的是,判断复选框选中或者不选中的状态,必须通过控制元素的checked属性来达到目的,如果属性checked为true,说明被选中,如果为false,则说明未被选中。

十.下拉框的应用

<script src="script/jquery-1.7.1.min.js"></script><script>$(function () {$("#add").click(function () {var selectoption = $("#select1 option:selected");selectoption.remove();selectoption.appendTo('#select2');    //把选中的项添加到右边的aelect框中});$("#addAll").bind("click",function () {var options = $("#select1 option"); options.appendTo('#select2'); }); }); </script> <body> <div class="center"> <select multiple="multiple" id="select1" style="width: 100px; height: 160px"> <option value="1">选项1</option><option value="2">选项2</option> <option value="3">选项3</option> <option value="4">选项4</option><option value="5">选项5</option><option value="6">选项6</option> <option value="7">选项7</option><option value="8">选项8</option><option value="9">选项9</option> </select> <div> <span id="add">添加到右边</span> <span id="addAll">全部添加到右边</span> </div> </div> <div class="center" style="float:right"> <select multiple="multiple" id="select2" style="width: 100px; height: 160px" > </select> </div>

上面的操作是实现了在在左边点击选择的项,然后添加到右边的框中,可以一个一个的添加,也可以全部一次性添加。

十一.表格的应用

 <script src="script/jquery-1.7.1.min.js"></script><style>.even {background-color: #fff38f;}.odd {background-color: #ffffee;}</style><script>$("#table tr:odd").addClass("odd");          //选取索引为奇数的行数$("#table tr:even:not(:first)").addClass("even");   //选取索引为偶数的除了索引为0的行数$("table tr").each(function () {$(this).click(function () { $(this).css("backgroundColor","red").siblings().css("backgroundColor",""); }); }) </script> <body> <table border="1" id="table"> <thead><tr><th>姓名</th><th>性别</th><th>暂住地</th></tr></thead><tbody> <tr class="parent" id="row1"><td colspan="3">前台设计组</td></tr> <tr class="child1"><td>张三</td><td>男</td><td>浙江宁波</td></tr> <tr class="child1"><td>李四</td><td>女</td><td>浙江杭州</td></tr> <tr class="parent" id="row2"><td colspan="3">前台开发组</td></tr> <tr class="child2"><td>王五</td><td>男</td><td>湖南长沙</td></tr> <tr class="child2"><td>赵六</td><td>男</td><td>湖南长沙</td></tr> <tr class="parent" id="row3"><td colspan="3">后台开发组</td></tr> <tr class="child3"><td>孙七</td><td>男</td><td>湖南长沙</td></tr> <tr class="child3"><td>周八</td><td>男</td><td>湖南长沙</td> </tr> </tbody> </table> </body>

上面主要学习了对表格的简单操作,嘿嘿,今天就总结到这里,简单的学习动画的操作还是要灵活的掌握,其实这些都是简单的实例,我们在实际操作中当然不会这样的简单的,要加油喽。

相关文章:

Go 系列教程 —— 20. 并发入门

欢迎来到我们 Golang 系列教程的第 20 篇。 Go 是并发式语言&#xff0c;而不是并行式语言。在讨论 Go 如何处理并发之前&#xff0c;我们必须理解何为并发&#xff0c;以及并发与并行的区别。 并发是什么&#xff1f; 并发是指立即处理多个任务的能力。一个例子就能很好地说明…

Unity创造没有代码的游戏学习教程

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;48.0 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小:17.4 GB |时长:17h 18m 你会学到什么 如何制作游戏 如何在Unity中制作无代码的游戏 如何使用Bolt 在…

Java学习总结:51(对象序列化)

对象序列化 对象序列化的本质实际上就是将内存中所保存的对象数据转换为二进制数据流进行传输的操作。 但并不是所有类的对象都可以直接进行序列化操作&#xff0c;要被序列化的对象所在的类一定要实现java.io.Serializable接口。而且序列化接口里面是没有任何操作方法存在的&…

(九)单片机串行口 内部结构的讲解 01

1、 基本概念 常用于数据通信的传输方式有单工、半双工、全双工和多工方式。 单工方式&#xff1a;数据仅按一个固定方向传送。因而这种传输方式的用途有限&#xff0c;常用于串行口的打印数据传输与简单系统间的数据采集。 半双工方式&#xff1a;数据可实现双向传送&am…

2022-2028年中国改性尼龙行业市场全景评估及产业前景规划报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国改性尼龙行业市场行业相关概述、中国改性尼龙行业市场行业运行环境、分析了中国改性尼龙行…

[原创]Java性能优化权威指南读书思维导图

[原创]Java性能优化权威指南读书思维导图 书名&#xff1a;Java性能优化权威指南 原书名&#xff1a;Java performance 作者&#xff1a; (美)Charlie Hunt Binu John 译者&#xff1a; 柳飞 陆明刚 京东购书地址&#xff1a; http://item.jd.com/11407830.html 介绍&…

【Java】lambda表达式与函数式接口的完美配合

透过现象看本质:它们真正需要的,是一个"函数",是一个告诉它们,根据什么去排序、被触发后执行什么、线程去执行什么任务的"函数"(compare、actionPerformed、run)。在没有计算机的数学时代,逻辑学家Church意识到他需要将一个函数符号化,他使用了希腊字母λ——λ的发音即为lambda。这无疑大大简化了代码,在某些情况下提升了效率——更重要的是,这是大势所趋的"函数式编程"思想的又一次胜利。实际上,lambda表达式的作用域,不是大括号,而是大括号的外围——和。

spring2

bean的scope"singleton":单例(默认)"prototype":一个bean可以对应多个对象实例 获取bean的方法1、ApplicationContext(首选)(1)bean的scope为singleton,实例化ApplicationContext时,bean对象也随之实例化(2)bean的scope为prototype,实例化ApplicationConte…

多线程Volatile关键字

一旦一个共享变量(类的成员变量、类的静态成员变量)被volatile修饰之后,那么就具备了两层语义:1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。​ 强制将对缓存的修改操作(即写操作)立即写入主存;如果是写操作导致其他线程中对应的缓存无效,让其他线程只能从主存中拿刚刚更新的。2)禁止指令重排序。3)volatile只能保证【可见性】、【有序性】,并不能保证【原子性。

游戏设计行业标准测试:秘密收集

MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:30节课(4h 5m) |大小解压后:2.68 GB Industry Standard Game Design Tests: The Secret Collectio…

Java学习总结:52(Java网络编程)

Java网络编程 开发第一个网络程序 java.net包提供了网络编程有关的开发工具类&#xff0c;在此包中有一下两个主要的核心操作类。 ServerSocket类&#xff1a;是一个封装支持的TCP协议的操作类&#xff0c;主要工作在服务器端&#xff0c;用于接收客户端请求&#xff1b;Soc…

聊聊高并发(十六)实现一个简单的可重入锁

可重入锁指的是假设一个线程已经获得了一个锁&#xff0c;那么它能够多次进入这个锁&#xff0c;当然前提是线程须要先获得这个锁。 可重入锁是最常使用的锁。Java的内置锁就是可重入锁&#xff0c;使用synchronizedkeyword能够启用内置锁机制&#xff0c;比方说一个类有两个sy…

2022-2028年中国蛋制品行业市场专项调查及前瞻分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国蛋制品行业市场行业相关概述、中国蛋制品行业市场行业运行环境、分析了中国蛋制品行业市场…

Twisted入门教程(3)

第三部分&#xff1a;开始认识Twisted可以从这里从头开始阅读这个系列。用twisted的方式实现前面的内容最终我们将使用twisted的方式来重新实现我们前面的异步模式客户端。不过&#xff0c;首先我们先稍微写点简单的twisted程序来认识一下twisted。最最简单的twisted程序就是下…

openstack高可用方案

openstack高可用方案 HA 将服务分为两类&#xff1a; • 有状态服务&#xff1a;后续对服务的请求依赖于之前对服务的请求。OpenStack中有状态的服务包括MySQL数据库和AMQP消息队列。对于有状态类服务的HA&#xff0c;如neutron-l3-agent、neutron-metadata-agent、nova-comput…

3D游戏设计和创作工具学习教程 3D Game Design Creation Tools

语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; 大小解压后&#xff1a;1.94G 1280X720 mp4 三维游戏设计和创作工具 用扎实的工作流程开始开发游戏 课程获取&#xff1a;3D游戏设计和创作工具学习教程 3D Game Design & Creation Too…

Java学习总结:53(单对象保存父接口:Collection)

单对象保存父接口&#xff1a;Collection java.util.Collection是进行单对象保存的最大父接口&#xff0c;即每次利用Collection接口都只能保存一个对象信息。单对象保存父接口定义如下&#xff1a; public interface Collection<E> extends Iterable<E>由该定义…

ORA-00942:表或视图不存在(低级错误)

在好多时候。调试PL/SQL对象时会报。ORA-00942 看看错误原因吧&#xff1a; 报错原因&#xff1a;1.该schema没有对表或者视图没有select权限 2.就是该对象不存在 解决的方法&#xff1a; 1.授权给对应对象 2.create table or view 转载于:https://www.cnblogs.com/blfshiye/p/…

2022-2028年中国蛋白石行业发展现状分析及投资前景趋势报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国蛋白石行业市场行业相关概述、中国蛋白石行业市场行业运行环境、分析了中国蛋白石行业市场…

实验: VMware使用快照间接备份原始VMDK文件

资料上看的使用快照备份运行着的虚拟机 当虚拟机开着时&#xff0c;快照提供了一个备份原始 VMDK 文件的好办法。所有的写入操作在原始文件上暂停了&#xff0c;因此&#xff0c;复制它在另一个存储卷很安全。这就是像 VMware Consolidated Backup 和 Vizioncore 的 vRanger…

tomcat生成catalina.out文件

生成catalina.out方法 导语&#xff1a;本文为Windows下生tomcat将控制台信息输出到catalina.out文件 且 保证能实时查看日志文件的方法。 一、创建catalina.out 1、修改tomcat bin目录下的startup.bat文件 修改位置&#xff1a;在startup.bat文件倒数第二行 修改call "%…

Unity优化手机游戏学习教程

流派:电子学习| MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;48.0 KHz 语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09;|大小解压后:3.69 GB |时长:6h 44m 创建移动游戏的优化技巧和技术 你会学到什么 如何优化手机游戏的图形和…

Java学习总结:54(集合输出)

集合输出 在Java中&#xff0c;集合的输出操作有四种形式&#xff1a;Iterator输出、ListIterator输出、foreach(加强型for循环)输出、Enumeration输出。 迭代输出&#xff1a;Iterator Iterator(迭代器)是集合输出操作中最常用的接口&#xff0c;而在Collection接口中也提供…

12.27评论5位同学试验三

23号李名贵&#xff0c;http://www.cnblogs.com/xieqiuyou/p/5017244.html#3323660 写的不错&#xff0c;每行语句都有注释&#xff0c;但截图不完整 24号施振成&#xff0c;http://www.cnblogs.com/nonecanstop/p/5079334.html 写的较完整&#xff0c;轮转法和优先算法都有用到…

2022-2028年中国袋式除尘用滤料行业市场全景评估及发展策略分析报告

【报告类型】产业研究 【报告价格】4500起 【出版时间】即时更新&#xff08;交付时间约3个工作日&#xff09; 【发布机构】智研瞻产业研究院 【报告格式】PDF版 本报告介绍了中国袋式除尘用滤料行业市场行业相关概述、中国袋式除尘用滤料行业市场行业运行环境、分析了中…

TL-WDN3321 Ubuntu 下安装

为什么80%的码农都做不了架构师&#xff1f;>>> The WiFi USB dongles based on the newest RT5572 chip set do not work out of the box on Ubuntu. Unex DNUR-V72, D-Link DWA-160 Rev B and TP-Link TL-WDN3200 dongles are based on this chipset. You will …

解决真机编译出现System.DllNotFoundException: 'libmono-native.so'错误都方法

1、去掉勾选&#xff1a;使用共享运行时 2 检查android SDK是否安装了NDK 3、使用真机运行编译APK 转载于:https://www.cnblogs.com/CelonY/p/11355417.html

Revit: Twinmotion工作流程学习

Revit: Twinmotion Workflow MP4 |视频:h264&#xff0c;1280720 |音频:AAC&#xff0c;44.1 KHz&#xff0c;2 Ch 技能等级:中级|语言&#xff1a;英语中英文字幕&#xff08;根据原英文字幕机译更准确&#xff09; |时长:1h 22m |大小解压后:2.93 GB 含课程文件 Twinmotion是…

Java学习总结:55(偶对象保存:Map接口)

偶对象保存&#xff1a;Map接口 我们前面讲到的Collection属于单值保存父接口&#xff0c;每次只能保存一个对象&#xff1b;而我们这节讲的Map属于偶对象保存接口&#xff0c;利用Map可以保存一对关联数据(按照"key value"的形式)。 Map接口的常用方法 No方法名…

WPF的图片操作效果(一):RenderTransform

一.RenderTransform类的成员&#xff1a; 1.TranslateTransform 平移效果 2.RotateTransform 旋转效果 3.ScaleTransform 缩放效果 4.SkewTransform 扭转效果 5.TransformGroup 组合效果 6.MatrixTransform 是其他几个变形类的基类…