Latest web development tutorials

부트 스트랩 스크롤 모니터 (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>

»시도

결과는 다음과 같다 :

스크롤 모니터 (Scrollspy) 위젯

옵션

데이터 속성이나 자바 스크립트를 통해 전달합니다. 다음 표에서는 이러한 옵션을 나열합니다 :

选项名称类型/默认值Data 属性名称描述
offsetnumber
默认值: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>

»시도

결과는 다음과 같다 :

스크롤 모니터 (Scrollspy) 플러그인 방법

행사

다음 표는 모니터가 이벤트를 스크롤하는 데 사용할 보여줍니다. 이러한 이벤트시 후크 함수를 사용할 수있다.

事件描述实例
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>

»시도

결과는 다음과 같다 :

스크롤 모니터 (Scrollspy) 플러그인 이벤트


더 많은 예제

가로 스크롤 듣기 만들기

다음의 예는, 수평 스크롤 리스너를 만드는 방법을 보여줍니다 :

<- 네비게이션 바에 :!하는 데 사용 스크롤 영역에있는 섹션으로 이동 ->
<운항 클래스 = "네비게이션 바 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>

»시도