jquery實(shí)現(xiàn)頁面彈球效果
本文實(shí)例為大家分享了jquery實(shí)現(xiàn)頁面彈球效果的具體代碼,供大家參考,具體內(nèi)容如下
像windows屏保一樣,實(shí)現(xiàn)小球在頁面中的彈跳,并且隨著頁面的改變而改變
如下圖:

源碼
<!doctype html>
<html><head>
<meta charset="utf-8">
<title>無標(biāo)題文檔</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">
?
? ??
? ? //調(diào)用移動(dòng)浮窗方法并按順序傳入正確參數(shù)["obj",x,y,l,t,m],obj必填
?? ?/*
?? ? ? move_w:能夠移動(dòng)的寬度
?? ? ? move_h:能夠移動(dòng)的高度
?? ? ? x:左右移動(dòng)速度
?? ? ? y:上下移動(dòng)速度
?? ? ? l:初始left的值
?? ? ? t:初始top的值
?? ? ? m:時(shí)間
?? ? ??
?? ?*/
? ? function move_obj(obj, x, y, l, t, m) {
? ? if (obj == undefined) {
? ? ? ? alert("方法調(diào)用錯(cuò)誤,請(qǐng)傳入正確參數(shù)!");
? ? ? ? return;
? ? }
?? ?
? ? //當(dāng)前瀏覽器窗口大小
? ? move_w = $(window).width() ;
? ? move_h = $(window).height() ;
?
? ? ?
? ? //若瀏覽器窗口大小改變
? ? $(window).resize(function() {?
? ? ? ? ?move_w = $(window).width() ;
? ? ? ? ?move_h = $(window).height() ;
? ? });
?
? ? //移動(dòng)的速度和初始位置
? ? 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;
?? ?
? ? //移動(dòng)
? ? 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>總結(jié)
1.$(window).resize()
監(jiān)測(cè)窗口是否改變
2. 獲取當(dāng)前瀏覽器窗口大小
move_w = $(window).width() ;
move_h = $(window).height() ;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
在css加載完畢后自動(dòng)判斷頁面是否加入css或js文件
使用jquery ui中的dialog()來顯示消息框,為了使方法方便調(diào)用,便加入了自動(dòng)判斷頁面是否加入了ui.js和ui.css,具體實(shí)現(xiàn)代碼如下2014-09-09
從零開始學(xué)習(xí)jQuery (七) jQuery動(dòng)畫實(shí)現(xiàn) 讓頁面動(dòng)起來
開發(fā)人員一直痛疼做動(dòng)畫. 但是有了jQuery你會(huì)瞬間成為別人(那些不知道jQuery的人)眼里的動(dòng)畫高手! 本文將介紹jQuery的動(dòng)畫相關(guān)函數(shù).原來做動(dòng)畫如此簡(jiǎn)單!2011-02-02
jQuery中g(shù)et和post方法傳值測(cè)試及注意事項(xiàng)
jQuery 的 get 和 post 方法有三個(gè)參數(shù):地址,數(shù)據(jù) 和回調(diào)函數(shù),剛剛做了幾個(gè)實(shí)驗(yàn),看看下面的代碼就清楚了2014-08-08
JQueryEasyUI之DataGrid數(shù)據(jù)顯示
在有的項(xiàng)目中,為了方便將數(shù)據(jù)庫中的某些定值儲(chǔ)存為指定的數(shù)字,怎么處理這種問題呢?下面小編通過一段代碼給大家介紹下,需要的朋友參考下2016-11-11
JQuery實(shí)現(xiàn)文字無縫滾動(dòng)效果示例代碼(Marquee插件)
本篇文章主要介紹了JQuery實(shí)現(xiàn)文字無縫滾動(dòng)效果示例代碼(Marquee插件),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03
jQuery基于函數(shù)重載實(shí)現(xiàn)自定義Alert函數(shù)樣式的方法
這篇文章主要介紹了jQuery基于函數(shù)重載實(shí)現(xiàn)自定義Alert函數(shù)樣式的方法,涉及jQuery函數(shù)重載及頁面元素屬性動(dòng)態(tài)操作的相關(guān)技巧,需要的朋友可以參考下2016-07-07
jQuery實(shí)現(xiàn)鼠標(biāo)響應(yīng)式淘寶動(dòng)畫效果示例
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)響應(yīng)式淘寶動(dòng)畫效果,涉及jQuery事件響應(yīng)及頁面元素屬性動(dòng)態(tài)操作相關(guān)使用技巧,需要的朋友可以參考下2018-02-02

