차근차근/JAVA Script

자바스크립트 이미지 비율 유지 / 썸네일 크게 보이기

예쁜꽃이피었으면 2014. 9. 25. 10:35


function doShow(imgSrc){

var bi = document.getElementById("bigimage");

// var bi_width = bi.style.width;

// var bi_height =bi.style.height;

// var maxWidth = bi_width; // Max width for the image

//  var maxHeight = bi_height;    // Max height for the image

var maxWidth = 100; // Max width for the image

var maxHeight = 100;    // Max height for the image

var ratio = 0;  // Used for aspect ratio

    var width = $(this).width();    // Current image width

    var height = $(this).height();  // Current image height


    // Check if the current width is larger than the max

    if(width > maxWidth){

        ratio = maxWidth / width;   // get ratio for scaling image

        $(this).css("width", maxWidth); // Set new width

        $(this).css("height", height * ratio);  // Scale height based on ratio

        height = height * ratio;    // Reset height to match scaled image

        width = width * ratio;    // Reset width to match scaled image

        document.getElementById("bigimage").src = imgSrc;

    }


    // Check if current height is larger than max

    if(height > maxHeight){

        ratio = maxHeight / height; // get ratio for scaling image

        $(this).css("height", maxHeight);   // Set new height

        $(this).css("width", width * ratio);    // Scale width based on ratio

        width = width * ratio;    // Reset width to match scaled image

        

document.getElementById("bigimage").src = imgSrc;

    }

}








<img id="bigimage" src="${plant.bimg_file_name}"  width="100%"  height="auto;"></div>


<img  src="${plantimage.file_name}" width="64px" height="91px" onclick="doShow(this.src)"></a>  

==============>  

작은 이미지를 클릭하면 큰 이미지 대신에 비율에 맞게 넣고자 한다.

지금 큰이미지의 사이즈를 받아와서 작은 이미지가 큰 이미지의 사이즈로 변경이 되긴했지만

문제는 큰 이미지의 실제 사이즈를 받아왔으면 하는 것이지

width="100%"  height="auto;" 라고 그대로 읽어오는 것을 하려던 것이 아니다.

어떻게 해야 할까..









이렇게 해주심.

function doShow(imgSrc){

 

obj = $("#bigimage");

$("#bigimage").prop("src",imgSrc); 

//alert(global_width);

//autoImgResize('bigimage',global_width);

var width = 0, height = 0;

maxSize = global_width.replace("px","")-180;    

width = obj.prop("width");

height = obj.prop("height");

obj.attr("width",maxSize+"px");

obj.attr("height",Math.round(height * (maxSize / width))+"px");

//obj.prop("height",Math.round(height * (maxSize / width))+"px"); 

//alert(width+", "+ height+", "+maxSize);    

     

}


반응형

'차근차근 > JAVA Script' 카테고리의 다른 글

jquery 이미지 클릭 확대  (0) 2014.10.20
touchSlider  (0) 2014.10.14
자바스크립트 이미지 비율 유지  (0) 2014.09.25
자바스크립트 예제 모음  (0) 2014.09.25
[자바스크립트] 이미지 리사이징  (0) 2014.09.24