本文分享給你們一個用jquery開發的圖片漂浮效果。javascript
jquery圖片漂浮效果,常見的就是網頁裏四處漂來漂去的廣告了,漂到邊緣時還會反彈和拐彎。css
下面來看具體的代碼,先看要實現漂亮效果的這個jquery插件的源碼:java
(function($){ $.fn.adFloat=function(options){ return new AdFloat(this,options); } var AdFloat=function(element,options){ this.element=$(element); this.options=$.extend({ width:100, //默認的廣告的寬 height:150, //默認的廣告的高 top:0, //默認的廣告的Y座標 left:0, //默認的廣告的X座標 delay:30, //延遲 step:4 //默認的廣告每次移動的距離(像素) },options); this.interval=null; this.xPos=this.options.left; this.yPos=this.options.top; this.yon=0; this.xon=0; this.isPause=false; this.init(); }; AdFloat.prototype={ init:function(){ var me=this; me.element.css("display","block"); me.element.css({position:"absolute",left:me.options.left,top:me.options.top,width:me.options.width,height:me.options.height,overflow:"hidden"}) me.element.hover(function(){clearInterval(me.interval)},function(){me.interval=setInterval(function(){me.changePos();},me.options.delay);}); $(document).ready(function(){me.start();}); }, changePos:function(){ var me=this; var clientWidth=$(window).width(); var clientHeight=$(window).height(); var Hoffset=me.options.height; var Woffset=me.options.width; me.element.css({left:me.xPos+$(document).scrollLeft(),top:me.yPos+$(document).scrollTop()}); if(me.yon){ me.yPos=me.yPos+me.options.step; }else{ me.yPos=me.yPos-me.options.step; } if(me.yPos<0){me.yon=1;me.yPos=0;} if(me.yPos>=(clientHeight-Hoffset)){me.yon=0;me.yPos=(clientHeight-Hoffset);} if(me.xon){ me.xPos=me.xPos+me.options.step; }else{ me.xPos=me.xPos-me.options.step; } if(me.xPos<0){me.xon=1;me.xPos=0;} if(me.xPos>=(clientWidth-Woffset)){me.xon=0;me.xPos=(clientWidth-Woffset);} }, start:function(){ var me=this; me.element.css("top",me.yPos); me.interval=setInterval(function(){me.changePos();},me.options.delay); } } })(jQuery);
要使用的時候,也是很是簡單的:jquery
$(function(){ $("#aijquery").adFloat({width:161,height:55,top:0,left:0}) });