jQuery와 CSS3를 활용해 만든 아주 멋진 접이식 카드 스타일 드롭다운 목록 상자 효과입니다. 관심 있는 친구들이 참고해 보세요
jQuery 드롭다운 목록 상자 효과는 각 목록 항목을 카드 스타일로 만들고 열고 닫습니다. 블라인드를 열고 닫는 느낌이 있고 효과도 너무 좋아서 여러분과 공유하고 싶습니다.
간략한 튜토리얼
HTML 구조
이 드롭다운 목록 상자 효과의 목록 항목은 열린 상태와 닫힌 상태를 전환하기 위해 순서가 지정되지 않은 목록을 사용하여 만들어집니다. . 요소는 하이퍼링크 요소입니다.
<p class="container"> <p class="card-drop"> <a class='toggle' href="#"> <i class='fa fa-suitcase'></i> <span class='label-active'>Everyting</span> </a> <ul> <li class='active'> <a data-label="Everyting" href="#"><i class='fa fa-suitcase'></i> Everyting</a> </li> ...... </ul> </p> </p>
CSS 스타일
a.toggle 요소는 드롭다운 목록의 열린 상태와 닫힌 상태를 전환하는 데 사용됩니다. 클릭 시 카드를 뒤집는 효과를 만들기 위해 변환 스타일: 보존-3d 속성으로 설정됩니다. 동시에 변환의 원점은Transform-Origin: 50% 0%;
.card-drop > a.toggle { position: relative; z-index: 100; -moz-backface-visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -moz-transform-origin: 50% 0%; -ms-transform-origin: 50% 0%; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -moz-transition: linear 0.1s; -o-transition: linear 0.1s; -webkit-transition: linear 0.1s; transition: linear 0.1s; }
그러나 활성화되면 X축을 따라 회전하고 :before 및 :after 의사 요소를 사용하여 모서리 삼각형 효과를 만듭니다.
.card-drop > a.toggle:active { -moz-transform: rotateX(60deg); -webkit-transform: rotateX(60deg); transform: rotateX(60deg); } .card-drop > a.toggle:active:after { -moz-transform: rotateX(180deg); -webkit-transform: rotateX(180deg); transform: rotateX(180deg); } .card-drop > a.toggle:before, .card-drop > a.toggle:after { content: ""; position: absolute; } .card-drop > a.toggle:before { right: 25px; top: 50%; margin-top: -2.5px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid rgba(0, 0, 0, 0.8); } .card-drop > a.toggle.active:before { transform: rotate(180deg); }
목록 항목을 전환할 때 jQuery를 사용하여 상단, 너비 및 여백-왼쪽 속성을 수정하여 항목을 표시하거나 숨길 수 있습니다. 그리고 CSS 애니메이션 전환 효과로 이즈아웃을 사용하세요.
.card-drop ul { position: absolute; height: 100%; top: 0; display: block; width: 100%; } .card-drop ul li { margin: 0 auto; -moz-transition: all, ease-out 0.3s; -o-transition: all, ease-out 0.3s; -webkit-transition: all, ease-out 0.3s; transition: all, ease-out 0.3s; position: absolute; top: 0; z-index: 0; width: 100%; } .card-drop ul li a { border-top: none; } .card-drop ul li a:hover { background-color: #4aa3df; color: #f3f9fd; } .card-drop ul li.active a { color: #fff; background-color: #258cd1; cursor: default; } .card-drop ul li.closed a:hover { cursor: default; background-color: #3498db; }
JavaScript
jQuery 코드에서 setClosed() 함수는 모든 목록 항목을 닫는 데 사용되며 기본적으로 닫혀 있습니다.
function setClosed() { li.each(function (index) { $(this).css('top', index * 4).css('width', width - index * 0.5 + '%').css('margin-left', index * 0.25 + '%'); }); li.addClass('closed'); toggler.removeClass('active'); } setClosed();
그런 다음 목록의 열린 상태와 닫힌 상태를 전환하는 .toggle 요소의 mousedown 이벤트를 수신합니다.
toggler.on('mousedown', function () { var $this = $(this); if ($this.is('.active')) { setClosed(); } else { $this.addClass('active'); li.removeClass('closed'); li.each(function (index) { $(this).css('top', 60 * (index + 1)).css('width', '100%').css('margin-left', '0px'); }); } });
마지막으로 각 목록 항목을 클릭하면 목록 항목의 내용이 첫 번째 항목으로 이동되고 전체 목록이 닫힙니다.
links.on('click', function (e) { var $this = $(this), label = $this.data('label'); icon = $this.children('i').attr('class'); li.removeClass('active'); if ($this.parent('li').is('active')) { $this.parent('li').removeClass('active'); } else { $this.parent('li').addClass('active'); } toggler.children('span').text(label); toggler.children('i').removeClass().addClass(icon); setClosed(); e.preventDefault; });
위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
타임라인 효과를 구현하는 jQuery 플러그인 Timelinr 정보
마우스가 지나갈 때 버퍼링된 애니메이션 그라데이션 효과로 DIV 상자를 팝업하는 JS 및 CSS
방법 javascript+css3 미니 게임에서 풍선 구현
위 내용은 효과를 얻기 위한 jQuery 및 CSS3 접이식 카드 드롭다운 목록 상자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!