jQuery实现碰到边缘反弹的动画效果


Posted in jQuery onFebruary 24, 2018

先上效果图:

jQuery实现碰到边缘反弹的动画效果

录出来有点卡顿的赶脚,实际上还是挺顺畅的。

1.HTML:

<div class="box"></div>

2.CSS:

body{
   background:skyblue  
}
.box{
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100px;
  height: 100px;
  background: white;
}

3.JS:

$(function(){
  var obj=$(".box");
  var x=obj.offset().left;//盒子距离左部的位置
  var y=obj.offset().top;//盒子距离顶部的位置
  var objwid=obj.width();//盒子的宽
  var objhei=obj.height();
  var winwid=$(window).width();//页面的宽
  var winhei=$(window).height();
  var max=10;//设置最大视觉差,就是感觉这个距离刚好碰到
  var winx=winwid-objwid-max;//盒子x轴最远达到的距离
  var winy=winhei-objhei-max;//盒子y轴最远达到的距离
  var sx=0;//x轴是否返回的状态,0是值++即正向移动,1是值--即返回
  var sy=0;
  time1=setInterval(function(){
    if(sx==0){
      obj.css("left",x++);
    }else if(sx==1){
      obj.css("left",x--);
    }
    if(x<=0){
      sx=0;
    }else if(x>=winx){
      sx=1;
    }
    if(sy==0){
      obj.css("top",y++);
    }else if(sy==1){
      obj.css("top",y--);
    }
    if(y<=0){
      sy=0;
    }else if(y>=winy){
      sy=1;
    }
  },1)
})

这里只是简单的效果,由此可引发多个问题:

1)如果多个方块出现,页面会不会卡顿呢?

2)如果要实现多个方块碰撞之后改变运动的位置,这个怎么做呢?

3)方块的初始位置能不能随机呢?

4)多个方块的速度怎样设置不一样呢

5)能不能做一个弹方块的小游戏?

总结

以上所述是小编给大家介绍的jQuery实现碰到边缘反弹的动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
JS/jquery实现一个网页内同时调用多个倒计时的方法
Apr 27 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
jQuery实现可拖动进度条实例代码
Jun 21 jQuery
jQuery实现拖动效果的实例代码
Jun 25 jQuery
jQuery:unbind方法的使用详解
Aug 14 jQuery
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
Nov 14 jQuery
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
jQuery中的for循环var与let的区别
Apr 21 jQuery
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
详解JQuery基础动画操作
Apr 12 jQuery
jquery实现的分页显示功能示例
Aug 23 jQuery
jQuery 改变P标签文本值方法
Feb 24 #jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 #jQuery
jquery 给动态生成的标签绑定事件的几种方法总结
Feb 24 #jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 #jQuery
jQuery动态添加li标签并添加属性和绑定事件方法
Feb 24 #jQuery
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 #jQuery
实现jquery放大镜的两种方法
Feb 22 #jQuery
You might like
php设计模式 Template (模板模式)
2011/06/26 PHP
用PHP去掉文件头的Unicode签名(BOM)方法
2017/06/22 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
40个有创意的jQuery图片和内容滑动及弹出插件收藏集之二
2011/12/31 Javascript
JavaScript自定义DateDiff函数(兼容所有浏览器)
2012/03/01 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
nodejs分页类代码分享
2014/06/17 NodeJs
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
JavaScript中利用Array和Object实现Map的方法
2015/07/27 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
Vue2.0学习之详解Vue 组件及父子组件通信
2017/12/12 Javascript
webpack3.0升级4.0的方法步骤
2020/04/02 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Python使用itertools模块实现排列组合功能示例
2018/07/02 Python
Django 请求Request的具体使用方法
2019/11/11 Python
Python底层封装实现方法详解
2020/01/22 Python
python的链表基础知识点
2020/09/13 Python
纯css3实现鼠标经过图片显示描述的动画效果
2014/09/01 HTML / CSS
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
环境工程求职简历的自我评价范文
2013/10/24 职场文书
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
食品安全责任书
2014/04/15 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
优秀员工推荐信
2014/05/10 职场文书
公务员岗前培训心得体会
2016/01/08 职场文书
小学英语教学反思范文
2016/02/15 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
Python道路车道线检测的实现
2021/06/27 Python