diff --git a/addons/resize_image/js/resize_image.js b/addons/resize_image/js/resize_image.js
index 091f1f828..dd3ecd111 100644
--- a/addons/resize_image/js/resize_image.js
+++ b/addons/resize_image/js/resize_image.js
@@ -132,6 +132,7 @@ function getScreen() {
$(document).scroll(xScreen.xeHide);
$(document).keydown(xScreen.xeHide);
$(window).resize(xScreen.xeHide);
+ $(window).scroll(xScreen.xeHide);
} else {
controls = $("#xe_gallery_controls");
imgframe = $("#xe_gallery_holder");
@@ -156,43 +157,19 @@ function slideshow(event) {
xScreen.xeShow();
}
-// 이미지를 리사이즈 하는 함수
-function resize(event) {
- var img = event.data[0];
- var img_width = parseInt(event.data[1]);
- var img_height = parseInt(event.data[2]);
- var img_src = event.data[3];
- var dummy = $("
").css({height:"1px",overflow:"hidden",opacity:0,display:"block"});
- var newWidth = -1;
-
- // 더미 객체를 넣어서 너비 구하기
- img.before(dummy);
- newWidth = dummy.innerWidth();
- dummy.remove();
-
- // 리사이즈 및 경로 지정
- if (img_width <= 0) img_width = $(this).attr("width");
- if (img_height <= 0) img_height = $(this).attr("height");
- if (img_width > newWidth) {
- img_height = newWidth * img_height/img_width;
- img_width = newWidth;
- }
- img.attr({width:img_width,height:img_height,src:img_src});
-
- // 링크가 설정되어 있거나 onclick 이벤트가 부여되어 있으면 원본 보기를 하지 않음
- if ( img.parent("a").size() || img.attr("onclick") ) return;
-
- // 스타일 설정
- img.css("cursor", "pointer");
-
- // 클릭하면 슬라이드쇼 시작
- img.click(slideshow);
-}
-
-$(document).ready(function(){
+$(window).load(function(){
var regx_skip = /(?:modules|addons|classes|common|layouts|libs|widgets)/i;
var regx_parent = /(?:document|comment)_[0-9]+_[0-9]+/i;
+ var xe_content = $(".xe_content");
+ var overflow = xe_content.css("overflow");
+ var width = xe_content.css("width");
+ xe_content.css("overflow","hidden");
+ xe_content.css("width","100%");
+ var offsetWidth = xe_content.attr("offsetWidth");
+ xe_content.css("overflow",overflow);
+ xe_content.css("width",width);
+
// 이미지 목록을 가져와서 리사이즈
$(".xe_content img").each(function(){
var img = $(this);
@@ -205,13 +182,23 @@ $(document).ready(function(){
// 커스텀 속성 추가
img.attr("rel", "xe_gallery");
-
- // 크기를 줄인다.
- img.attr({src:"about:blank", width:16,height:16});
-
- // 이미지를 다 읽어들이면 리사이즈
- $("
![]()
").bind("load", [img, width, height, src], resize).attr("src", src);
+
+ // 크기를 계산한다
+ if(width>offsetWidth) {
+ img.attr("width",offsetWidth-1);
+ img.attr("height",parseInt(offsetWidth/width*height,10));
+ }
+
+ // 링크가 설정되어 있거나 onclick 이벤트가 부여되어 있으면 원본 보기를 하지 않음
+ if ( !img.parent("a").size() && !img.attr("onclick") ) {
+ // 스타일 설정
+ img.css("cursor", "pointer");
+
+ // 클릭하면 슬라이드쇼 시작
+ img.click(slideshow);
+ }
+
});
});
-})(jQuery);
\ No newline at end of file
+})(jQuery);
diff --git a/addons/resize_image/resize_image.addon.php b/addons/resize_image/resize_image.addon.php
index c62c419e2..dab03da71 100644
--- a/addons/resize_image/resize_image.addon.php
+++ b/addons/resize_image/resize_image.addon.php
@@ -7,7 +7,7 @@
* @brief 본문내 이미지 조절 애드온
**/
- if($called_position == 'after_module_proc' && Context::getResponseMethod()!="XMLRPC") {
+ if($called_position == 'after_module_proc' && Context::getResponseMethod()=="HTML") {
Context::loadJavascriptPlugin('ui');
Context::addJsFile('./addons/resize_image/js/resize_image.js',false);
}