Jquery 全屏背景图类

简介:
Java代码   收藏代码
  1. (function(){  
  2. //作用域定义  
  3.     var xproject = this.xproject || function(){};  
  4.       
  5.     this.xproject = xproject;  
  6.     /* 
  7.     * @description全屏背景图类 xproject.fullBackBround({ bgImg : 'images/2014022709240529.jpg'}); 
  8.     * @param args 
  9.     * { 
  10.     *   $layer : jQuery 容器 
  11.     *   bgImg : String, //背景图片地址url,默认null   
  12.     *   zIndex : int //z-index值,默认-1 
  13.     * } 
  14.     */  
  15.     xproject.fullBackBround = function(args){  
  16.       
  17.         var $layer = args.$layer || $('body'),  
  18.               
  19.             $bg = $('<div class="full-bg" style="overflow:hidden;position:fixed;left:0;top:0;width:100%;height:100%;z-index:-1;"></div>').appendTo($layer);  
  20.       
  21.         full();  
  22.   
  23.         function full(){  
  24.           
  25.             if(args && typeof args == 'object'){  
  26.   
  27.                 if(args.zIndex){  
  28.                   
  29.                     $bg.css('z-index', args.zIndex);  
  30.                   
  31.                 }  
  32.               
  33.                 if(args.bgImg){  
  34.                   
  35.                     var img = new Image();  
  36.   
  37.                     img.src = args.bgImg;  
  38.   
  39.                     if(img.complete){  
  40.                       
  41.                         complete.call(img);  
  42.                       
  43.                     }else img.onload = function(){  
  44.   
  45.                         complete.call(thisthis.height / this.width);  
  46.                       
  47.                     };  
  48.                   
  49.                 }  
  50.               
  51.             }  
  52.       
  53.         }  
  54.   
  55.         function complete(per){  
  56.   
  57.             var width = parseInt($bg.width()),  
  58.                   
  59.                 height = parseInt($bg.height()),  
  60.                       
  61.                 norPer = height / width;  
  62.           
  63.             per = per || this.height / this.width;  
  64.   
  65.             if(per > norPer){  
  66.               
  67.                 height = Math.round(width * per);  
  68.               
  69.             }else if(norPer > per){  
  70.               
  71.                 width = Math.round(height / per);  
  72.               
  73.             }  
  74.   
  75.             this.width = width;  
  76.   
  77.             this.height = height;  
  78.               
  79.             $bg.empty().append($(this));  
  80.           
  81.         }  
  82.   
  83.         $(window).on({  
  84.           
  85.             resize : function(){  
  86.               
  87.                 full();  
  88.               
  89.             }  
  90.           
  91.         });  
  92.   
  93.         return {  
  94.           
  95.             //移除  
  96.             remove : function(){  
  97.               
  98.                 $bg.remove();  
  99.               
  100.             },  
  101.   
  102.             //获取页面元素  
  103.             getLayer : function(){  
  104.               
  105.                 return $bg  
  106.               
  107.             },  
  108.   
  109.             //显示  
  110.             show : function(){  
  111.               
  112.                 $bg.fadeIn('fast');  
  113.               
  114.             },  
  115.   
  116.             //隐藏  
  117.             hide : function(){  
  118.               
  119.                 $bg.fadeOut('fast');  
  120.               
  121.             },  
  122.   
  123.             //根据页面重置大小  
  124.             resize : function(){  
  125.               
  126.                 full();  
  127.               
  128.             },  
  129.   
  130.             //改变地址  
  131.             changeUrl : function(url){  
  132.               
  133.                 args.bgImg = url;  
  134.   
  135.                 full();  
  136.               
  137.             }  
  138.           
  139.         };  
  140.   
  141.     };  
  142.       
  143. })();  

 how2use

Java代码   收藏代码
  1. if(!this.imgBg) this.imgBg = new xproject.fullBackBround({$layer : this.$layer, bgImg : imgUrl});  
  2. this.imgBg.changeUrl(imgUrl);  
相关文章
|
7月前
|
JavaScript
jQuery fullpage.js 全屏分页以及动画使用
jQuery fullpage.js 全屏分页以及动画使用
39 0
|
7月前
|
JavaScript
jQuery fullpage.js 全屏分页以及动画使用
jQuery fullpage.js 全屏分页以及动画使用
33 0
|
JavaScript 前端开发 Java
【笔记10】JS的类、继承、Getter和Setter、jQuery的extend方法
最近要使用 Layui mini 单页版进行后台管理项目的前端页面的开发。完完全全使用 Layui 的模块化开发项目还是比较伤脑筋,所以我决定对 Layui mini 单页版进行自己的封装。封装需要了解 JS 相关的语法和知识点,该篇文章就是对封装过程中 JS 知识点的记录。 技术支持:https://www.runoob.com/js
226 0
【笔记10】JS的类、继承、Getter和Setter、jQuery的extend方法
|
JavaScript
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
JS/jQuery图片预览,支持旋转-放大-放小-全屏,例子demo
225 0
jquery-类操作和classname区别19
jquery-类操作和classname区别19
45 0
jquery-类操作和classname区别19
|
JavaScript
jquery插件-全屏滚动-54
jquery插件-全屏滚动-54
73 0
jquery插件-全屏滚动-54
|
JavaScript 前端开发
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件
125 0
jQuery(四)动画、类数组对象操作、添加自定义函数、封装自定义插件
|
前端开发 JavaScript 程序员
好程序员技术分享jQuery实现类似fullpage插件的全屏滚动效果
好程序员技术分享jQuery实现类似fullpage插件的全屏滚动效果。 结合网上的思路,加上我之前自己做的代码,代码有这几种功能: 1.头部和尾部的内容可以不用滚动,只要中间的滚动就行。 2.支持上一屏和下一屏的动画触发 3.
1071 0
|
JavaScript
jQuery全屏图片焦点图
在线演示 本地下载
680 0