12、JQuery动画
12.1、基本动画
show() 将隐藏的元素显示
hide() 将可见的元素隐藏
toggle() 可见就隐藏,不可见就显示
| 以上动画都可以添加参数 |
| 1、第一个参数是动画执行时长,以毫秒为单位 |
| 2、第二个参数是动画的回调函数(动画完成后自动调用的函数) |
| |
12.2、淡入淡出动画
fadeln() 淡入,慢慢可见
fadeOut() 淡出,慢慢消失
fadeTo() 在指定时长内慢慢的将透明度修改到指定的值,0透明,1可见,0.5半透明。
fadeToggle() 淡入/淡出 切换
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Untitled Document</title> |
| <link href="css/style.css" type="text/css" rel="stylesheet" /> |
| <script type="text/javascript" src="script/jquery-1.7.2.js"></script> |
| |
| <script type="text/javascript"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| $(function(){ |
| |
| $("#btn1").click(function(){ |
| $("#div1").show(2000,function () { |
| alert("show动画完毕"); |
| }); |
| }); |
| |
| $("#btn2").click(function(){ |
| $("#div1").hide(1000,function () { |
| alert("hide动画完毕"); |
| }); |
| }); |
| |
| $("#btn3").click(function(){ |
| $("#div1").toggle(1000,function () { |
| alert("toggle动画完毕"); |
| }); |
| }); |
| |
| |
| |
| |
| |
| |
| $("#btn4").click(function(){ |
| $("#div1").fadeIn(2000,function () { |
| alert("fadeIn动画完毕"); |
| }); |
| }); |
| |
| $("#btn5").click(function(){ |
| $("#div1").fadeOut(2000,function () { |
| alert("fadeOut动画完毕"); |
| }); |
| }); |
| |
| |
| $("#btn6").click(function(){ |
| $("#div1").fadeTo(2000,0.5,function () { |
| alert("fadeTo动画完毕"); |
| }); |
| }); |
| |
| $("#btn7").click(function(){ |
| $("#div1").fadeToggle(2000,function () { |
| alert("fadeToggle动画完毕"); |
| }); |
| }); |
| |
| |
| }); |
| </script> |
| |
| </head> |
| <body> |
| <table style="float: left;"> |
| <tr> |
| <td><button id="btn1">显示show()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn2">隐藏hide()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn3">显示/隐藏切换 toggle()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn4">淡入fadeIn()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn5">淡出fadeOut()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn6">淡化到fadeTo()</button></td> |
| </tr> |
| <tr> |
| <td><button id="btn7">淡化切换fadeToggle()</button></td> |
| </tr> |
| </table> |
| |
| <div id="div1" style="float:left;border: 1px solid;background-color: blue;width: 300px;height: 200px;"> |
| jquery动画定义了很多种动画效果,可以很方便的使用这些动画效果 |
| </div> |
| </body> |
| |
| </html> |
| |
13、CSS_动画 品牌展示
| 需求: |
| 1.点击按钮的时候,隐藏和显示卡西欧之后的品牌 |
| 2.当显示全部内容的时候,按钮文本为“显示精简品牌”然后,小三角形向上,所有品牌产品为默认颜色 |
| 3.当只显示精简品牌的时候,要隐藏卡西欧之后的品牌,按钮文本为“显示全部品牌”,然后小三角形向下,并且把佳能,尼康的品牌颜色改为红色(给li标签添加promoted样式即可) |
| <!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"> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| <title>品牌展示练习</title> |
| <style type="text/css"> |
| * { |
| margin: 0; |
| padding: 0; |
| } |
| |
| body { |
| font-size: 12px; |
| text-align: center; |
| } |
| |
| a { |
| color: #04D; |
| text-decoration: none; |
| } |
| |
| a:hover { |
| color: #F50; |
| text-decoration: underline; |
| } |
| |
| .SubCategoryBox { |
| width: 600px; |
| margin: 0 auto; |
| text-align: center; |
| margin-top: 40px; |
| } |
| |
| .SubCategoryBox ul { |
| list-style: none; |
| } |
| |
| .SubCategoryBox ul li { |
| display: block; |
| float: left; |
| width: 200px; |
| line-height: 20px; |
| } |
| |
| .showmore , .showless{ |
| clear: both; |
| text-align: center; |
| padding-top: 10px; |
| } |
| |
| .showmore a , .showless a{ |
| display: block; |
| width: 120px; |
| margin: 0 auto; |
| line-height: 24px; |
| border: 1px solid #AAA; |
| } |
| |
| .showmore a span { |
| padding-left: 15px; |
| background: url(img/down.gif) no-repeat 0 0; |
| } |
| |
| .showless a span { |
| padding-left: 15px; |
| background: url(img/up.gif) no-repeat 0 0; |
| } |
| |
| .promoted a { |
| color: #F50; |
| } |
| </style> |
| <script type="text/javascript" src="script/jquery-1.7.2.js"></script> |
| <script type="text/javascript"> |
| $(function() { |
| |
| $("li:gt(5):not(:last)").hide(); |
| $("div div a").click(function(){ |
| |
| |
| $("li:gt(5):not(:last)").toggle(); |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| if($("li:gt(5):not(:last)").is(":hidden")){ |
| $("div div a span").text("显示全部品牌"); |
| |
| $("div div").removeClass(); |
| $("div div").addClass("showmore"); |
| |
| $("li:contains('索尼')").removeClass("promoted"); |
| }else{ |
| $("div div a span").text("显示精简品牌"); |
| $("div div").removeClass(); |
| $("div div").addClass("showless"); |
| |
| $("li:contains('索尼')").addClass("promoted"); |
| } |
| return false; |
| }); |
| }); |
| </script> |
| </head> |
| <body> |
| <div class="SubCategoryBox"> |
| <ul> |
| <li><a href="#">佳能</a><i>(30440) </i></li> |
| <li><a href="#">索尼</a><i>(27220) </i></li> |
| <li><a href="#">三星</a><i>(20808) </i></li> |
| <li><a href="#">尼康</a><i>(17821) </i></li> |
| <li><a href="#">松下</a><i>(12289) </i></li> |
| <li><a href="#">卡西欧</a><i>(8242) </i></li> |
| <li><a href="#">富士</a><i>(14894) </i></li> |
| <li><a href="#">柯达</a><i>(9520) </i></li> |
| <li><a href="#">宾得</a><i>(2195) </i></li> |
| <li><a href="#">理光</a><i>(4114) </i></li> |
| <li><a href="#">奥林巴斯</a><i>(12205) </i></li> |
| <li><a href="#">明基</a><i>(1466) </i></li> |
| <li><a href="#">爱国者</a><i>(3091) </i></li> |
| <li><a href="#">其它品牌相机</a><i>(7275) </i></li> |
| </ul> |
| <div class="showmore"> |
| <a href="more.html"><span>显示全部品牌</span></a> |
| </div> |
| </div> |
| </body> |
| </html> |
| |
| |
14、JQuery事件操作
14.1、页面加载操作
| $(function(){}); |
| 和 |
| window.onload=function(){} |
| 的区别? |
| 他们分别是在什么时候触发? |
| 1.JQuery的页面加载完成之后是浏览器的内核解析完页面的标签创建好DOM对象之后就会马上执行。 |
| 2.原生js的页面加载完成之后,除了要等浏览器内核解析完标签创建好DOM对象,还要等标签显示时需要的内容加载完成。 |
| 他们触发的顺序? |
| 1.JQuery页面加载完成之后先执行 |
| 2.原生js的页面加载完成之后 |
| 他们执行的次数? |
| 1.原生js的页面加载完成之后,只会执行最后一次赋值函数 |
| 2.JQuery的页面加载完成之后是把全部注册的Function函数,依次顺序执行。 |
| |
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Insert title here</title> |
| <script type="text/javascript"></script> |
| <script type="text/javascript" src="../../script/jquery-1.7.2.js"></script> |
| <script type="text/javascript"> |
| window.onload = function () { |
| alert("原生js的页面加载完成之后1") |
| } |
| window.onload = function () { |
| alert("原生js的页面加载完成之后2") |
| } |
| window.onload = function () { |
| alert("原生js的页面加载完成之后3") |
| } |
| |
| $(function () { |
| alert("jquery的页面加载完成之后1") |
| }); |
| $(function () { |
| alert("jquery的页面加载完成之后2") |
| }); |
| $(function () { |
| alert("jquery的页面加载完成之后3") |
| }); |
| </script> |
| </head> |
| <body> |
| <button>我是按钮</button> |
| |
| <iframe src="http://localhost:8080"></iframe> |
| <img src="http://localhost:8080/1.jpg" alt=""/> |
| |
| |
| </body> |
| </html> |
14.2、JQuery中其他的事件处理方法

