Ignite UI for Web Components 캐러셀은 텍스트 슬라이드, 링크 및 기타 html 요소가 있는 이미지 컬렉션을 앞뒤로 탐색하는 사용자를 위해 슬라이드쇼와 같은 웹 환경을 만들 수 있는 가장 유연한 방법을 제공하는 응답성이 뛰어난 경량 구성 요소입니다.
Web Components Carousel 구성 요소를 사용하면 애니메이션, 슬라이드 전환 및 사용자 지정을 사용할 수 있으므로 인터페이스를 쉽게 조정하고 사용자 정의 캐러셀 Web Components 구축할 수 있습니다.
Web Components Carousel Example
아래에서 볼 수 있는 Web Components Carousel 데모는 이미지만 포함된 슬라이드를 보여줍니다.
<!DOCTYPE html><html><head><title>Carousel Overview</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="carousel-container"><igc-carousel><igc-carousel-slide><divclass="image-container"><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/ignite-ui-angular-indigo-design.png"/></div></igc-carousel-slide><igc-carousel-slide><divclass="image-container"><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/slider-image-chart.png"/></div></igc-carousel-slide><igc-carousel-slide><divclass="image-container"><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/ignite-ui-angular-charts.png"/></div></igc-carousel-slide></igc-carousel></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
If no active slide is set, the first one will be set by default. If there are multiple active slides on initial rendering or subsequent updates, only the last one will be taken into account.
Examples
Carousel Configuration
기본적으로 의 IgcCarouselComponent disableLoop 속성은 false로 설정되어 있습니다(다음 작업을 사용하여 탐색하여 첫 번째 슬라이드가 마지막 슬라이드 뒤에 오거나 이전 작업을 사용하여 첫 번째 슬라이드 뒤에 올 때 반복이 발생합니다). 루핑 동작은 속성 값을 disableLoop true로 설정하여 비활성화할 수 있습니다.
Ignite UI for Web Components Carousel 구성 요소를 사용하면 단일 지표의 활성 및 비활성 상태에 대해 서로 다른 요소를 사용할 수 있습니다. 인디케이터를 선언할 때 각 슬롯에 대해 두 개의 요소(empty 및 active)를 제공해야 하며, 이는 동일하더라도 마찬가지입니다.
<!DOCTYPE html><html><head><title>Carousel With Components</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="carousel-container"><igc-carousel><igc-carousel-slide><div><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/svg/carousel/SignUp.svg"><form><igc-inputtype="text"placeholder="Username"><igc-iconslot="prefix"name="person"></igc-icon></igc-input><igc-inputtype="password"placeholder="Password"><igc-iconslot="prefix"name="password"></igc-icon></igc-input><igc-buttontype="reset">Sign In</igc-button></form></div></igc-carousel-slide><igc-carousel-slide><div><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/svg/carousel/Route.svg"><form><igc-inputtype="text"placeholder="Search"><igc-iconslot="prefix"name="search"></igc-icon></igc-input><igc-buttontype="reset">Search</igc-button></form></div></igc-carousel-slide></igc-carousel></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
<!DOCTYPE html><html><head><title>Carousel Animations</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="carousel-wrapper"><divclass="action-wrapper"><divclass="action"><span>Animation type</span><igc-selectid="select"><igc-select-itemvalue="slide"selected>Slide</igc-select-item><igc-select-itemvalue="fade">Fade</igc-select-item><igc-select-itemvalue="none">None</igc-select-item></igc-select></div><divclass="action"><igc-switchlabel-position="before">Vertical alignment</igc-switch></div></div><igc-carouselhide-indicators><igc-carousel-slide><divclass="slide-wrapper"><igc-card><igc-card-header><h3slot="title">Ignite UI for Angular</h3></igc-card-header><igc-card-content><p>30+ Material-based Angular components to code speedy web apps faster.</p></igc-card-content><igc-card-media><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/slide1-angular.png"></igc-card-media><igc-card-actions><igc-buttonslot="start"href="https://www.infragistics.com/products/ignite-ui-angular"target="_blank"rel="noopener">
Visit Page
</igc-button></igc-card-actions></igc-card></div></igc-carousel-slide><igc-carousel-slide><divclass="slide-wrapper"><igc-card><igc-card-header><h3slot="title">Ignite UI for Javascript</h3></igc-card-header><igc-card-content><p>A complete JavaScript UI library empowering you to build data-rich responsive web apps.</p></igc-card-content><igc-card-media><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/slide2-ignite.png"></igc-card-media><igc-card-actions><igc-buttonslot="start"href="https://www.infragistics.com/products/ignite-ui"target="_blank"rel="noopener">
Visit Page
</igc-button></igc-card-actions></igc-card></div></igc-carousel-slide><igc-carousel-slide><divclass="slide-wrapper"><igc-card><igc-card-header><h3slot="title">Ultimate UI for ASP.NET</h3></igc-card-header><igc-card-content><p>Build full-featured business apps with the most versatile set of ASP.NET AJAX UI controls.</p></igc-card-content><igc-card-media><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/slide3-aspnet.png"></igc-card-media><igc-card-actions><igc-buttonslot="start"href="https://www.infragistics.com/products/aspnet"target="_blank"rel="noopener">
Visit Page
</igc-button></igc-card-actions></igc-card></div></igc-carousel-slide></igc-carousel></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
캐러셀의 탐색은 사용자가 모바일 장치에서 탐색 버튼, 표시기, 키보드 탐색 및 터치 조작을 통해 처리할 수 있습니다.
Touch gestures
기본적으로 캐러셀은 모든 터치 지원 장치에서 사용할 수 있습니다.
캐러셀 애니메이션은 터치 장치에서 완벽하게 지원되므로 캐러셀은 모든 플랫폼과 일관되고 프로그레시브 웹 애플리케이션(PWA)에서 사용될 때 훌륭합니다.
키보드 탐색
탐색 버튼
Space / Enter key - 다음/이전 슬라이드로 이동합니다.
지표
Arrow Left 키 - 이전(오른쪽에서 왼쪽 모드에서 다음) 슬라이드로 이동합니다.
Arrow Right 키 - 다음(오른쪽에서 왼쪽 모드의 이전) 슬라이드로 이동합니다.
Home 키 - 첫 번째(오른쪽에서 왼쪽 모드의 마지막) 슬라이드로 이동합니다.
End 키 - 마지막(오른쪽에서 왼쪽 모드의 첫 번째) 슬라이드로 이동합니다.
Automatic transitioning
IgcCarouselComponent 사용자 상호 작용 없이 슬라이드를 자동으로 변경하도록 쉽게 구성할 수 있습니다. 이렇게 하면 속성에 대한 interval 전환 간격만 설정하여 자신만의 슬라이드 쇼를 만들 수 있으며, 이 간격은 슬라이드 전환 사이의 시간(밀리초)을 결정합니다.
Hovering the mouse over any carousel content or moving keyboard focus to any of the carousel content pauses automatic transitioning. Automatic transitioning resumes when the mouse moves away from the carousel or when keyboard focus moves out of the carousel content. This can be prevented by setting disablePauseOnInteraction property to true.
<!DOCTYPE html><html><head><title>Carousel Thumbnail</title><metacharset="UTF-8" /><linkrel="shortcut icon"href="https://static.infragistics.com/xplatform/images/browsers/wc.png" ><linkrel="stylesheet"href="https://fonts.googleapis.com/icon?family=Material+Icons" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Kanit&display=swap" /><linkrel="stylesheet"href="https://fonts.googleapis.com/css?family=Titillium Web" /><linkrel="stylesheet"href="https://static.infragistics.com/xplatform/css/samples/shared.v8.css"type="text/css" /></head><body><divid="root"><divclass="container sample"><igc-carouseldisable-pause-on-interactionhide-navigationinterval="2000"verticalanimation-type="fade"
><igc-carousel-indicator><imgclass="blurred"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/WonderfulCoastThumb.png"alt="Wonderful Coast Thumb"width="50"height="60"
/><imgslot="active"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/WonderfulCoastThumb.png"alt="Wonderful Coast Thumb Active"width="50"height="60"
/></igc-carousel-indicator><igc-carousel-indicator><imgclass="blurred"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/CulturalDipThumb.png"alt="Cultural Dip Thumb"width="50"height="60"
/><imgslot="active"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/CulturalDipThumb.png"alt="Cultural Dip Thumb Active"width="50"height="60"
/></igc-carousel-indicator><igc-carousel-indicator><imgclass="blurred"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/GoldenBeachesThumb.png"alt="Golden Beaches Thumb"width="50"height="60"
/><imgslot="active"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/GoldenBeachesThumb.png"alt="Golden Beaches Thumb Active"width="50"height="60"
/></igc-carousel-indicator><igc-carousel-indicator><imgclass="blurred"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/IslandOfHistoryThumb.png"alt="Island Of History Thumb"width="50"height="60"
/><imgslot="active"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/IslandOfHistoryThumb.png"alt="Island Of History Thumb Active"width="50"height="60"
/></igc-carousel-indicator><igc-carousel-indicator><imgclass="blurred"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/AmazingBridgeThumb.png"alt="Amazing Bridge Thumb"width="50"height="60"
/><imgslot="active"src="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/AmazingBridgeThumb.png"alt="Amazing Bridge Thumb Active"width="50"height="60"
/></igc-carousel-indicator><igc-carousel-slide><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/WonderfulCoast.png"alt="Wonderful Coast"
/></igc-carousel-slide><igc-carousel-slide><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/CulturalDip.png"alt="Cultural Dip"
/></igc-carousel-slide><igc-carousel-slide><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/GoldenBeaches.png"alt="Golden Beaches"
/></igc-carousel-slide><igc-carousel-slide><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/IslandOfHistory.png"alt="Island Of History"
/></igc-carousel-slide><igc-carousel-slide><imgsrc="https://www.infragistics.com/angular-demos-lob/assets/images/carousel/AmazingBridge.png"alt="Amazing Bridge"
/></igc-carousel-slide></igc-carousel></div></div><!-- This script is needed only for parcel and it will be excluded for webpack -->
<% if (false) { %><scriptsrc="src/index.ts"></script><% } %>
</body></html>html
aria-live- 스크린 리더가 라이브 영역에 대한 업데이트를 처리해야 하는 우선 순위를 설정하는 데 사용되며, 가능한 설정은 다음과 같습니다.off 및 polite. 기본 설정은 polite 이며 슬라이드 집합의 컨테이너 역할을 하는 요소로 설정됩니다. interval 옵션이 설정되고 캐러셀이 재생 중인 상태이면 aria-live 속성이 off로 설정됩니다.