부트 스트랩 스크롤 모니터 (Scrollspy) 위젯
스크롤 모니터 (Scrollspy) 플러그, 자동 네비게이션 위젯이 자동으로 스크롤 바의 위치에 따라 해당하는 탐색 타겟을 업데이트하는 업데이트. 스크롤로 기본 구현은, 스크롤 바 위치 기반.active는 클래스는 탐색 모음에 추가됩니다.
당신은 각각의 플러그인 기능을 참조하려면scrollspy.js를 참조 할 필요가있다.또는, 부트 스트랩 플러그인 개요 장에서는 언급, 당신은bootstrap.js또는bootstrap.min.js의압축 된 버전을 참조 할 수있습니다.
용법
당신은 내비게이션 모니터 행동의 상단에 스크롤을 추가 할 수 있습니다 :
- 데이터 속성을 통해 : 당신은 데이터 스파이 = "스크롤"을추가 할 요소 (일반적으로 몸)을 듣고싶습니다.그런부트 스트랩 .nav 컴포넌트 속성 데이터를 대상으로부모 요소의 ID 또는 클래스를추가한다.제대로 작동하려면, 당신은 당신이 ID 모니터 요소가 존재 연결할 페이지의 본문에 일치하는 항목이 있는지 확인해야합니다.
<바디 데이터 스파이 = "스크롤"데이터 대상 = ". Navbar를-예를 들어"> ... <사업부 클래스 = "Navbar를 - 예를 들어"> <UL 클래스 = "탐색의 탐색 - 탭"> ... </ UL> </ DIV> ... </ BODY>
- 자바 스크립트 작성자 : 당신은 자바 스크립트 호출 (.scrollspy호출 한 후, 요소를 선택 듣고,듣기)기능을 스크롤 할 수 있습니다 :
. $ ( '바디') scrollspy ({대상 : '.navbar - 예를 들어'})
예
다음의 예는 (Scrollspy)를 모니터링 속성 데이터를 스크롤을 사용하는 방법을 보여줍니다 플러그인 :
예
<탐색 ID는 = "네비게이션 바 - 예를 들어" 클래스 = "네비게이션 바는 네비게이션 바 기본 네비게이션 바 -static" 역할 = "탐색">
<사업부 클래스 = "컨테이너 유체">
<사업부 클래스 = "네비게이션 바 헤더">
<버튼 클래스 = "네비게이션 바-전환" = "버튼"을 입력 데이터 전환 = "붕괴"
데이터 대상 = ".BS-JS -navbar-scrollspy">
<스팬 클래스 = "SR-만"> 탐색 </ 스팬 전환>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
</ 버튼>
<A 클래스 = "네비게이션 바 브랜드" HREF = "#"> 자습서 이름 </ A>
</ DIV>
<사업부 클래스 = "붕괴 Navbar의 붕괴 학사 > -js - 네비게이션 바 - scrollspy"
<UL 클래스 = "탐색 네비게이션 바-탐색" >
<LI> <A HREF = "#ios"> 아이폰 OS < / A> </ 리>
<LI> <A HREF = "#svn"> SVN < / A> </ 리>
<리 클래스 = "드롭 다운">
<A HREF = "#" ID = "navbarDrop1" 클래스 = "드롭 다운-전환"
데이터 전환 = "드롭 다운"> 자바의 <b 클래스 = "캐럿"> </ B>
</ A>
<UL 클래스 = "드롭 다운 메뉴" 역할 = "메뉴"
아리아 - labelledby = "navbarDrop1">
<LI> <A HREF = "#jmeter" 모두 tabIndex = "-1"> JMeter를 < / A> </ 리>
<LI> <A HREF = "#ejb" 모두 tabIndex = "-1"> EJB < / A> </ 리>
<리 클래스 = "분배기"> </ 리>
<LI> <A HREF = "#spring" 모두 tabIndex = "-1"> 봄 < / A> </ 리>
</ UL>
</ 리>
</ UL>
</ DIV>
</ DIV>
</ 탐색>
<사업부 데이터 스파이 = "스크롤" 데이터 대상 = "# navbar- 예" 데이터 오프셋 = "0"
스타일 = "높이 : 200 픽셀, 오버플로 : 자동; 위치 : 상대;">
<H4 ID = "IOS"> 아이폰 OS < / H4>
<P> 아이폰 OS는 개발 애플의 모바일 운영 체제에 의해 게시됩니다. 원래 2007 년에 처음으로 아이폰, 아이팟 터치, 애플 TV에 대해 발표했다. 아이폰 OS는 OS X에서 파생, 그들은 다윈 재단을 공유 할 수 있습니다. OS X 운영 체제가 Mac에서 사용되는, 아이폰 OS는 애플의 모바일 버전입니다. </ P>
<H4 ID = "SVN"> SVN < / H4>
<P> 서브 버전은 종종 SVN 단축, 오픈 소스 버전 제어 시스템 소프트웨어입니다. 콜 랩넷 서브 버전은 2000 년에 회사가 만들었습니다. 아파치 소프트웨어 재단의 프로젝트, 그것은 풍부한 개발자 및 사용자 커뮤니티를 가지고 그러나 지금은 개발했다. </ P>
<H4 ID = "JMeter를"> JMeter를 < / H4>
<P> JMeter를 오픈 소스 테스트 소프트웨어입니다. 그것은 부하 및 성능 테스트를위한 100 % 순수 자바 응용 프로그램입니다. </ P>
<H4 ID = "EJB"> EJB < / H4>
<P> 엔터프라이즈 자바 빈즈 (EJB는 ) J2EE의 (예 : JBOSS, 웹 로직 등) 호환 응용 프로그램 서버에 배포 된 고도로 확장 가능하고 강력한 엔터프라이즈 응용 프로그램을 만들 수있는 개발 프레임 워크입니다. </ P>
<H4 ID = "봄"> 봄 < / H4>
<P> 스프링 프레임 워크는 강력한 자바 애플리케이션의 신속한 개발을위한 오픈 소스 자바 플랫폼은 완벽한 인프라 지원을 제공합니다. </ P>
<P> 원래 2003 년 6 월로드 존슨에 의해 작성된 스프링 프레임 워크는 처음 아파치 2.0 라이선스에 따라 릴리스되었습니다. </ P>
</ DIV>
»시도
결과는 다음과 같다 :
옵션
데이터 속성이나 자바 스크립트를 통해 전달합니다. 다음 표에서는 이러한 옵션을 나열합니다 :
选项名称 | 类型/默认值 | Data 属性名称 | 描述 |
---|---|---|---|
offset | number 默认值:10 | data-offset | 当计算滚动位置时,距离顶部的偏移像素。 |
방법
.scrollspy ( '새로 고침') : 자바 스크립트 방법으로 scrollspy를 호출 할 때, 당신은 DOM을 업데이트하는 방법을 때 .refresh호출해야합니다. 이것은 (추가하거나 특정 요소를 제거, 즉) DOM 요소 중 언제든지 발생할 변경하는 데 유용합니다. 다음은이 방법의 구문입니다.$ ( '[데이터 스파이 = "스크롤"]'). 각 (함수 () { var에 $ 스파이 = $ (이) .scrollspy ( '새로 고침') })
예
다음의 예는( '새로 고침') 방법 .scrollspy을보여줍니다
예
<탐색 ID = "myScrollspy" 클래스 = "네비게이션 바는 네비게이션 바 기본 네비게이션 바 -static" 역할 = "탐색">
<사업부 클래스 = "컨테이너 유체">
<사업부 클래스 = "네비게이션 바 헤더">
<버튼 클래스 = "네비게이션 바-전환" = "버튼"을 입력 데이터 전환 = "붕괴"
데이터 대상 = ".BS-JS -navbar-scrollspy">
<스팬 클래스 = "SR-만"> 탐색 </ 스팬 전환>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
</ 버튼>
<A 클래스 = "네비게이션 바 브랜드" HREF = "#"> 자습서 이름 </ A>
</ DIV>
<사업부 클래스 = "붕괴 Navbar의 붕괴 학사 > -js - 네비게이션 바 - scrollspy"
<UL 클래스 = "탐색 네비게이션 바-탐색" >
<리 클래스> <A = "활성" HREF = "#ios"> 아이폰 OS < / A> </ 리>
<LI> <A HREF = "#svn"> SVN < / A> </ 리>
<리 클래스 = "드롭 다운">
<A HREF = "#" ID = "navbarDrop1" 클래스 = "드롭 다운-전환"
데이터 전환 = "드롭 다운"> 자바의 <b 클래스 = "캐럿"> </ B>
</ A>
<UL 클래스 = "드롭 다운 메뉴" 역할 = "메뉴"
아리아 - labelledby = "navbarDrop1">
<LI> <A HREF = "#jmeter" 모두 tabIndex = "-1"> JMeter를 < / A> </ 리>
<LI> <A HREF = "#ejb" 모두 tabIndex = "-1"> EJB < / A> </ 리>
<리 클래스 = "분배기"> </ 리>
<LI> <A HREF = "#spring" 모두 tabIndex = "-1"> 봄 < / A> </ 리>
</ UL>
</ 리>
</ UL>
</ DIV>
</ DIV>
</ 탐색>
<사업부 데이터 스파이 = "스크롤" 데이터 대상 = "#myScrollspy" 데이터 오프셋 = "0"
스타일 = "높이 : 200 픽셀, 오버플로 : 자동; 위치 : 상대;">
<사업부 클래스 = "절">
<H4 ID = "IOS"> iOS의 < 작은> <A HREF = "#" 의 onclick = "removeSection (이); ">
및 시간, 부분 </ A> </ 작은> 제거
</ H4>
<P> 아이폰 OS는 개발 애플의 모바일 운영 체제에 의해 게시됩니다. 원래 2007 년에 처음으로 아이폰, 아이팟 터치, 애플 TV에 대해 발표했다. 아이폰 OS는 OS X에서 파생, 그들은 다윈 재단을 공유 할 수 있습니다. OS X 운영 체제가 Mac에서 사용되는, 아이폰 OS는 애플의 모바일 버전입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "SVN"> SVN < 작은> </ 작은> </ H4>
<P> 서브 버전은 종종 SVN 단축, 오픈 소스 버전 제어 시스템 소프트웨어입니다. 콜 랩넷 서브 버전은 2000 년에 회사가 만들었습니다. 아파치 소프트웨어 재단의 프로젝트, 그것은 풍부한 개발자 및 사용자 커뮤니티를 가지고 그러나 지금은 개발했다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "JMeter를"> JMeter를 < 작은> <A HREF = "#" 의 onclick = "removeSection (이); ">
및 시간, 부분 </ A> </ 작은> 제거
</ H4>
<P> JMeter를 오픈 소스 테스트 소프트웨어입니다. 그것은 부하 및 성능 테스트를위한 100 % 순수 자바 응용 프로그램입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "EJB"> EJB < / H4>
<P> 엔터프라이즈 자바 빈즈 (EJB는 ) J2EE의 (예 : JBOSS, 웹 로직 등) 호환 응용 프로그램 서버에 배포 된 고도로 확장 가능하고 강력한 엔터프라이즈 응용 프로그램을 만들 수있는 개발 프레임 워크입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "봄"> 봄 < / H4>
<P> 스프링 프레임 워크는 강력한 자바 애플리케이션의 신속한 개발을위한 오픈 소스 자바 플랫폼은 완벽한 인프라 지원을 제공합니다. </ P>
<P> 원래 2003 년 6 월로드 존슨에 의해 작성된 스프링 프레임 워크는 처음 아파치 2.0 라이선스에 따라 릴리스되었습니다. </ P>
</ DIV>
</ DIV>
. <script> $ (함수 ( ) {removeSection = 기능 (전자) {$ (전자) .parents ( ". 제") (제거); $ ( '[데이터 스파이 = "스크롤"]') 각 ( 함수 () {var에 $ 스파이 = $ (이) .scrollspy ( '새로 고침')});} $ ( "#의 myScrollspy") scrollspy ();}); </ script>
»시도
결과는 다음과 같다 :
행사
다음 표는 모니터가 이벤트를 스크롤하는 데 사용할 보여줍니다. 이러한 이벤트시 후크 함수를 사용할 수있다.
事件 | 描述 | 实例 |
---|---|---|
activate.bs.scrollspy | 每当一个新项目被滚动监听激活时,触发该事件。 |
$('#myScrollspy').on('activate.bs.scrollspy', function () { // 执行一些动作... }) |
예
다음의 예는activate.bs.scrollspy 이벤트를 사용하는 방법을 보여줍니다 :
예
<탐색 ID = "myScrollspy" 클래스 = "네비게이션 바는 네비게이션 바 기본 네비게이션 바 -static" 역할 = "탐색">
<사업부 클래스 = "컨테이너 유체">
<사업부 클래스 = "네비게이션 바 헤더">
<버튼 클래스 = "네비게이션 바-전환" = "버튼"을 입력 데이터 전환 = "붕괴"
데이터 대상 = ".BS-JS -navbar-scrollspy">
<스팬 클래스 = "SR-만"> 탐색 </ 스팬 전환>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
<스팬 클래스 = "아이콘 바"> </ SPAN>
</ 버튼>
<A 클래스 = "네비게이션 바 브랜드" HREF = "#"> 자습서 이름 </ A>
</ DIV>
<사업부 클래스 = "붕괴 Navbar의 붕괴 학사 > -js - 네비게이션 바 - scrollspy"
<UL 클래스 = "탐색 네비게이션 바-탐색" >
<리 클래스> <A = "활성" HREF = "#ios"> 아이폰 OS < / A> </ 리>
<LI> <A HREF = "#svn"> SVN < / A> </ 리>
<리 클래스 = "드롭 다운">
<A HREF = "#" ID = "navbarDrop1" 클래스 = "드롭 다운-전환"
데이터 전환 = "드롭 다운"> 자바의 <b 클래스 = "캐럿"> </ B>
</ A>
<UL 클래스 = "드롭 다운 메뉴" 역할 = "메뉴"
아리아 - labelledby = "navbarDrop1">
<LI> <A HREF = "#jmeter" 모두 tabIndex = "-1"> JMeter를 < / A> </ 리>
<LI> <A HREF = "#ejb" 모두 tabIndex = "-1"> EJB < / A> </ 리>
<리 클래스 = "분배기"> </ 리>
<LI> <A HREF = "#spring" 모두 tabIndex = "-1"> 봄 < / A> </ 리>
</ UL>
</ 리>
</ UL>
</ DIV>
</ DIV>
</ 탐색>
<사업부 데이터 스파이 = "스크롤" 데이터 대상 = "#myScrollspy" 데이터 오프셋 = "0"
스타일 = "높이 : 200 픽셀, 오버플로 : 자동; 위치 : 상대;">
<사업부 클래스 = "절">
<H4 ID = "IOS"> iOS의 < 작은> <A HREF = "#" 의 onclick = "removeSection (이); ">
및 시간, 부분 </ A> </ 작은> 제거
</ H4>
<P> 아이폰 OS는 개발 애플의 모바일 운영 체제에 의해 게시됩니다. 원래 2007 년에 처음으로 아이폰, 아이팟 터치, 애플 TV에 대해 발표했다. 아이폰 OS는 OS X에서 파생, 그들은 다윈 재단을 공유 할 수 있습니다. OS X 운영 체제가 Mac에서 사용되는, 아이폰 OS는 애플의 모바일 버전입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "SVN"> SVN < 작은> </ 작은> </ H4>
<P> 서브 버전은 종종 SVN 단축, 오픈 소스 버전 제어 시스템 소프트웨어입니다. 콜 랩넷 서브 버전은 2000 년에 회사가 만들었습니다. 아파치 소프트웨어 재단의 프로젝트, 그것은 풍부한 개발자 및 사용자 커뮤니티를 가지고 그러나 지금은 개발했다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "JMeter를"> JMeter를 < 작은> <A HREF = "#" 의 onclick = "removeSection (이); ">
및 시간, 부분 </ A> </ 작은> 제거
</ H4>
<P> JMeter를 오픈 소스 테스트 소프트웨어입니다. 그것은 부하 및 성능 테스트를위한 100 % 순수 자바 응용 프로그램입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "EJB"> EJB < / H4>
<P> 엔터프라이즈 자바 빈즈 (EJB는 ) J2EE의 (예 : JBOSS, 웹 로직 등) 호환 응용 프로그램 서버에 배포 된 고도로 확장 가능하고 강력한 엔터프라이즈 응용 프로그램을 만들 수있는 개발 프레임 워크입니다. </ P>
</ DIV>
<사업부 클래스 = "절">
<H4 ID = "봄"> 봄 < / H4>
<P> 스프링 프레임 워크는 강력한 자바 애플리케이션의 신속한 개발을위한 오픈 소스 자바 플랫폼은 완벽한 인프라 지원을 제공합니다. </ P>
<P> 원래 2003 년 6 월로드 존슨에 의해 작성된 스프링 프레임 워크는 처음 아파치 2.0 라이선스에 따라 릴리스되었습니다. </ P>
</ DIV>
</ DIV>
<스팬 ID = "activeitem" 스타일 = "색상 : 빨강;" > </ SPAN>
. <script> $ (함수 ( ) {removeSection = 기능 (전자) {$ (전자) .parents ( ". 제") (제거); $ ( '[데이터 스파이 = "스크롤"]') 각 ( 함수 () {var에 $ 스파이 = $ (이) .scrollspy ( '새로 고침')});} $ ( "#의 myScrollspy") scrollspy (); .. ( 'activate.bs에 $ ('#의 myScrollspy '). scrollspy ', 함수 () {var에 currentItem = $ ( "탐색 li.active>가.") 텍스트 (); $ ( "#의 activeitem") HTML은 ( " 당신은 볼 -"+ currentItem); .. }) }); </ script>
»시도
결과는 다음과 같다 :
더 많은 예제
가로 스크롤 듣기 만들기
다음의 예는, 수평 스크롤 리스너를 만드는 방법을 보여줍니다 :
예
<- 네비게이션 바에 :!하는 데 사용 스크롤 영역에있는 섹션으로 이동 ->
<운항 클래스 = "네비게이션 바 navbar- 역 Navbar를 고정 탑">
...
<UL 클래스 = "탐색 navbar- 탐색">
<리> <a의 HREF = "# section1"> 제 1 절 </ A> </ 리>
...
</ 탐색>
<! - 스크롤 영역 ->
<사업부의 데이터 스파이 = "스크롤 "데이터 대상 = ".navbar"데이터 오프셋 = "12">
<! - 제 1 절 ->
<사업부 아이디 = "섹션 1">
<H1> 섹션 1 </ H1 >
<P>이 페이지를 스크롤하는 것을 시도 하고 스크롤하는 동안 탐색 모음 봐! </ P>
</ DIV>
...
</ DIV>
<운항 클래스 = "네비게이션 바 navbar- 역 Navbar를 고정 탑">
...
<UL 클래스 = "탐색 navbar- 탐색">
<리> <a의 HREF = "# section1"> 제 1 절 </ A> </ 리>
...
</ 탐색>
<! - 스크롤 영역 ->
<사업부의 데이터 스파이 = "스크롤 "데이터 대상 = ".navbar"데이터 오프셋 = "12">
<! - 제 1 절 ->
<사업부 아이디 = "섹션 1">
<H1> 섹션 1 </ H1 >
<P>이 페이지를 스크롤하는 것을 시도 하고 스크롤하는 동안 탐색 모음 봐! </ P>
</ DIV>
...
</ DIV>
»시도
수직 스크롤 청취를 만드는 방법
다음 예는 세로 스크롤 리스너를 만드는 방법을 보여줍니다 :
예
<바디 데이터 스파이 = "스크롤 "데이터 대상 = "#myScrollspy"= "20"데이터 오프셋>
<사업부 클래스 = "컨테이너">
<사업부 클래스 = "행">
<운항 클래스 = "COL-SM -3"ID = "myScrollspy">
<UL 클래스 = "탐색 nav- 약은 NAV-스택">
<리> <a의 HREF = "# section1"> 제 1 절 </ A> </ 리>
...
</ UL>
</ 탐색>
<사업부 클래스 = "COL-SM -9">
<사업부 아이디 = "섹션 1">
<H1> 섹션 1 </ H1 >
<P>이 페이지를 스크롤하는 것을 시도 하고 스크롤하는 동안 탐색 목록 봐! </ P>
</ DIV>
...
</ DIV>
</ DIV>
</ DIV>
</ BODY>
<사업부 클래스 = "컨테이너">
<사업부 클래스 = "행">
<운항 클래스 = "COL-SM -3"ID = "myScrollspy">
<UL 클래스 = "탐색 nav- 약은 NAV-스택">
<리> <a의 HREF = "# section1"> 제 1 절 </ A> </ 리>
...
</ UL>
</ 탐색>
<사업부 클래스 = "COL-SM -9">
<사업부 아이디 = "섹션 1">
<H1> 섹션 1 </ H1 >
<P>이 페이지를 스크롤하는 것을 시도 하고 스크롤하는 동안 탐색 목록 봐! </ P>
</ DIV>
...
</ DIV>
</ DIV>
</ DIV>
</ BODY>
»시도