当前位置: 首页 > 编程笔记 >

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

章涵容
2023-03-14
本文向大家介绍jQuery实现碰到边缘反弹的动画效果,包括了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实现碰到边缘反弹的动画效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 本文向大家介绍js实现简单的碰壁反弹效果,包括了js实现简单的碰壁反弹效果的使用技巧和注意事项,需要的朋友参考一下 本文实例可以使用js来实现简单的碰壁反弹效果,具体的内容请大家参考代码部分。  其中movex和movey两个变量是判断运动的方向。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 到目前为止我们使用的示例其实都没有边界。也就是说,当形状移动到画布的边界处时,什么都没发生,它们只是消失在我们的视野中,再也看不见了。 这也许是你需要的效果。例如,如果你只是创建一段简短的动画,并且动画在到达边界之前就会停止,或者你希望形状移动到画布之外。 但是,如果你不需要这种行为怎么办?如果你希望形状能够感知周围的环境,或者在边界处反弹回来怎么办呢?这种行为可以避免机械性的动画,使动画更加自然

  • 我遵循Mozilla游戏开发教程,并在HTML5 Canvas和JS中制作了一个简单的突破游戏。 然而,我想放大画布,因为它有点小,所以我尝试了800x600画布。然后,我注意到对于这个新的画布大小来说,球有点慢。 最初在mozilla教程中,球的速度是2。我尝试使用3。因此,问题就来了。。。 当我使用每秒刷新60倍的requestAnimationFrame时,我们可以说我的球将每秒移动3 x

  • 问题内容: 我有一个表示网络拓扑结构的networkx弹簧布局。关键节点的颜色为红色,另一个为蓝色。到关键节点边缘的路线用短划线表示。如何在指定的时间间隔内为networkx边缘绘制动画? 问题答案: 尝试该模块。另请参阅这个很棒的教程,

  • 本文向大家介绍jQuery实现弹幕效果,包括了jQuery实现弹幕效果的使用技巧和注意事项,需要的朋友参考一下 效果如下: 代码如下: 以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

  • 本文向大家介绍JS简单实现动画弹出层效果,包括了JS简单实现动画弹出层效果的使用技巧和注意事项,需要的朋友参考一下 JS简单实现动画弹出层效果 以上所述就是本文的全部内容了,希望大家能够喜欢。

  • 本文向大家介绍jQuery实现图像旋转动画效果,包括了jQuery实现图像旋转动画效果的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码了,具体代码如下所示: 以上所述是小编给大家介绍的jQuery实现图像旋转动画效果,希望对大家有所帮助!

  • 我是非常非常新的写代码,但我希望有人可以帮助我与我的头脑中的几个函数! 我在Edge animate中制作了一个按钮,我想在操作中添加一些jQuery或额外的代码。 理想情况下(作为额外的),我真的希望它在交替点击时在两种状态之间切换。所以,点击1:从(a)点播放,点击2:从(b)点播放。...(a),(b),(a),(b),无限!然后整个事情应该在Mouseout上重置!! 那可能要做很多工作,