jquery页面弹球效果
EEEchoy 人气:0像windows屏保一样,实现小球在页面中的弹跳,并且随着页面的改变而改变
如下图:
源码
<!doctype html> <html><head> <meta charset="utf-8"> <title>无标题文档</title> </head> <style type="text/css"> *{ margin:0px; padding:0px;} #container{ width:800px; height:500px; background:#FFF; margin:0px auto; margin-top:100px;} #b1{ width:50px; height:50px; background-color:#FFCCCC; border-radius:100%; position:fixed; } #b2{ width:80px; height:80px; background-color:#9EC0C9; border-radius:100%; position:fixed; } #b3{ width:60px; height:60px; background-color:#336633; border-radius:100%; position:fixed; } </style> <script src="jquery-3.3.1.js"></script> <script type="text/javascript"> //调用移动浮窗方法并按顺序传入正确参数["obj",x,y,l,t,m],obj必填 /* move_w:能够移动的宽度 move_h:能够移动的高度 x:左右移动速度 y:上下移动速度 l:初始left的值 t:初始top的值 m:时间 */ function move_obj(obj, x, y, l, t, m) { if (obj == undefined) { alert("方法调用错误,请传入正确参数!"); return; } //当前浏览器窗口大小 move_w = $(window).width() ; move_h = $(window).height() ; //若浏览器窗口大小改变 $(window).resize(function() { move_w = $(window).width() ; move_h = $(window).height() ; }); //移动的速度和初始位置 x = (x == undefined || x == '') ? 3 : x; y = (y == undefined || y == '') ? 3 : y; l = (l == undefined || l == '') ? 0 : l; t = (t == undefined || t == '') ? 0 : t; m = (m == undefined || m == '') ? 80 : m; //移动 function moving() { if( l >= move_w - $(obj).width() || l < 0 ){ //如果碰到浏览器左右壁 x = -x; } if(t >= move_h - $(obj).height() || t < 0){ //如果碰到浏览器上下壁 y = -y; } l += x; t += y; $(obj).css({ //改变div的位置 left: l, top: t }); } var timer_move = setInterval(function() { moving(); }, m); $(obj).mouseover(function() { clearInterval(timer_move); }); $(obj).mouseout(function() { timer_move = setInterval(function() { moving(); }, m); }); } move_obj("#b1",30,10,300,300,100); move_obj("#b2"); move_obj("#b3",-20,30,600,500,50); </script> <body bgcolor="#FFFFFF"> <div id="b1"></div> <div id="b2"></div> <div id="b3"></div> </body> </html>
总结
1.$(window).resize()
监测窗口是否改变
2. 获取当前浏览器窗口大小
move_w = $(window).width() ;
move_h = $(window).height() ;
加载全部内容