JQuery中的事件及动画用法实例

本文实例讲述了JQuery中的事件及动画用法。分享给大家供大家参考。具体分析如下:

1.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()后就简单许多了,就是直接可以隐藏和显示。可以对比一下,显然在代码的处理上简单啦。

2.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事件。

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


代码如下:

<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添加事件即可。

4.模拟事件

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

5.一些其他的事件


代码如下:

<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>

动画方法

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


代码如下:

<script src="script/jquery-1.7.1.min.js"></script>
<style>
input:focus,textarea:focus {
border:1px solid #f00;
 
}
</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的面积变小,即实现了动画的效果。

7.复选框应用


代码如下:

<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,则说明未被选中。

8.下拉框的应用


代码如下:

<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>

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

9.表格的应用


代码如下:

<script src="script/jquery-1.7.1.min.js"></script>
<style>
.even {
 
}
.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>

希望本文所述对大家的jQuery程序设计有所帮助。

(0)

相关推荐

  • 一款基jquery超炫的动画导航菜单可响应单击事件

    今天给大家分享一款基jquery超炫的动画导航菜单.这款导航菜单,初始时页面中间一个按钮,单击按钮,菜单从左侧飞入页中.再次单击按钮,导航飞入左侧消息.动画效果很非常炫.一起看下效果图: 源码下载 html代码: <ul> <li><a href="http://www.w2bc.com">First</a></li> <li><a href="http://www.w2bc.com"&g

  • 锋利的jQuery 要点归纳(三) jQuery中的事件和动画(下:动画篇)

    二.动画 1 show()方法和hide()方法 复制代码 代码如下: $("selector").show() 从display:none还原元素默认或已设置的display属性 $("selector").hide() 设置元素的display样式为none,等于$("selector").css("display","none") (注:传入参数后,.show()和.hide()方法同时动画改变元素的

  • 深入理解JQuery中的事件与动画

    首先,使用JQuery事件与动画的效果比使用原生js来的方便得多,当然,最重要的是考虑到了浏览器的兼容性. 事件: 基于原生js,常用事件有blur,focus,hover,mouseout,mouseover,mouseleave,ready,change,select,submit等等,不再赘述. 事件绑定: 在文档加载完成后,使用bind(type,[data],func())方法绑定事件. 合成事件: hover(enter-func,leave-func)相当于bind("mouseo

  • 分享一些常用的jQuery动画事件和动画函数

    部分jQuery常用的动画函数,整理了一下,在做交互式页面的时候挺有用的 .css('a','12px'); .css({ a:'12px', b:'#fff' }); .show(); .hide(); .toggle(); .fadeIn(); .fadeOut(); .fadeToggle(); .slideDown(); .slideUp(); .slideToggle(); .text('string'); .animate({ a:'40px', b:'ccc' },200) .fa

  • jQuery中animate动画第二次点击事件没反应

    用animate做点击翻页动画时发现第二次点击事件动画没反应,而第一次点击有动画效果,代码如下: 复制代码 代码如下: $(".page").stop().animate({top:"-300px"}, 800, 'easeInOutExpo'); 第二次点击事件动画没反应的原因:top是page元素顶部相与其父元素顶部的距离,第一次点击后,page元素顶部已经移动到距其父元素顶部-300px的位置,第二次点击时的并不是page在移动后的位置继续t移动-300px,

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

    1.加载DOM 1.1.window事件 window.onload=function(){}.... 时机:其他资源都加载完毕后,再执行 $(function(){}) --:只是等待标签完毕,即可执行 区别:前者在HTML页面中只能解析最后一个,二后者是N个 window.onload() = function () { } $(function () { $("li").bind("click", function () { $(this).css("

  • 锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)

    一.事件 1 加载DOM 复制代码 代码如下: $(document).ready(function(){//...}) DOM加载完毕后执行,在可重复使用上区别于window.onload=function(){//...} $(window).load(function(){//...}) window内所有对象加载完毕后执行,几等同window.onload=function(){//...}.也可针对selector使用此方法 另:$(document).ready(function()

  • jQuery事件与动画基础详解

    今天我们就谈谈jquery中的事件和简单动画吧,它们毕竟基础是进阶华丽的根本!! 1.事件 1.window事件 ready   准备就绪 2.鼠标事件 方法                        执行时机 click(fn)                单击鼠标 $(document).ready(function(){ $("dd>img").click(function(){ $("dt>img").show(); }); mouseov

  • jQuery 选择器、DOM操作、事件、动画

    Jquery选择器 $(document).ready(function(){}) $(function(){}) 如果获取的对象是jQuery对象,那么在变量前面加上$,例如:var $variable=jQuery对象 选择器 1, 判断页面是否存在某元素:if($("#tt").length>0){} 或者if($("#tt")[0]){}; 2, 基本选择器 $("#test") 选择id为test的元素 $(".test

  • JQuery中的事件及动画用法实例

    本文实例讲述了JQuery中的事件及动画用法.分享给大家供大家参考.具体分析如下: 1.bind事件 复制代码 代码如下: <script src="script/jquery-1.7.1.min.js"></script> <script> $(function () { $("#divid h5.head").bind("click", function () {  //bind事件,其中包含三个参数,第一

  • jQuery中ajax的get()方法用法实例

    本文实例讲述了jQuery中ajax的get()方法用法.分享给大家供大家参考.具体分析如下: $.get()通过 HTTP GET请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.get(url, [data], [callback], [type]); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,待发送 Key/value 参数. 3.callback:可选,请求成功后所执行的回调函数. 4.type:可选,返回内容格式,xml, html, scri

  • jQuery中ajax的load()方法用法实例

    本文实例讲述了jQuery中ajax的load()方法用法.分享给大家供大家参考.具体分析如下: 此函数jQuery中简单而功能强大的ajax方法. 它可以从服务器加载内容,然后写入匹配元素. 语法结构: 复制代码 代码如下: $(selector).load(URL,data,callback); 参数解析: 1.selector:一个选择器,可以将内容加载到此选择器匹配的元素中. 2.URL:必须,需要加载的一个url地址. 3.data:可选,与请求一同发送的查询字符串键/值对集合. 4.

  • jQuery中ajax的post()方法用法实例

    本文实例讲述了jQuery中ajax的post()方法用法.分享给大家供大家参考.具体分析如下: $.post() 方法通过HTTP POST请求从服务器上请求数据. 语法结构: 复制代码 代码如下: $.post(URL,data,callback); 参数解析: 1.URL:必须,规定请求的URL. 2.data:可选,规定连同请求发送的数据. 3.callback:可选,规定请求成功后所执行的函数名. 代码实例: 复制代码 代码如下: <!DOCTYPE html> <html&g

  • jquery中map函数遍历数组用法实例

    本文实例讲述了jquery中map函数遍历数组用法.分享给大家供大家参考.具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <

  • jQuery中attr()与prop()函数用法实例详解(附用法区别)

    本文实例讲述了jQuery中attr()与prop()函数用法.分享给大家供大家参考,具体如下: 一.jQuery的attr()方法 jquery中用attr()方法来获取和设置元素属性,attr是attribute(属性)的缩写,在jQuery DOM操作中会经常用到attr(),attr()有4个表达式. 1. attr(属性名) //获取属性的值(取得第一个匹配元素的属性值.通过这个方法可以方便地从第一个匹配元素中获取一个属性的值.如果元素没有相应属性,则返回 undefined ) 2.

  • jQuery中常用的遍历函数用法实例总结

    本文实例总结了jQuery中常用的遍历函数用法.分享给大家供大家参考.具体如下: 1. children()函数 children()函数用于选取每个匹配元素的子元素,并以jQuery对象的形式返回. 你还可以使用选择器进一步缩小筛选范围,筛选出符合指定选择器的元素. 用法示例如下: // 返回jQuery对象所有匹配元素的标识信息数组 // 每个元素形如:tagName或tagName#id(如果有id的话) function getTagsInfo($doms){ return $doms.

  • Jquery中find与each方法用法实例

    本文实例讲述了Jquery中find与each方法用法.分享给大家供大家参考.具体如下: 一.find()方法 jquery选择器非常强大,利用css的命名规约,可以更快更方便的找出想要的元素. 比如: $("#id") $("#"+"id") $(this) $(element) 等等,只要灵活运用,就能爆发出强大的可造型. 但是在实际使用中,仍然觉得有些不足. 如果想要在某个元素下寻找特定的元素,仅仅依靠上面这个方法,就必须对 $("

随机推荐