#d9d9d9 5개의 스레드 ✕ 해제
이온디
이온디 7년 전
이전 글에서 select > option 태그로 이루어진 걸 div로 바꾸는 작업입니다. 셀렉트 커스텀 작업은 스타일을 입히기 위해서 HTML+JS+CSS 다 짜야하는게 귀찮은 일이긴 합니다. 기본적인 코드는 다음 링크에서 확인할 수 있습니다. https://codepen.io/eond/pen/GBPQOb PREVIEW http://happytown57.cafe24.com/info02 HTML <select name="" id="" onchange="if(this.value) loc… 이전 글에서 select > option 태그로 이루어진 걸 div로 바꾸는 작업입니다. 셀렉트 커스텀 작업은 스타일을 입히기 위해서 HTML+JS+CSS 다 짜야하는게 귀찮은 일이긴 합니다. 기본적인 코드는 다음 링크에서 확인할 수 있습니다. https://codepen.io/eond/pen/GBPQOb PREVIEW http://happytown57.cafe24.com/info02 HTML <select name="" id="" onchange="if(this.value) location.href=(this.value);"> <option value="{$val1['href']}" loop="$val['list']=>$key1,$val1" cond="$val1['link']" <!--@if($val1['selected'])-->selected<!--@end-->> {$val1['link']} </option> </select>CSS .select-hidden { display: none; visibility: hidden; padding-right: 10px; } .select { cursor: pointer; display: inline-block; position: relative; font-size: 14px; color: #000; width: 180px; height: 55px; } .select-styled { text-align:left; text-indent:30px; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-color: #fff; /*padding: 8px 15px;*/ line-height:55px; -moz-transition: all 0.2s ease-in; -o-transition: all 0.2s ease-in; -webkit-transition: all 0.2s ease-in; transition: all 0.2s ease-in; } .select-styled:after { content: ""; width: 0; height: 0; border: 5px solid transparent; border-color: #000 transparent transparent transparent; position: absolute; top: 26px; right: 10px; } .select-styled:hover { background-color: #fff; } .select-styled:active, .select-styled.active { background-color: #fff; } .select-styled:active:after, .select-styled.active:after { top: 9px; border-color: transparent transparent #fff transparent; } .select-options { display: none; position: absolute; top: 100%; right: 0px; left: -3px; z-index: 999; margin: 0; padding: 0; list-style: none; background-color: #fff; border-bottom:1px solid #d9d9d9; } .select-options li { margin: 0; padding: 12px 0; text-indent: 30px; text-align:left !important; border-top: 1px solid #d9d9d9; border-left: 1px solid #d9d9d9; -moz-transition: all 0.15s ease-in; -o-transition: all 0.15s ease-in; -webkit-transition: all 0.15s ease-in; transition: all 0.15s ease-in; display:block !important; width:184px; } .select-options li:hover { color: #000; background: #fff; } .select-options li[rel="hide"] { display: none; }JS (function($) { "user strict"; $('select').each(function(){ var $this = $(this), numberOfOptions = $(this).children('option').length; $this.addClass('select-hidden'); $this.wrap('<div class="select"></div>'); $this.after('<div class="select-styled"></div>'); var $styledSelect = $this.next('div.select-styled'); $styledSelect.text($this.children('option:selected').eq(0).text()); var $list = $('<ul />', { 'class': 'select-options' }).insertAfter($styledSelect); for (var i = 0; i < numberOfOptions; i++) { $('<li />', { text: $this.children('option').eq(i).text(), rel: $this.children('option').eq(i).val() }).appendTo($list); } var $listItems = $list.children('li'); $styledSelect.click(function(e) { e.stopPropagation(); $('div.select-styled.active').not(this).each(function(){ $(this).removeClass('active').next('ul.select-options').hide(); }); $(this).toggleClass('active').next('ul.select-options').toggle(); }); $listItems.click(function(e) { e.stopPropagation(); $styledSelect.text($(this).text()).removeClass('active'); $this.val($(this).attr('rel')); $list.hide(); var url = $(this).attr('rel'); // get selected value if (url) { // require a URL window.location = url; // redirect } return false; //console.log($this.val()); }); $(document).click(function() { $styledSelect.removeClass('active'); $list.hide(); }); }); })(jQuery);
이온디
이온디 7년 전
HTML<div class="breadcrumbbox"> <div class="container"> <ul loop="$main_menu->list=>$key,$val" cond="$val['selected']"> <li><a href="/"><i class="xi-home"></i></a></li> <li><span><b><a loop="$main_menu->list=>$key1,$val1" cond="$val1['selected']" href="… HTML<div class="breadcrumbbox"> <div class="container"> <ul loop="$main_menu->list=>$key,$val" cond="$val['selected']"> <li><a href="/"><i class="xi-home"></i></a></li> <li><span><b><a loop="$main_menu->list=>$key1,$val1" cond="$val1['selected']" href="{$val1['href']}" class="on">{$val1['link']}</a></b></span></li> <li cond="$val['list']"> <select name="" id="" onchange="if(this.value) location.href=(this.value);"> <option value="{$val1['href']}" loop="$val['list']=>$key1,$val1" cond="$val1['link']" <!--@if($val1['selected'])-->selected<!--@end-->> {$val1['link']} </option> </select> </li> </ul> </div> </div> CSS.breadcrumbbox{border-bottom:1px solid #d9d9d9;} .breadcrumbbox ul{margin:0;padding:0;} .breadcrumbbox li{list-style:none;border-right:1px solid #d9d9d9;display:inline-block;min-width:60px;text-align:center;height:55px;line-height:55px;vertical-align:middle;padding:0 10px;box-sizing:border-box} .breadcrumbbox i{font-size:20px;} .breadcrumbbox select{ border:0; -webkit-appearance: none; -moz-appearance: none; text-indent: 1px; text-overflow: ''; padding-right:17px; } .breadcrumbbox li:last-child:after{ content: ""; display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #000; position: relative; left: -15px; top: -2px; /*content:"";border-left:1px solid #a4a4a4;display:inline-block;width:.1rem;height:.9rem;margin:0 .6rem;*/ } .breadcrumbbox select::-ms-expand { display: none; } .breadcrumbbox > .container{border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;} 참 이런 코드들도 모듈화해서 작업하면 수월할 듯 싶네요. PREVIEWhttp://happytown57.cafe24.com/gallery03
이온디
이온디 7년 전
HTML<div class="breadcrumbbox"> <div class="container"> <ul loop="$main_menu->list=>$key,$val" cond="$val['selected']"> <li><a href="/"><i class="xi-home"></i></a></li> <li><span><b><a loop="$main_menu->list=>$key1,$val1" cond="$val1['selected']" href="… HTML<div class="breadcrumbbox"> <div class="container"> <ul loop="$main_menu->list=>$key,$val" cond="$val['selected']"> <li><a href="/"><i class="xi-home"></i></a></li> <li><span><b><a loop="$main_menu->list=>$key1,$val1" cond="$val1['selected']" href="{$val1['href']}" class="on">{$val1['link']}</a></b></span></li> <li cond="$val['list']"> <select name="" id="" onchange="if(this.value) location.href=(this.value);"> <option value="{$val1['href']}" loop="$val['list']=>$key1,$val1" cond="$val1['link']" <!--@if($val1['selected'])-->selected<!--@end-->> {$val1['link']} </option> </select> </li> </ul> </div> </div> CSS.breadcrumbbox{border-bottom:1px solid #d9d9d9;} .breadcrumbbox ul{margin:0;padding:0;} .breadcrumbbox li{list-style:none;border-right:1px solid #d9d9d9;display:inline-block;min-width:60px;text-align:center;height:55px;line-height:55px;vertical-align:middle;padding:0 10px;box-sizing:border-box} .breadcrumbbox i{font-size:20px;} .breadcrumbbox select{ border:0; -webkit-appearance: none; -moz-appearance: none; text-indent: 1px; text-overflow: ''; padding-right:17px; } .breadcrumbbox li:last-child:after{ content: ""; display: inline-block; width: 0; height: 0; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid #000; position: relative; left: -15px; top: -2px; /*content:"";border-left:1px solid #a4a4a4;display:inline-block;width:.1rem;height:.9rem;margin:0 .6rem;*/ } .breadcrumbbox select::-ms-expand { display: none; } .breadcrumbbox > .container{border-left:1px solid #d9d9d9;border-right:1px solid #d9d9d9;} 참 이런 코드들도 모듈화해서 작업하면 수월할 듯 싶네요. PREVIEWhttp://happytown57.cafe24.com/gallery03
이온디
이온디 9년 전
Posted at 2009/02/12 11:32 [ by Lovelet ] 1. 관련링크1를 참조하여 스마트에디터를 다운로드 합니다. 2. 압축을 해제한 후 홈페이지 계정/bbs/SmartEditor로 업로드 합니다. 3. 적용하고자 하시는 스킨의 write.php파일을 에디터로 여세요. 4. 가장 윗부분에 아래의 소스를 붙여 넣으세요. <script type="text/javascrip… Posted at 2009/02/12 11:32 [ by Lovelet ] 1. 관련링크1를 참조하여 스마트에디터를 다운로드 합니다. 2. 압축을 해제한 후 홈페이지 계정/bbs/SmartEditor로 업로드 합니다. 3. 적용하고자 하시는 스킨의 write.php파일을 에디터로 여세요. 4. 가장 윗부분에 아래의 소스를 붙여 넣으세요. <script type="text/javascript" src="SmartEditor/js/HuskyEZCreator.js"></script> 5. 아래의 소스를 찾으셔서 value값을 수정하세요. <?=$hide_html_start?><input type=checkbox name=use_html checked <?=$use_html?> value=2>HTML 사용<?=$hide_html_end?> 6. 기본 스킨 기준으로 아래의 소스를 수정하세요. <textarea name=memo <?=size2(90)?> rows=18 class=textarea style=width:99%><?=$memo?></textarea> <textarea name=memo id="ir1" <?=size2(90)?> rows=18 class=textarea style='width:99%;'><?=$memo?></textarea> 7. 작성완료 부분을 아래처럼 이벤트를 추가해주세요. <input type=image src=<?=$dir?>/submit.gif accesskey="s" onfocus='this.blur()' alt=확인 onClick="_onSubmit(this);"> 8. 제일 하단에 아래의 소스를 추가합니다. (진한 부분의 소스는 클립보드에 복사하는 소스로 필요없으시면 삭제하시면 됩니다.) <script> var oEditors = []; nhn.husky.EZCreator.createInIFrame(oEditors, "ir1", "SmartEditor/SEditorSkin.html", "createSEditorInIFrame"); // var oEditors = []; // 마지막 옵션은 체감 속도 증진을 위해서 페이지 로딩 완료시 까지 화면 표시를 하지 않는 옵션 입니다. // 개발 작업시에는 이 값을 false로 설정 하세요. // nhn.husky.EZCreator.createInIFrame(oEditors, "ir1", "SmartEditor/SEditorSkin.html", "createSEditorInIFrame", null, true); // 복수개의 에디터를 생성하고자 할 경우, 아래와 같은 방식으로 호출하고 oEditors.getById["ir2"]이나 oEditors[1]을 이용해 접근하면 됩니다. // nhn.husky.EZCreator.createInIFrame(oEditors, "ir2", "SEditorSkin.html", "createSEditorInIFrame", null, true); function pasteHTMLDemo(){ sHTML = "<span style='color:#FF0000'>이미지 등도 이렇게 삽입하면 됩니다.</span>"; oEditors.getById["memo"].exec("PASTE_HTML", [sHTML]); } function showHTML(){ alert(oEditors.getById["memo"].getIR()); } function _onSubmit(elClicked){ // 에디터의 내용을 에디터 생성시에 사용했던 textarea에 넣어 줍니다. oEditors.getById["ir1"].exec("UPDATE_IR_FIELD", []); <? if(!$member[no]) { ?> if(!document.getElementById("name").value) {return false;} if(!document.getElementById("password").value) {return false;} <? } ?> <? if($setup[use_category]) { ?> var myindex=document.write.category[1].selectedIndex; if (myindex<1) { alert('카테고리를 선택해 주세요.'); return false; } <? } ?> if(!document.getElementById("subject").value) {return false;} if(!document.getElementById("ir1").value) {alert('내용을 입력해 주세요.');return false;} var buf = document.getElementById("ir1"); var Range = buf.createTextRange (); Range.execCommand ("Copy"); alert("작성하신 글이 클립보드에 복사되었습니다."); // 에디터의 내용에 대한 값 검증은 이곳에서 document.getElementById("ir1").value를 이용해서 처리하면 됩니다. try{ elClicked.form.submit(); }catch(e){} } </script> 9. 스마트에디터를 잘 적용하기위해서 스타일을 적용시켜주어야 합니다. 스킨의 setup.php를 열고 아래와 같이 수정합니다. (또는 style.css파일에 해당 항목만 추가를 하셔도 됩니다. 아래의 팁은 해당 style.css파일만 수정하는 방법입니다.) .smartOutput{ font-size:12px; line-height:1.6; font-family:굴림, AppleGothic, Sans-serif;} /* 스마트 에디터의 풍부한 표현이 정상적으로 출력되도록 하려면 콘텐츠가 출력되는 곳에 이 클래스를 적용하여야 한다. 예를 들면 게시물 읽기 페이지의 본문이 이에 해당된다. */ .smartOutput p{ margin-top:7px; margin-bottom:7px;} .smartOutput blockquote.q1, .smartOutput blockquote.q2, .smartOutput blockquote.q3, .smartOutput blockquote.q4, .smartOutput blockquote.q5, .smartOutput blockquote.q6, .smartOutput blockquote.q7{ padding:10px; margin-left:15px; margin-right:15px;} .smartOutput blockquote.q1{ padding:0 10px; border-left:2px solid #ccc;} .smartOutput blockquote.q2{ padding:0 10px; background:url(../img/bg_qmark.gif) no-repeat;} .smartOutput blockquote.q3{ border:1px solid #d9d9d9;} .smartOutput blockquote.q4{ border:1px solid #d9d9d9; background:#fbfbfb;} .smartOutput blockquote.q5{ border:2px solid #707070;} .smartOutput blockquote.q6{ border:1px dashed #707070;} .smartOutput blockquote.q7{ border:1px dashed #707070; background:#fbfbfb;} .smartOutput sup{ font:10px Tahoma;} .smartOutput sub{ font:10px Tahoma;} .smartOutput table td{ padding:4px;} 이 소스를 style.css파일에 붙여넣습니다. 또는 setup.php파일(또는 view.php파일)에서 <link rel="stylesheet" type="text/css" href="../../SmartEditor/css/style.css" /> 이런 식으로 해주시면 되겠죠. 10. 그리고나서 스킨의 view.php파일을 열고, <?=$memo?>를 찾아줍니다. 아마 이 변수는 테이블에 둘러쌓여 있는데, 여기에 클래스를 지정해주시면 됩니다. <td><?=$memo?></td>인 경우 <td class="smartOutput"><?=$memo?></td> 11. 잘 적용이 되었는지 테스트해보시기 바랍니다. 기타 문의사항은 Web Q&A에 올려주시기 바랍니다. 진도 프레임웍은 이 곳에서 다운로드 : http://dev.naver.com/projects/jindo/download 태그가 적용이 안되신다면, 게시판 설정에서 html 사용권한의 레벨을 확인해보세요~ http://dev.naver.com/projects/smarteditor/download 인쇄하기 덧글(2) Commented by epikfan.co at 2009-07-29 08:50:32 감사합니다^6 다른님들 거 보면 계속 내용입력하라그러는데 작성완료가 문제였군요^^ 아무튼 감사합니다^6 IP 115.161.76.XXX Commented by fuzzionkai at 2009-10-30 12:44:50 안녕하세요. 올려주신 방법 보고 잘 올렸는데요. 이미지박스는 삽입이 안되요. --; 하하. 좀더 공부해야겠어요
이온디
이온디 12년 전
이온디 8번째 레이아웃 에디션, 컴팩트 레이아웃 포털형 레이아웃이지만 홈페이지의 아기자기한 맛을 느낄 수 있는 레이아웃. 개발 시기 : 2009.01.21~2009.02.14 개발 재개 : 2013.08.29~ 개발 중단하였으나, 클라이언트의 의뢰로 레이아웃 보수 및 개편 작업을 시작하기로 함. 업데이트 내역 # 이온디 컴팩트 ver.0.9 업데이트 내역 (2013.08.29) - 클라이언트 의뢰로 작업 재개 - 구문법을 신문법으로 재편 신문법 <load target="js/di… 이온디 8번째 레이아웃 에디션, 컴팩트 레이아웃 포털형 레이아웃이지만 홈페이지의 아기자기한 맛을 느낄 수 있는 레이아웃. 개발 시기 : 2009.01.21~2009.02.14 개발 재개 : 2013.08.29~ 개발 중단하였으나, 클라이언트의 의뢰로 레이아웃 보수 및 개편 작업을 시작하기로 함. 업데이트 내역 # 이온디 컴팩트 ver.0.9 업데이트 내역 (2013.08.29) - 클라이언트 의뢰로 작업 재개 - 구문법을 신문법으로 재편 신문법 <load target="js/display.js" /> <load target="js/fakeselect.js" /> 구문법 <!--%import("js/display.js")--> <!--%import("js/fakeselect.js")--> - 리셋 CSS 코드 추가 <load target="css/base.css" /> - 컬러셋 그린 추가 - 설정 네이밍 변경 logo_image > ci index_url > url background_image > bg - 레이아웃 설정문 줄임 {@$conf=$layout_info;} - HTML5 시멘틱웹 코딩 # 이온디 컴팩트 ver.0.8.4 업데이트 내역(2009.02.14) ver.0.8.4를 끝으로 잠정적 개발 중단 - 개발기간 : 2009-01-21~2009-02-14 - 배포일자 : 2013.03.15