| js是onclick、onblur、onchange |
| click() 它可以绑定单击事件,以及触发单击事件 |
| mouseover() 鼠标移入事件 |
| mouseout() 鼠标移出事件 |
| bind() 可以给元素一次性绑定一个或多个事件 |
| one() 使用跟bind一样,但是one方法绑定的事件只会响应一次 |
| live() 也是用来绑定事件的,它可以用来绑定选择器匹配的所有元素的事件,哪怕这个元素是后面动态创建出来的也有效。 |
| unbind() 跟bind相反的操作,解除事件的绑定 |
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Untitled Document</title> |
| <link href="css/style.css" type="text/css" rel="stylesheet" /> |
| <script type="text/javascript" src="../../script/jquery-1.7.2.js"></script> |
| <script type="text/javascript"> |
| |
| $(function(){ |
| |
| $("h5").click(function(){ |
| alert("h5被点击了"); |
| }); |
| $("button").click(function(){ |
| $("h5").click(); |
| }) |
| |
| |
| |
| |
| |
| $("h5").live("click mouseover mouseout",function(){ |
| $(this).css("color","blue"); |
| }); |
| |
| |
| |
| |
| |
| |
| |
| |
| $('<h5 class="head">什么是jQuery</h5>').appendTo("#panel"); |
| |
| |
| |
| |
| |
| }); |
| |
| </script> |
| </head> |
| <body> |
| <div id="panel"> |
| <h5 class="head">什么是jQuery?</h5> |
| <div class="content"> |
| jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。 |
| </div> |
| <button>按钮</button> |
| </div> |
| </body> |
| |
| </html> |
| |
14.3、事件的冒泡
| 什么是事件的冒泡? |
| 事件的冒泡是指,父子元素同时监听同一个事件,当触发子元素的事件的时候,同一个事件也被传递到了父元素的事件里去响应。 |
| |
| 那么如何阻止事件冒泡呢? |
| 在子元素事件函数体内,return false 可以阻止事件的冒泡传递。 |
14.5、JavaScript事件对象
| 事件对象,是封装有触发的事件信息的一个JavaScript对象。 |
| 我们重点关心的是怎么拿到这个JavaScript的事件对象以及使用。 |
| |
| 如何获取JavaScript事件对象呢? |
| 在给元素绑定事件的时候,在事件的function(event)参数列表中添加一个参数,这个参数名,我们习惯取名为event,这个event就是JavaScript传递参数事件处理函数的事件对象。 |
| |
| 比如: |
| //1.原生javascript获取 事件对象 |
| /*window.onload = function(){ |
| document.getElementById("areaDiv").onclick = function(event){ |
| console.log(event); |
| } |
| }*/ |
| //2.JQuery代码获取 事件对象 |
| $(function(){ |
| $("#areaDiv").click(function(event){ |
| console.log(event); |
| }); |
| }); |
| 那么这个对象有什么作用-->实现多种操作: |
| |
| |
| $(function(){ |
| $("#areaDiv").bind("mouseout mouseover",function(event){ |
| |
| if(event.type == "mouseover"){ |
| $(this).css("background-color","red"); |
| }else{ |
| $(this).css("background-color","blue"); |
| } |
| }); |
| }); |
练习07事件 图片跟随
| <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <title>Insert title here</title> |
| <style type="text/css"> |
| body { |
| text-align: center; |
| } |
| #small { |
| margin-top: 150px; |
| } |
| #showBig { |
| position: absolute; |
| display: none; |
| } |
| </style> |
| <script type="text/javascript" src="script/jquery-1.7.2.js"></script> |
| <script type="text/javascript"> |
| $(function(){ |
| $("#small").bind("mouseover mouseout mousemove",function (event) { |
| if(event.type == "mouseover"){ |
| $("#showBig").show(); |
| }else if(event.type == "mouseout"){ |
| $("#showBig").hide(); |
| }else if(event.type == "mousemove"){ |
| var x = event.pageX+10; |
| var y = event.pageY+10; |
| $("#showBig").css({ |
| left:x, |
| top:y |
| }); |
| } |
| }); |
| }); |
| </script> |
| </head> |
| <body> |
| |
| <img id="small" src="img/small.jpg" /> |
| |
| <div id="showBig"> |
| <img src="img/big.jpg"> |
| </div> |
| |
| </body> |
| </html> |
本文作者:_xiaolin
本文链接:https://www.cnblogs.com/SilverStar/p/17415183.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律