jQuery和CSS3类似PPT的演讲稿幻灯片插件_html/css_WEB-ITnose
简要教程
这是一款简单的使用jQuery和CSS3制作类似PPT的演讲稿幻灯片插件。该演讲稿幻灯片插件可以通过键盘上下左右方向键来控制,并且左上角带有菜单按钮,通过菜单项可以选择相应的幻灯片页面。
查看演示 下载插件
使用方法
HTML结构
该演讲稿幻灯片的HTML结构有2个主要的部分:一个
<div class="cd-slideshow-wrapper"> <nav class="cd-slideshow-nav"> <button class="cd-nav-trigger"> Open Navigation <span aria-hidden="true"></span> </button> <div class="cd-nav-items"> <ol> <li><a href="#slide-1">Slide 1</a></li> <li> <a href="#slide-2">Slide 2</a> <ol class="sub-nav"> <li><a href="#slide-2">Slide 2 - Sub 1</a></li> <!-- other sub-slide links here --> </ol> </li> <li><a href="#slide-3">Slide 3</a></li> <!-- other slide links here --> </ol> </div> <!-- .cd-nav-items --> </nav> <!-- .cd-slideshow-nav --> <ol class="cd-slideshow"> <li class="visible" id="slide-1"> <div class="cd-slider-content"> <div class="content-wrapper"> <h2 id="Presentation-Slideshow">Presentation Slideshow</h2> <p>A simple presentation template in CSS & jQuery.</p> </div> </div> </li> <li id="slide-2"> <ol class="sub-slides"> <li> <div class="cd-slider-content"> <div class="content-wrapper"> <h2 id="Slider">Slider #2</h2> </div> </div> </li> <!-- sub-slides content here --> </ol> <!-- .sub-slides --> </li> <!-- additional slides here --> </ol> <!-- .cd-slideshow --></div> <!-- .cd-slideshow-wrapper -->
CSS样式
在小屏幕设备中(视口小于1100像素),插件会将所有的幻灯片项目优化为一个列表。对于右子项目的幻灯片,插件中实现了一个可以触摸滑动的slider,优化可以滑动来查看显示子项目。
.cd-slideshow .sub-slides { width: 100%; transition: transform 0.3s;}.cd-slideshow > li, .cd-slideshow .sub-slides > li { position: relative; z-index: 1; height: 100vh; width: 100vw;}.cd-slideshow .sub-slides > li { float: left;}
带子项目的有序列表项的宽度使用JavaScript来设置。当用户从一个子项目导航到前一个或前一个子项目的时候,插件会沿X轴移动.sub-slides元素。
在大屏幕设备中,.cd-slideshow-wrapper元素的高度被设置为100vh,并设置为overflow:hidden,所以只有在视口中的幻灯片是可见的。然后.cd-slider-content元素被设置宽度、高度和margin使它相对于视口居中。
.visible class类用于添加到当前可见的幻灯片上:它的作用是隐藏.cd-slider-content::after伪元素(该伪元素用于在幻灯片聚焦时改变页面背景色)以及显示幻灯片的内容。
@media only screen and (min-width: 1100px) { .cd-slideshow-wrapper { height: 100vh; overflow: hidden; } .cd-slideshow { transition: transform 0.6s; } .cd-slideshow > li, .cd-slideshow .sub-slides > li { height: auto; width: auto; } .cd-slider-content { height: 84vh; width: 90vw; margin: 2vh 5vw; border-radius: 10px; cursor: pointer; } .visible .sub-visible .cd-slider-content, .visible > .cd-slider-content { /* visible slide */ cursor: auto; } .cd-slideshow > li:first-of-type .cd-slider-content { margin-top: 8vh; } .sub-slides > li:first-of-type .cd-slider-content { margin-left: 5vw; } .sub-slides > li .cd-slider-content { margin-left: 1.25vw; margin-right: 1.25vw; } .cd-slider-content .content-wrapper { height: 100%; /* hide the slide content if the slide is not selected/visible */ opacity: 0; box-shadow: 0 6px 40px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.15); border-radius: inherit; transition: opacity 0.6s; } .cd-slider-content::after { /* this is used to change the slide background color when the slide is out of focus */ content: ''; position: absolute; z-index: 3; top: 0; left: 0; height: 100%; width: 100%; border-radius: inherit; background-color: #3a3a3a; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.1); opacity: 1; visibility: visible; transition: opacity 0.6s, visibility 0.6s; } .visible .cd-slider-content .content-wrapper { opacity: 1; } .visible .cd-slider-content::after { opacity: 0; visibility: hidden; }}
当用户从一个幻灯片页面导航到另一个幻灯片页面时,插件会使用JavaScript沿Y轴移动.cd-slideshow元素。
JavaScript
该演讲稿幻灯片可以通过2中方式来移动:使用键盘方向键和使用导航菜单。
幻灯片的导航菜单功能通过2个主要的函数来实现:updateSlide函数用于从当前幻灯片导航到下一个或前一个幻灯片,updateSubSlide函数用于从当前幻灯片子项导航到前一个或下一个子项目。例如updateSubSlide函数的代码如下:
function updateSubSlide(listItem, string, subSlide) { var translate, marginSlide = Number(listItem.find('.cd-slider-content').eq(0).css('margin-right').replace('px', ''))*6, windowWidth = window.innerWidth; windowWidth = ( mq == 'desktop' ) ? windowWidth - marginSlide : windowWidth; if( listItem.children('.sub-slides').length > 0 ) { var subSlidesWrapper = listItem.children('.sub-slides'), visibleSubSlide = subSlidesWrapper.children('.sub-visible'); if( string == 'nav' ) { /* we have choosen a new slide from the navigation */ var newSubSlide = subSlide; } else { var newSubSlide = (string == 'next') ? visibleSubSlide.next() : visibleSubSlide.prev(); } var newSubSlidePosition = newSubSlide.index(); translate = parseInt(- newSubSlidePosition*windowWidth); setTransformValue(subSlidesWrapper.get(0), 'translateX', translate + 'px'); visibleSubSlide.removeClass('sub-visible'); newSubSlide.addClass('sub-visible'); }} function setTransformValue(element, property, value) { element.style["-webkit-transform"] = property+"("+value+")"; element.style["-moz-transform"] = property+"("+value+")"; element.style["-ms-transform"] = property+"("+value+")"; element.style["-o-transform"] = property+"("+value+")"; element.style["transform"] = property+"("+value+")"; // ...}
来源jQuery之家

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이 기사는 HTML & lt; Progress & Gt에 대해 설명합니다. 요소, 그 목적, 스타일 및 & lt; meter & gt의 차이; 요소. 주요 초점은 & lt; progress & gt; 작업 완료 및 & lt; meter & gt; Stati의 경우

이 기사는 HTML & LT; Datalist & GT에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

이 기사는 HTML & lt; meter & gt에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

기사는 HTML5 크로스 브라우저 호환성을 보장하기위한 모범 사례에 대해 논의하고 기능 감지, 점진적 향상 및 테스트 방법에 중점을 둡니다.

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...
