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 相关文章推荐
Angular2使用jQuery的方法教程
May 28 jQuery
jQuery、layer实现弹出层的打开、关闭功能
Jun 28 jQuery
js案例之鼠标跟随jquery版(实例讲解)
Jul 21 jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
使用vue与jquery实时监听用户输入状态的操作代码
Sep 19 jQuery
原生JS与jQuery编写简单选项卡
Oct 30 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
jQuery/JS监听input输入框值变化实例
Oct 17 jQuery
jQuery实现验证用户登录
Dec 10 jQuery
jquery实现手风琴案例
May 04 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
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
php利用cookies实现购物车的方法
2014/12/10 PHP
PHP array_reduce()函数的应用解析
2018/10/28 PHP
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
JS逆序遍历实现代码
2014/12/02 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
如何快速上手Vuex
2017/02/14 Javascript
详解使用angularjs的ng-options时如何设置默认值(初始值)
2017/07/18 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
浅谈React前后端同构防止重复渲染
2018/01/05 Javascript
详解node.js 下载图片的 2 种方式
2018/03/02 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
对vue里函数的调用顺序介绍
2018/03/17 Javascript
nodejs环境使用Typeorm连接查询Oracle数据
2019/12/05 NodeJs
Selenium执行Javascript脚本参数及返回值过程详解
2020/04/01 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
jQuery实现手风琴特效
2021/01/11 jQuery
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
Python 内置函数memoryview(obj)的具体用法
2017/11/23 Python
python实现快速排序的示例(二分法思想)
2018/03/12 Python
Python  Django 母版和继承解析
2019/08/09 Python
python3 pillow模块实现简单验证码
2019/10/31 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python 通过视频url获取视频的宽高方式
2019/12/10 Python
jupyter note 实现将数据保存为word
2020/04/14 Python
学生励志演讲稿
2014/01/06 职场文书
创业资金计划书
2014/02/06 职场文书
商务专员岗位职责范本
2014/06/29 职场文书
小学运动会宣传稿
2015/07/23 职场文书
JS封装cavans多种滤镜组件
2022/02/15 Javascript
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电
如何在Python中妥善使用进度条详解
2022/04/05 Python