JavaScript------jQuery(三)
来源:互联网 发布:福州seo基础培训班 编辑:程序博客网 时间:2024/06/12 23:44
动画效果
用JavaScript实现动画,原理非常简单:我们只需要以固定的时间间隔(例如,0.1秒),每次把DOM元素的CSS样式修改一点(例如,高宽各增加10%),看起来就像动画了。
但是要用JavaScript手动实现动画效果,需要编写非常复杂的代码。如果想要把动画效果用函数封装起来便于复用,那考虑的事情就更多了。
使用jQuery实现动画,代码已经简单得不能再简化了:只需要一行代码!
---------------------------------------------------------------------------------------------------------------------
show / hide
直接以无参数形式调用show()和hide(),会显示和隐藏DOM元素。但是,只要传递一个时间参数进去,就变成了动画:
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="../day48/jquery-3.2.1.js"></script></head><body><img src="http://imgsrc.baidu.com/imgad/pic/item/267f9e2f07082838b5168c32b299a9014c08f1f9.jpg" alt=""></body><script> $(document).click(function () { $('img').hide(5000) }); $(document).dblclick(function () { $('img').show(5000) });</script></html>toggle()方法则根据当前状态决定是show()还是hide()。
<body><img src="http://imgsrc.baidu.com/imgad/pic/item/267f9e2f07082838b5168c32b299a9014c08f1f9.jpg" alt=""></body><script> $(document).click(function () { $('img').toggle(1000) });</script>
slideUp / slideDown 滑动
你可能已经看出来了,show()和hide()是从左上角逐渐展开或收缩的,而slideUp()和slideDown()则是在垂直方向逐渐展开或收缩的。
slideUp()把一个可见的DOM元素收起来,效果跟拉上窗帘似的,slideDown()相反,而slideToggle()则根据元素是否可见来决定下一步动作。
-------------------------------------------------------------------------------------------------------------------
fadeIn / fadeOut 褪色
fadeIn()和fadeOut()的动画效果是淡入淡出,也就是通过不断设置DOM元素的opacity属性来实现,而fadeToggle()则根据元素是否可见来决定下一步动作:
<body><img src="http://imgsrc.baidu.com/imgad/pic/item/267f9e2f07082838b5168c32b299a9014c08f1f9.jpg" alt=""></body><script> $('img').hide(); $(document).click(function () { $('img').fadeToggle(1000) });</script>自定义动画
如果上述动画效果还不能满足你的要求,那就祭出最后大招:animate(),它可以实现任意动画效果,我们需要传入的参数就是DOM元素最终的CSS状态和时间,jQuery在时间段内不断调整CSS直到达到我们设定的值。animate()还可以再传入一个函数,当动画结束时,该函数将被调用。实际上这个回调函数参数对于基本动画也是适用的。
<body><img src="http://imgsrc.baidu.com/imgad/pic/item/267f9e2f07082838b5168c32b299a9014c08f1f9.jpg" alt=""></body><script> $(document).click(function () { $('img').animate( {opacity:0,width:'100%',height:'100%'} ,1000,function () { $('body').css('background-color','red') }) });</script>串行动画
jQuery的动画效果还可以串行执行,通过delay()方法还可以实现暂停,这样,我们可以实现更复杂的动画效果,而代码却相当简单:
<body><img src="http://imgsrc.baidu.com/imgad/pic/item/267f9e2f07082838b5168c32b299a9014c08f1f9.jpg" alt=""></body><script> $(document).click(function () { $('img').hide(); $('img').delay(3000); $('img').fadeIn(4000); $('img').delay(1000); $('img').animate( {opacity:0,width:'100%',height:'100%'} ,1000,function () { $('body').css('background-color','red') }) });</script>
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014356468967974219593d94f64d06b370c87fc38eade4000
=================================================================
css操作
css位置操作
$("p").offset([coordinates])//获得 <p> 元素当前的偏移/取当前偏移量$("p").offset().left;$("p").offset().top; $("p").position()//返回匹配元素相对于父元素的位置(偏移)。该方法返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效。 $("div").scrollTop([val])//设置 <div> 元素中滚动条的垂直偏移/取现在垂直位置 $("div").scrollLeft([val])//设置 <div> 元素中滚动条的水平偏移/取现在水平位置
跟随方块
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> .box{ width: 200px; height: 200px; background-color: #999999; } </style> <script src="..\day49\jquery-3.2.1.js"></script></head><body><div class="box"></div><script>$('.box').mousedown(function (e) { var e1=e.clientX; var e2=e.clientY; var s1=$('.box').offset().top; var s2=$('.box').offset().left; $(document).mousemove(function (e) { console.log('x',e.clientX); console.log('y',e.clientY); $('.box').offset({left:e.clientX-e1+s2,top:e.clientY-e2+s1}) }); $(document).mouseup(function () { $(document).off()})});</script></body></html>=================================================================
尺寸操作 $("").height([val|fn]) $("").width([val|fn]) $("").innerHeight() $("").innerWidth() $("").outerHeight([soptions]) $("").outerWidth([options])
=================================================================
扩展
https://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000/0014356468967974219593d94f64d06b370c87fc38eade4000
================================================================================================================================
jQuery 数据 - jQuery.data() 方法
data() 方法向被选元素附加数据,或者从被选元素获取数据。
注释:这是底层级的方法;使用 .data() 更加方便。
$(selector).data(name,value)//存值$(selector).data(name)//取值$(selector).data()//取出所有键值对testObj.greetingEve="Good Evening!"; $("div").data(testObj);//将"Good Evening!"赋给$('div')
- JavaScript------jQuery(三)
- 《JavaScript笔记》--jQuery 语法笔记(三)
- 通过jQuery源码学习javascript(三)
- 读《精通JavaScript+jQuery》笔记三
- JavaScript--&&--JQuery功能的代码对比(三)
- JavaScript------jQuery(一)
- JavaScript------jQuery(二)
- jQuery使用手册(三)
- jQuery总结(三)
- jquery基础(三)
- jquery总结(三)
- jQuery 事件 (三)
- jQuery选择器(三)
- jquery学习(三)
- JQuery实用技巧(三)
- jQuery 学习(三)
- jQuery(三)
- jQuery学习(三)
- 8月15日云栖精选夜读:阿里云新一代关系型数据库 PolarDB 剖析
- 如何创建和删除gerrit上的git tag
- svn如何删除当前账号,重新登录
- Codeforces Round #403 (Div. 2)(A-E 未完)
- 并发控制常见数据库锁类型
- JavaScript------jQuery(三)
- R语言1----Excel格式数据的导入
- CentOS7.0 64位下搭建Hadoop2.X集群详细步骤
- JS数据类型转换
- 读取点云 .OBJ 文件,画出顶点平面图
- 手机网络链接判断
- rte_mbuf
- WPF中DataGrid绑定类后自动增加列
- strcpy、strncpy与memcpy的区别与使用方法