웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
-.- 이번에 jquery 갤러리를 달아보다, 기존에 있는 이미지 리사이징이나 인팝 이미지 뷰어가 필요없어서, 지워봤습니다.
굉장히 좋은 베니님의 lightbox 플러그인이 이미 제로보드에 있긴하지만 jquery를 쓰고 싶어서요 :)
혹 잘못된거가 있거나, 더 잘아시는 분들께서는 수정할수 있게 도와주세요 :)
이미지 뷰어 클릭만 안되게 하기
제로보드 폴더내의 /common/js/common.js 파일을 엽니다 (백업 잊지마세요!!)
255라인과 261 라인에 있는
xAddEventListener(obj,"click", showOriginalImage);
이 부분을 지워줍니다.
이렇게 하시면 이미지 리사이징은 여전히 되지만 인팝 뷰어는 안뜹니다.
코딩을 깨끗히 하시자면
352라인부터 시작하는
/**
* @brief 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
**/
function showOriginalImage(evt) {
부터 507라인까지의
xPreventDefault(evt);
origDragManager.obj = obj;
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
origImageDrag(obj, e.pageX, e.pageY);
}
요 부분까지 지워주시면 되겠습니다
이러시면 리사이징은 그대로 되겠지만, 클릭은 안됩니다.
리사이징도 안되게 하기
이미지 뷰어 클릭 지우는 법은 하지 마시고,
213라인쯤에 있는
/**
* @brief 화면내에서 상위 영역보다 이미지가 크면 리사이즈를 하고 클릭시 원본을 보여줄수 있도록 변경
**/
function resizeImageContents() {
이 부분부터
267라인까지 있는
}
}
}
xAddEventListener(window, "load", resizeImageContents);
요 부분까지 지워주시면 되겠습니다. 그리구
352라인부터 시작하는
/**
* @brief 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
**/
function showOriginalImage(evt) {
부터 507라인까지의
xPreventDefault(evt);
origDragManager.obj = obj;
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
origImageDrag(obj, e.pageX, e.pageY);
}
요 부분까지 지워주시면 되겠습니다.
다른 갤러리 달아보기 [이건 ㅡ.ㅡ 다른 갤러리등을 설치후에 하시는 부분입니다)
lytebox도 있고, 또 jgallery나 여러 갤러리들이 있는데 :) 이번에 새 프로젝트에 JGallery 도입이 필요해서 해봤습니다.
Lightbox 플러그인과 이미지 자동 샘플링 코드를 봤는데 ㅠ_ㅠ 너무 어려버서, 걍 무식하게 했습니다.
아시겠지만 :) 갤러리 스크립트 대부분들이 <a href="#####" rel=lightbox[#####]><img src="#####"></a> 이런식으로 들어가잖아요.
본문에 파일첨부후 삽입되는 이미지들에 한해서만 이미지 인터셉트 (intercept)가 필요했습니다.
그래서 /modules/editor/tpl/js/uploader.js 를 고쳤습니다.
319 라인쯤부터 있는
if(/\.(jpg|jpeg|png|gif)$/i.test(url)) {
var text = "<img editor_component=\"image_link\" src=\""+url+"\" alt=\""+file_obj.filename+"\" />";
editorReplaceHTML(iframe_obj, text);
이 부분을
if(/\.(jpg|jpeg|png|gif)$/i.test(url)) {
var text = "<a href=\""+url+"\" rel=\"jgallery[view]\"><img editor_component=\"image_link\" src=\""+url+"\" alt=\""+file_obj.filename+"\" /></a>";
editorReplaceHTML(iframe_obj, text);
이런식으로 바꿨습니다.
무하하하 잘되네요
뭐 다른 갤러리나 pdf 문서 올리기 등에도 응용하기 좋을거 같아 올려봅니다 :)
제가 미숙해서 지우면 안되는걸 지웠을 수도 있으니, 고수님들의 따끔한 조언 기다리겠습니다 :)
큰이미지 자동 리사이즈 안되게 하기 + 다른 갤러리 달아보기
2008.04.12 08:45
-.- 이번에 jquery 갤러리를 달아보다, 기존에 있는 이미지 리사이징이나 인팝 이미지 뷰어가 필요없어서, 지워봤습니다.
굉장히 좋은 베니님의 lightbox 플러그인이 이미 제로보드에 있긴하지만 jquery를 쓰고 싶어서요 :)
혹 잘못된거가 있거나, 더 잘아시는 분들께서는 수정할수 있게 도와주세요 :)
이미지 뷰어 클릭만 안되게 하기
제로보드 폴더내의 /common/js/common.js 파일을 엽니다 (백업 잊지마세요!!)
255라인과 261 라인에 있는
xAddEventListener(obj,"click", showOriginalImage);
이 부분을 지워줍니다.
이렇게 하시면 이미지 리사이징은 여전히 되지만 인팝 뷰어는 안뜹니다.
코딩을 깨끗히 하시자면
352라인부터 시작하는
/**
* @brief 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
**/
function showOriginalImage(evt) {
부터 507라인까지의
xPreventDefault(evt);
origDragManager.obj = obj;
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
origImageDrag(obj, e.pageX, e.pageY);
}
요 부분까지 지워주시면 되겠습니다
이러시면 리사이징은 그대로 되겠지만, 클릭은 안됩니다.
리사이징도 안되게 하기
이미지 뷰어 클릭 지우는 법은 하지 마시고,
213라인쯤에 있는
/**
* @brief 화면내에서 상위 영역보다 이미지가 크면 리사이즈를 하고 클릭시 원본을 보여줄수 있도록 변경
**/
function resizeImageContents() {
이 부분부터
267라인까지 있는
}
}
}
xAddEventListener(window, "load", resizeImageContents);
요 부분까지 지워주시면 되겠습니다. 그리구
352라인부터 시작하는
/**
* @brief 본문내에서 컨텐츠 영역보다 큰 이미지의 경우 원본 크기를 보여줌
**/
function showOriginalImage(evt) {
부터 507라인까지의
xPreventDefault(evt);
origDragManager.obj = obj;
xAddEventListener(document, 'mouseup', origImageDragMouseUp, false);
origImageDrag(obj, e.pageX, e.pageY);
}
요 부분까지 지워주시면 되겠습니다.
다른 갤러리 달아보기 [이건 ㅡ.ㅡ 다른 갤러리등을 설치후에 하시는 부분입니다)
lytebox도 있고, 또 jgallery나 여러 갤러리들이 있는데 :) 이번에 새 프로젝트에 JGallery 도입이 필요해서 해봤습니다.
Lightbox 플러그인과 이미지 자동 샘플링 코드를 봤는데 ㅠ_ㅠ 너무 어려버서, 걍 무식하게 했습니다.
아시겠지만 :) 갤러리 스크립트 대부분들이 <a href="#####" rel=lightbox[#####]><img src="#####"></a> 이런식으로 들어가잖아요.
본문에 파일첨부후 삽입되는 이미지들에 한해서만 이미지 인터셉트 (intercept)가 필요했습니다.
그래서 /modules/editor/tpl/js/uploader.js 를 고쳤습니다.
319 라인쯤부터 있는
if(/\.(jpg|jpeg|png|gif)$/i.test(url)) {
var text = "<img editor_component=\"image_link\" src=\""+url+"\" alt=\""+file_obj.filename+"\" />";
editorReplaceHTML(iframe_obj, text);
이 부분을
if(/\.(jpg|jpeg|png|gif)$/i.test(url)) {
var text = "<a href=\""+url+"\" rel=\"jgallery[view]\"><img editor_component=\"image_link\" src=\""+url+"\" alt=\""+file_obj.filename+"\" /></a>";
editorReplaceHTML(iframe_obj, text);
이런식으로 바꿨습니다.
무하하하 잘되네요
뭐 다른 갤러리나 pdf 문서 올리기 등에도 응용하기 좋을거 같아 올려봅니다 :)
제가 미숙해서 지우면 안되는걸 지웠을 수도 있으니, 고수님들의 따끔한 조언 기다리겠습니다 :)
댓글 3
-
gnee
2008.04.13 10:56
-
tklee
2008.04.14 10:10
아~ 리미 개발자 시군요.
리미 사이트 보고 감동 받고 그 곳에서 구현되고 있는 라이트 박스 활용법을 알고 싶어서
검색하다 이 게시물 까지 보게 되네요. 더 이상 해매지 말고 리미님에게 여쭤 봐야 겠어요
리미 사이트에 라이트박스 형식으로 웹문서도 열리게 하는 법이요 어떻게 하셨나요.
라이트 박스 애드온을 사용하신거 같기도 하고.....
그리고 위에 내용 보니까요 pdf 문서 올리기 등에도 응용할수 있을것 같다고 해서 저도 그 부분을 활용해 보고 싶어서요.
여러가지 미숙해서 도움 부탁드립니다. 라이트 박스 알고 보니 활용도가 많을것 같네요.
아이프레임을 사용하는 것 보다 더 이쁜거 같고요. *^^*
그럼 좋은 하루 되셔요. -
Clanss
2008.04.15 08:00
=ㅇ=; 제가 설명을 잘 못해서 주불주불 ㅎㅎㅎ
그니님 > jquery는 자바스크립트의 제로보드와 같은것이에요. 일일이 게시판 만들고, 회원시스템을 만들자면 시간이나 인력이 많이 들겠지만, 제로보드를 사용하면 상당히 간단해지겠죠? jquery는 자바스크립트들을 여러개 묶어 놓고, 간단한 명령어로 통합적으로 붙여놓는 작업을 해주는거에요.
script.aculo.us (주소가 확실한지는 ㅡ.ㅡ)나 jquery.com 같은곳 가시면 여러 이펙트를 보실수 있어요. 요즘 인팝들 많이 쓰잖아요. 플래쉬도 아닌데 이쁜 이펙트들 쓰는 사이트들도 종종 보이고. 그런곳들은 십중팔구 이 스크립트 팩들을 쓰는거에요.
코드 수정하시면 큰 이미지 넣었을때 창이 안뜨게 하는거 뿐이에요 :)
밑에 스크린샷은 큰이미지 넣었을때 창 안뜨게 하고, jquery나 script.aculo,us의 갤러리 스크립트를 합쳐서 넣었을때 자동으로 나오게 하는 부분이구요.
tklee님> lightbox 스크립트를 수정한게 아니구요, iframe을 나오게 하는 스크립트들이 많아요. lytebox도 그렇고, modal window도 그렇구요. 그냥 board.js에 붙이면 안되고 tpl에 붙이니까 되더라구요. 그런식으로 해서 각 페이지들을 iframe에 띄우는겁니다 :)
쿨럭 'ㅅ';
이해가 안되서 그런데요..
jquery 라는것이 무엇이죠?
베니님의 라이트박스는 이해가 갑니다..ㄷㄷ
코드 수정하면 스크린샷처럼 응용이 가능하시다는건지, 아니면 스크린샷처럼 된다는것인가요?