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 ajax异步跨域的问题
Jan 08 jQuery
jquery动态添加带有样式的HTML标签元素方法
Feb 24 jQuery
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
jQuery+css last-child实现选择最后一个子元素操作示例
Dec 10 jQuery
jQuery基于随机数解决中午吃什么去哪吃问题示例
Dec 29 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
详解webpack引用jquery(第三方模块)的三种办法
Aug 21 jQuery
layui+jquery支持IE8的表格分页方法
Sep 28 jQuery
jquery制作的移动端购物车效果完整示例
Feb 24 jQuery
jquery更改元素属性attr()方法操作示例
May 22 jQuery
jQuery实现动态操作table行
Nov 23 jQuery
jQuery+ajax实现文件上传功能
Dec 22 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中文URL编解码(urlencode()rawurlencode()
2010/07/03 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
解析js原生方法创建表格效率测试
2013/07/08 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
javascript产生随机数方法汇总
2016/01/25 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
微信小程序实现登录遮罩效果
2018/11/01 Javascript
django数据库migrate失败的解决方法解析
2018/02/08 Python
python迭代dict的key和value的方法
2018/07/06 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
使用python进行拆分大文件的方法
2018/12/10 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
Python使用pandas对数据进行差分运算的方法
2018/12/22 Python
Python的Tkinter点击按钮触发事件的例子
2019/07/19 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
2019/08/31 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
HTML5实现简单图片上传所遇到的问题及解决办法
2016/01/20 HTML / CSS
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
副总经理工作职责
2013/11/28 职场文书
学期研究性学习个人的自我评价
2014/01/09 职场文书
全神贯注教学反思
2014/02/03 职场文书
大学军训感言1500字
2014/03/09 职场文书
新学期决心书
2014/03/11 职场文书
五水共治一句话承诺
2014/05/30 职场文书
幼儿园门卫岗位职责范本
2014/07/02 职场文书
先进班组材料范文
2014/12/25 职场文书
考察邀请函范文
2015/01/31 职场文书
研讨会通知
2015/04/27 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
mysql自增长id用完了该怎么办
2022/02/12 MySQL
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