mirror of
https://github.com/WilliamsNY/contain-element.git
synced 2024-11-22 06:04:10 -05:00
Perform better minification of the library
This commit is contained in:
parent
03185c7dfd
commit
a57c76b850
1 changed files with 1 additions and 9 deletions
10
contain-element.min.js
vendored
10
contain-element.min.js
vendored
|
@ -1,9 +1 @@
|
||||||
|
function containElement(e){function t(){var s=i.parentElement.offsetWidth,a=i.parentElement.offsetHeight;if(s&&a){if(n=s>a/(o*n)*l*n?s/l:a/o,i.style.width=l*n+"px",i.style.height=o*n+"px",l*n>s)switch(e.halign){case"left":i.style.left="0px";break;case"right":i.style.left=0-(l*n-s)+"px";break;default:i.style.left=0-(l*n-s)/2+"px"}else i.style.left="0px";if(o*n>a)switch(e.valign){case"top":i.style.top="0px";break;case"bottom":i.style.top=0-(o*n-a)+"px";break;default:i.style.top=0-(o*n-a)/2+"px"}else i.style.top="0px"}else window.setTimeout(t,30)}var n=1,i=document.getElementById(e.id),l=e.width||i.offsetWidth,o=e.height||i.offsetHeight;"absolute"!=i.style.position&&(i.style.position="absolute"),"hidden"!=i.parentElement.style.overflow&&(i.parentElement.style.overflow="hidden"),"relative"!=i.parentElement.style.position&&"absolute"!=i.parentElement.style.position&&"fixed"!=i.parentElement.style.position&&(i.parentElement.style.position="relative"),t(),window.onload=function(e){t()},window.onresize=function(e){t()},screen.addEventListener("orientationchange",function(){t()})}
|
||||||
function containElement(options){var scaleFactor=1;var element=document.getElementById(options.id);var elementWidth=options.width||element.offsetWidth;var elementHeight=options.height||element.offsetHeight;if(element.style.position!='absolute')
|
|
||||||
element.style.position='absolute';if(element.parentElement.style.overflow!='hidden')
|
|
||||||
element.parentElement.style.overflow='hidden';if(element.parentElement.style.position!='relative'&&element.parentElement.style.position!='absolute'&&element.parentElement.style.position!='fixed')
|
|
||||||
element.parentElement.style.position='relative';function scaleElement(){var parentWidth=element.parentElement.offsetWidth;var parentHeight=element.parentElement.offsetHeight;if((parentWidth)&&(parentHeight)){if(parentWidth>((parentHeight/(elementHeight*scaleFactor))*(elementWidth*scaleFactor)))
|
|
||||||
scaleFactor=(parentWidth/elementWidth);else
|
|
||||||
scaleFactor=(parentHeight/elementHeight);element.style.width=(elementWidth*scaleFactor)+'px';element.style.height=(elementHeight*scaleFactor)+'px';if(parentWidth<(elementWidth*scaleFactor)){switch(options.halign){case'left':element.style.left=0+'px';break;case'right':element.style.left=(0-((elementWidth*scaleFactor)-parentWidth))+'px';break;default:element.style.left=(0-(((elementWidth*scaleFactor)-parentWidth)/2))+'px';}}else{element.style.left=0+'px';}
|
|
||||||
if((elementHeight*scaleFactor)>parentHeight){switch(options.valign){case'top':element.style.top=0+'px';break;case'bottom':element.style.top=(0-((elementHeight*scaleFactor)-parentHeight))+'px';break;default:element.style.top=(0-(((elementHeight*scaleFactor)-parentHeight)/2))+'px';}}else{element.style.top=0+'px';}}else{window.setTimeout(scaleElement,30);}}
|
|
||||||
scaleElement();window.onload=function(event){scaleElement();};window.onresize=function(event){scaleElement();};screen.addEventListener('orientationchange',function(){scaleElement();});}
|
|
||||||
|
|
Loading…
Reference in a new issue