利用jQuery的动画函数animate实现豌豆发射效果
先来看看效果图
豌豆射手,草坪还有子弹都是现成的图片,
1. jQuery是库还是框架?
jQuery可以说是现在最流行的一个js类库,而非框架。
之前在知乎上看到有人说了这样一句话:
You call library. Framework calls you.
我深以为然,字面意思大概就是你可以无约束地使用类库,却需要在各种限制条件下使用一个框架。
我私以为,js 库指的是直接和document文档元素交互的一个API,你可以直接引用库,让它为你服务。而框架是偏向于架构的层次,你如果想要使用框架,就必须按照它的规则来。比如angular.js,它就给你提供方法的同时还约束了dom文档结构。
拿Java的三大框架来说,也是如此,你要想使用Spring
,就得按照它的步骤来,就好像一个房子,钢筋水泥已经弄好,你只需要进去装修就OK了。而库,就有点类似于StringUtils
的韵味,除了它暴露出来的接口,其他你都无需关心,直接调用就行了。
2. jQuery的animate函数
animate()
函数用于执行一个基于css属性的自定义动画
基本用法:
$('#id').animate(css,time,callback);
css : 你需要最终实现的样式列表
time: 过渡的时间
callback: 回调函数
animate
函数的作用主要就是实现一些css样式的过渡效果。
3.引入 jQuery
比如,现在我有一个div盒子。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="/UploadFiles/2021-04-02/jquery.min.js">在上面的代码中,我们引入了百度提供的jQuery文件。
那么如何快速判断是否引入成功了呢?提供以下几个方法:
1.console.log($);
效果:
这说明引入成功了。
2.直接用浏览器验证
打开你的页面,按一下F12,出现这样的控制台,这是浏览器自带的(我这里使用的是谷歌浏览器)。
输入$
回车!
诶,这样是不是也可以呢?
4. onmouseover事件
我们来给
div
盒子添加一个鼠标划上去的事件。$('#box').on('mouseover',function(){ alert(); });划上去:
嗯,最起码,这说明我们到目前为止的代码都是正确的,我初学js的时候就喜欢这样,让我感觉每一行代码都写得很放心。
5.用animate函数改变盒子宽度和高度
我们把
alert
去掉,加上下面的代码:$('#box').on('mouseover',function(){ $('#box').animate({width:600},500); });这表示当我把鼠标画上去的时候,就改变宽度为600px,过渡时间为500毫秒。
如果我们希望在宽度加倍后,令高度也加倍,又该如何做呢?
对了,用回调函数,当第一个动画执行完毕,就继续执行下一个动画:
$('#box').on('mouseover',function(){ $('#box').animate({width:600},500,function(){ $('#box').animate({height:600},500); }); });这样就有了一个先后顺序。
本文简单地介绍了一下jQuery animate函数的使用。
6. 附录
最后,附上一开始案例的代码,除了
animate
函数,还用到了js的定时器setInterval
方法:<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <script type="text/javascript" src="/UploadFiles/2021-04-02/jquery-1.11.2.min.js">总结
以上就是这篇文章的全部内容,希望对大家的学习和工作能有所帮助。如果有疑问可以留言交流,谢谢大家对的支持。
下一篇:教你如何在Node.js中使用jQuery
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?