[에디터] CKeditor4.x 에디터 툴바 고정하기

페이지 정보

루루아빠 3,528 1 2016.05.24 01:32

평점

  • 평점 : 0점 (0명 참여)

본문

CKeditor4.x 에디터 사용시 본문이 길 경우 툴바 메뉴를 사용하기 위해 마우스 휠을 사용해야 하는 수고스러움이 있다.
그 수고스러움을 덜어보자

1. 그누보드5/plugin/CKeditor4.x/config.js 를 열어 소스 가장 하단 }; 바로 위쪽에 다음 소스를 추가한다.

window.CKEDITOR.on('instanceReady', function () {
    var toolbar = document.getElementsByClassName('cke_top').item(0),
                  boxTop = toolbar.getBoundingClientRect().top,
                  offsetTop = 45; // toolbar offset top

    window.addEventListener('scroll', function () {
        window.requestAnimationFrame(function () {
            var scrollTop =document.body.scrollTop;
            if ((scrollTop + offsetTop) > boxTop) {
                toolbar.style.top = scrollTop + offsetTop - boxTop + 'px';
            } else {
                toolbar.style.top = 0;
            }
        });
    }, false);
});
2. 동일 폴더 contents.css 를 열어 다음 스타일을 추가한다.

/* 긴 글 작성시 툴바 고정 - 추가 시작 */
.cke_top {
    position: relative;
    top: 0;
    left: 0;
    right: 0;
    will-change: top;
}
/* 추가 끝 */
추천인
  • 추천해 주세요
6
루루아빠 - 회원등급 : 최고관리자 - 포인트 : 1,289,778
레벨 96
경험치 1,386,756

Progress Bar 66%

- 가입일 : 2015-03-04 03:24:54
- 서명 : KNOW YOUR LIMITS BUT NEVER STOP TRYING TO EXCEED THEM !!
- 자기소개 : 루루의 자랑 루루아빠랍니다~~

댓글1

루루아빠님의 댓글

루루아빠 글쓴이 2016.06.01 01:35

상기 소스를 이용하는 것보다 플러그인을 활용하는 게 더 효과적이였다. http://ckeditor.com/addon/fixed 상기 애드온을 다운 받아 소스를 plugin.js 를 아래 소스롤 덮어 씌워 사용하자


/*
*   Plugin developed by Netbroad, C.B.
*   Improved by Argon
*
*   LICENCE: GPL, LGPL, MPL
*   NON-COMMERCIAL PLUGIN.
*
*   Website: netbroad.eu
*   Twitter: @netbroadcb
*   Facebook: Netbroad
*   LinkedIn: Netbroad
*
*/

CKEDITOR.plugins.add( 'fixed', {
    init: function( editor ) {
      editor.on('instanceReady', function (readyEvent) {
        if (CKEDITOR.toolbarFixer == undefined) {      // To prevent double activation - event listener and its handler should be set only once
          CKEDITOR.toolbarFixer = function toolbarFixerF(event) {
            for(var i=0; i document.body.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;

              toolbar.style.width = content.offsetWidth + "px";
              toolbar.style.top = "0px";
              toolbar.style.left = "0px";
              toolbar.style.right = "0px";
              toolbar.style.margin = "0 auto";
              toolbar.style.boxSizing = "border-box";

              if (editor.offsetTop <= scrollvalue && (editor.offsetTop + editor.offsetHeight) > (scrollvalue + toolbar.offsetHeight + 100)) {
                toolbar.style.position = "fixed";
                content.style.marginTop = toolbar.offsetHeight + "px";
              } else {
                toolbar.style.position = "relative";
                content.style.marginTop = "0px";
              }
            }
          };
          CKEDITOR.toolbarFixer.ckeRootNodes = [];
          window.addEventListener('scroll', CKEDITOR.toolbarFixer, false);
        }
        CKEDITOR.toolbarFixer.ckeRootNodes.push(readyEvent.editor.container.$);
        readyEvent.editor.container.$.getElementsByClassName('cke_top').item(0).style.zIndex = 100;    // For codemirror plugin compatibility
      });
    }
});

Total 7462138 페이지
제목 글쓴이 날짜 조회 추천
그누•영카트  🏆 그누보드 5.1.19 패치 루루아빠 2016.07.06 2,399 0
이윰  🏆 Eyoom Builder 1.2.5 패치 루루아빠 2016.06.10 2,526 0
이윰  🏆 익스 및 엣지 브라우저에서 모달(modal)창에 스크롤바가 하나 더 생기는 문제 루루아빠 2016.06.06 3,097 0
에디터  🏆 CKeditor4.x Toolbar Icon 순서 입맛대로 정렬하기 루루아빠 2016.06.04 2,994 0
기타  🏆 IE11에서 JWplayer7.x 가 로딩되지 않는 Setup timeout error 해결책 루루아빠 2016.06.01 4,572 0
CSS  🏆 webkit-transform 스타일이 마우스 오버시 보이는 flickering 증상 해결하기 루루아빠 2016.05.26 2,606 0
에디터  댓글+1🏆 🚩 CKeditor4.x 에디터 툴바 고정하기 루루아빠 2016.05.24 3,529 0
기타  댓글+1🏆 Jwplayer 7.X 타이머 팁의 플레이 타임이 세로로 나타날 때 해결책 루루아빠 2016.05.21 2,646 0
jQuery  댓글+1🏆 게시글 본문 내에 첨부된 이미지가 엑박으로 뜨는 경우 특정 이미지로 대체하기 루루아빠 2016.05.21 3,086 0
에디터  🏆 CKeditor4.x 이미지 첨부시 에디터에 맞게 반응형으로 만들기 루루아빠 2016.05.21 4,015 0
그누•영카트  🏆 영카트 5.1.18 패치 루루아빠 2016.05.17 2,636 0
그누•영카트  🏆 그누보드 5.1.18 패치 루루아빠 2016.05.17 2,394 0
그누•영카트  🏆 영카트 5.1.17 패치 루루아빠 2016.05.17 3,327 0
그누•영카트  🏆 그누보드 5.1.17 패치 루루아빠 2016.05.17 2,814 0
이윰  🏆 이윰레벨을 사용치 않고 그누레벨만 사용하기 루루아빠 2016.05.17 2,565 0
이윰  🏆 모달(modal) 슬라이드 다운 슬라이드 업 효과 없애기 루루아빠 2016.05.13 3,183 0
이윰  🏆 📸 여분필드를 활용한 간단한 게시판 입력 서식 만들기 루루아빠 2016.05.13 3,050 0
이윰  🏆 게시글 본문에 태그가 포함된 경우 검색시 그대로 노출되는 문제 해결 루루아빠 2016.05.13 2,266 0
이윰  댓글+1🏆 SELF-HOSTED로 Jwplayer7.x 사용시 외부 링크(jwpcdn.com)에서 스킨 가져오는 문제 루루아빠 2016.05.11 3,853 0
이윰  🏆 본문 내용 추출시 특정 태그 제거하기 루루아빠 2016.05.09 2,483 0