new ui member image js fix
This commit is contained in:
		
							parent
							
								
									4209356e9d
								
							
						
					
					
						commit
						81a89d2d7c
					
				| 
						 | 
				
			
			@ -0,0 +1,124 @@
 | 
			
		|||
/* ===================================================
 | 
			
		||||
 * jquery-lite-image-resize v.1.0.1
 | 
			
		||||
 * https://github.com/RayChang/jquery-lite-image-resize
 | 
			
		||||
 * ===================================================
 | 
			
		||||
 * How to use ?
 | 
			
		||||
 *
 | 
			
		||||
 * HTML element closest to the image to add class "resizeimg".
 | 
			
		||||
 * 
 | 
			
		||||
 * Example:
 | 
			
		||||
 * <div class="resizeimg">
 | 
			
		||||
 *     <img src="images url" />
 | 
			
		||||
 * </div>
 | 
			
		||||
 *
 | 
			
		||||
 * Or you can use:
 | 
			
		||||
 * $('your class').rsImg();
 | 
			
		||||
 *
 | 
			
		||||
 * Note : HTML structure must be a structure like the example above.
 | 
			
		||||
 * 
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
!function ($) {
 | 
			
		||||
 | 
			
		||||
    "use strict";
 | 
			
		||||
    
 | 
			
		||||
    var ResizeImg = function(element) {
 | 
			
		||||
        this.element = $(element);
 | 
			
		||||
        this.element.data('exists', true);
 | 
			
		||||
    };
 | 
			
		||||
    ResizeImg.prototype.resize = function() {
 | 
			
		||||
        var $img = this.element.children('img').eq(0),
 | 
			
		||||
            elW = this.element.innerWidth(),
 | 
			
		||||
            elH = this.element.innerHeight(),
 | 
			
		||||
            elScale = elW/elH,
 | 
			
		||||
            image = document.createElement("img");
 | 
			
		||||
        image.src = $img.attr('src');
 | 
			
		||||
        this.element.css({
 | 
			
		||||
            'position': 'relative',
 | 
			
		||||
            'overflow': 'hidden',
 | 
			
		||||
        });
 | 
			
		||||
        function imageLoadComplete() {
 | 
			
		||||
            var imgW = image.width,
 | 
			
		||||
                imgH = image.height,
 | 
			
		||||
                imgScale = imgW/imgH,
 | 
			
		||||
                portrait = {
 | 
			
		||||
                    'position': 'absolute',
 | 
			
		||||
                    'height': '100%',
 | 
			
		||||
                    'width': 'auto',
 | 
			
		||||
                    'max-width': 'none',
 | 
			
		||||
                    'left': '50%',
 | 
			
		||||
                    'top': 0,
 | 
			
		||||
                    'margin-left': imgW*(elH/imgH)/-2
 | 
			
		||||
                },
 | 
			
		||||
                landscape = {
 | 
			
		||||
                    'position': 'absolute',
 | 
			
		||||
                    'height': 'auto',
 | 
			
		||||
                    'max-height': 'none',
 | 
			
		||||
                    'width': '100%',
 | 
			
		||||
                    'left': 0,
 | 
			
		||||
                    'top': '50%',
 | 
			
		||||
                    'margin-top': imgH*(elW/imgW)/-2
 | 
			
		||||
                },
 | 
			
		||||
                center = {
 | 
			
		||||
                    'position': 'absolute',
 | 
			
		||||
                    'height': '100%',
 | 
			
		||||
                    'width': '100%',
 | 
			
		||||
                    'top': 0,
 | 
			
		||||
                    'left': 0
 | 
			
		||||
                };
 | 
			
		||||
            if(imgScale < 1) {
 | 
			
		||||
                if(elScale < 1) {
 | 
			
		||||
                    if(elScale > imgScale) {
 | 
			
		||||
                        $img.css(landscape);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        $img.css(portrait);
 | 
			
		||||
                    };
 | 
			
		||||
                } else {
 | 
			
		||||
                   $img.css(landscape); 
 | 
			
		||||
                };
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            if(imgScale > 1) {
 | 
			
		||||
                if(elScale > 1) {
 | 
			
		||||
                    if(elScale > imgScale) {
 | 
			
		||||
                        $img.css(landscape);
 | 
			
		||||
                    } else {
 | 
			
		||||
                        $img.css(portrait);
 | 
			
		||||
                    };
 | 
			
		||||
                } else {
 | 
			
		||||
                    $img.css(portrait);
 | 
			
		||||
                };
 | 
			
		||||
            };
 | 
			
		||||
 | 
			
		||||
            if(imgScale == 1) {
 | 
			
		||||
                if(elScale < 1) {
 | 
			
		||||
                    $img.css(portrait);
 | 
			
		||||
                } else if(elScale > 1) {
 | 
			
		||||
                    $img.css(landscape);
 | 
			
		||||
                } else {
 | 
			
		||||
                    $img.css(center);
 | 
			
		||||
                };
 | 
			
		||||
            };
 | 
			
		||||
            $img.fadeTo(500, 1);
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
        if(/MSIE 8.0/g.test($ua)) {
 | 
			
		||||
            imageLoadComplete();
 | 
			
		||||
        } else {
 | 
			
		||||
            image.onload = imageLoadComplete;
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    $.fn.rsImg = function () {    
 | 
			
		||||
        this.each(function () {
 | 
			
		||||
            if(!$(this).data('exists')) {
 | 
			
		||||
                $(this).children("img").fadeTo(0,0);
 | 
			
		||||
                new ResizeImg(this).resize();
 | 
			
		||||
            };
 | 
			
		||||
        });
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    $(function() {
 | 
			
		||||
        $('.resizeimg').rsImg();
 | 
			
		||||
    });
 | 
			
		||||
}(window.jQuery);
 | 
			
		||||
		Loading…
	
		Reference in New Issue