html
<!-- 이미지를 div로 감싸고 div에 다음과 같이 스타일을주고 크기를 고정시킨다. -->
<div style="position:relative;height:200px;width:200px;">
<!-- 이미지를 absolute로 설정하고 이미지가 로드될때 사이즈와 위치를 조절할 이벤트를 설정한다. -->
<img style="position:absolute;" src="test.jsp" onload="fitImage(this)">
</div>
script
// 이미지 사이즈 조절 및 가운데 정렬
function fitImage(obj){
var naturalWidth = obj.naturalWidth; // img 너비
var naturalHeight = obj.naturalHeight; // img 높이
var imgWidth = $(obj).parent().width(); // div 너비
var imgHeight = $(obj).parent().height(); // div 높이// (img 너비 / div 너비) 와 (img 높이 / div 높이) 를 이용해 비율을 구한다.
if(Math.abs(naturalWidth / imgWidth) < Math.abs(naturalHeight / imgHeight)){
// 작게 나온 쪽으로 크기를 100% 맞춘다.
$(obj).css('width', '100%')
// 너비가 100%일때 높이가 가변적이므로 top 속성을 이용해 높이를 구해 가운데로 위치시킨다.
var fitHeight = $(obj).height();
$(obj).css('top', ((imgHeight - fitHeight) / 2) + 'px');
$(obj).css('left', '0');
}else{
$(obj).css('height', '100%')
var fitWidth = $(obj).width();
$(obj).css('top', '0');
$(obj).css('left', ((imgWidth - fitWidth) / 2) + 'px');
}
'JavaScript & JQuery' 카테고리의 다른 글
[isotop.js] ajax 호출 후 isotop 적용 (0) | 2018.05.31 |
---|---|
[JavaScript] Android Mobile touch events(안드로이드 모바일 디바이스에서 터치이벤트) (0) | 2015.04.21 |
[JavaScript] Device 종류 확인하기 (0) | 2015.04.21 |
[JQuery] disabled 속성을 통해 활성화, 비활성화 설정하기 (0) | 2015.04.02 |
[JSON] Object 배열을 LocalStorage & SessionStorage에 저장하기 (1) | 2015.04.01 |