0.1.1 • Published 5 years ago

jd-sticky v0.1.1

Weekly downloads
2
License
MIT
Repository
github
Last release
5 years ago

jdSticky API

  • Sticky 기능 구현.
  • 해당 영역에 맞는 탭 활성화 구현.
  • 부드러운 탭 이동 구현. (IE10+)

파일 구성

  • jdSticky.js : 순수 자바스크립트로 만든 플러그인. (IE9+)
  • jquery.jdSticky.js : 제이쿼리를 참조하는 플러그인. (IE8+)
  • xxx.module.js : ES6 모듈 적용 소스.

HTML

  • 레이어팝업 이동을 위한 버튼에 data-layer-id의 값을 레이어팝업 ID와 동일하게 부여.

<button type="button" data-layer-id="layer1">레이어팝업 열기</button>

  • 딤드는 dimmedEl 옵션에 부여한 값으로 클래스 설정.

<div class="dimmed"></div>

  • 레이어팝업은 id를 꼭 부여해야하며, 레이어팝업 닫기 버튼은 closeEl 옵션에 부여한 값으로 클래스 설정.
<div id="stickyNav">
    <nav class="nav">
        <!-- {secUse: true} 옵션 사용 시 ul(ol) 추가 -->
        <ul class="nav-list">
            <!-- href 속성에 이동시킬 각 섹션의 id를 기입 -->
            <li><a class="btn-move-sec" href="#sec1">1</a></li>
            <li><a class="btn-move-sec" href="#sec2">2</a></li>
            <li><a class="btn-move-sec" href="#sec3">3</a></li>
            <li><a class="btn-move-sec" href="#sec4">4</a></li>
        </ul>
    </nav>
</div>

<!-- 섹션 -->
<section id="sec1"></section>
<section id="sec2"></section>
<section id="sec3"></section>
<section id="sec4"></section>

JS

  • 기본구조
var sticky = new JdSticky('#stickyNav', {
    secUse: true
    ...
});
  • 옵션값
속 성내 용기본값타 입비 고
$delegate클릭을 통한 스크롤 시 보여지는 전체 레이아웃'.layout'CSS selectors
$parent내비게이션이 이동되어지는 영역parentNode(메뉴 부모 엘리먼트)CSS selectors
$child상황에 따라 포지션이 바뀌어야하는 영역firstElementChild(메뉴 자식 첫번째 엘리먼트)CSS selectors
$list스크롤에 따른 탭 변화 적용 시 사용될 리스트 영역'.nav-list'CSS selectorsul,ol 태그에만 가능
secUse스크롤에 따른 탭 이벤트 설정 여부falseboolean
setClass노출/비노출 토글 클래스명'on'classnamesecUse:true 일 시 사용
btnClass탭 버튼 클래스명'btn-move-sec'classnamesecUse:true 일 시 사용
duration탭 이동시 속도500numbersecUse:true 일 시 사용
easing탭 이동시 가속운동(transition-timing-function)'ease'stringsecUse:true 일 시 사용
$easing탭 이동시 가속운동($.animate easing)'swing'stringjquery.jdSticky.js 에서만 존재
callback콜백 함수function (isSticky) {}functionparam : sticky 구간 유무