웹 프론트엔드 JS 튜토리얼 부트스트랩 스크롤 모니터링(Scrollspy) 플러그인_javascript 기술에 대한 자세한 설명

부트스트랩 스크롤 모니터링(Scrollspy) 플러그인_javascript 기술에 대한 자세한 설명

May 16, 2016 pm 03:03 PM
bootstrap 플러그인 스크롤 리스너

자동 업데이트 탐색 플러그인인 Scrollspy 플러그인은 스크롤 막대의 위치에 따라 해당 탐색 대상을 자동으로 업데이트합니다. 기본 구현은 스크롤할 때 스크롤 막대의 위치를 ​​기반으로 탐색 막대에 .active 클래스를 추가하는 것입니다.

이 플러그인의 기능을 별도로 참조하려면 scrollspy.js를 참조해야 합니다. 또는 Bootstrap 플러그인 개요 장에서 언급한 대로 bootstrap.js 또는 bootstrap.min.js의 축소된 버전을 참조할 수 있습니다.

1. 사용법
상단 탐색에 스크롤 듣기 동작을 추가할 수 있습니다.

1. 데이터 속성을 통해: 모니터링하려는 요소(일반적으로 본문)에 data-spy="scroll"을 추가합니다. 그런 다음 Bootstrap .nav 구성 요소의 상위 요소 ID 또는 클래스를 사용하여 data-target 속성을 추가합니다. 이것이 작동하려면 수신하려는 링크의 ID와 일치하는 요소가 페이지 본문에 존재하는지 확인해야 합니다.

1

2

3

4

5

6

7

8

9

<body data-spy="scroll" data-target=".navbar-example">

 ...

 <div class="navbar-example">

  <ul class="nav nav-tabs">

   ...

  </ul>

 </div>

 ...

</body>

로그인 후 복사

2. JavaScript를 통해: JavaScript를 통해 스크롤 모니터링을 호출하고, 모니터링하려는 요소를 선택한 후 .scrollspy() 함수를 호출할 수 있습니다.
$('body').scrollspy({ 대상: '.navbar-example' })
2. 스크롤 모니터링
스크롤 청취 플러그인은 스크롤 막대의 위치에 따라 탐색 항목을 자동으로 업데이트하고 탐색 항목 강조 표시를 표시하는 데 사용됩니다.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

//基本实例

<nav id="nav" class="navbar navbar-default">

  <a href="#" class="navbar-brand">Web 开发</a>

  <ul class="nav navbar-nav">

    <li>

      <a href="#html5">HTML5</a>

    </li>

    <li>

      <a href="#bootstrap">Bootstrap</a>

    </li>

    <li class="dropdown">

      <a href="#" data-toggle="dropdown">JavaScript <span class="caret"></span></a>

      <ul class="dropdown-menu">

        <li>

          <a href="#jquery">jQuery</a>

        </li>

        <li>

          <a href="#yui">Yui</a>

        </li>

        <li>

          <a href="#extjs">Extjs</a>

        </li>

      </ul>

    </li>

  </ul>

</nav>

 

<div data-offset="0" data-target="#nav" data-spy="scroll" style="height: 200px; overflow: auto; position: relative;padding: 0 10px;">

  <h4 id="html5">HTML5</h4>

  <p>

    标准通用标记语言下的一个应用 HTML 标准自 1999 年 12 月发布的 HTML4.01后,后继的 HTML5 和其它标准被束之高阁,为了推动 Web 标准化运动的发展,一些公司联合起来,成立了一个叫做 Web Hypertext Application Technology Working Group(Web 超文本应用技术工作组 -WHATWG) 的组织。WHATWG 致力于 Web 表单和应用程序,而 W3C(World Wide Web Consortium,万维网联盟) 专注于 XHTML2.0。在 2006 年,

 

    双方决定进行合作,来创建一个新版本的 HTML。

  </p>

  <h4 id="bootstrap">Bootstrap</h4>

  <p>

    Bootstrap,来自 Twitter,是目前很受欢迎的前端框架。Bootstrap 是基于 HTML、 CSS、 JAVASCRIPT 的, 它简洁灵活, 使得 Web 开发更加快捷。 [1]它由 Twitter的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS/HTML 框架。Bootstrap提供了优雅的 HTML 和 CSS 规范,它即是由动态 CSS 语言 Less 写成。Bootstrap 一经推出后颇受欢迎,一直是 GitHub 上的热门开源项目,包括 NASA 的 MSNBC(微软全国广播公司)的 Breaking News 都使用了该项目。[2]国内一些移动开发者较为熟悉的框架,如 WeX5前端开源框架等,也是基于 Bootstrap 源码进行性能优化而来。[3]

  </p>

  <h4 id="jquery">jQuery</h4>

  <p>

    JQuery 是继 prototype 之后又一个优秀的 Javascript 库。 它是轻量级的 js库 ,它兼容 CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+) ,jQuery2.0 及后续版本将不再支持 IE6/7/8 浏览器。jQuery 使用户能更方便地处理 HTML(标准通用标记语言下的一个应用) 、 events、 实现动画效果, 并且方便地为网站提供 AJAX交互。jQuery 还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。 jQuery 能够使用户的 html 页面保持代码和 html 内容分离, 也就是说, 不用再在 html 里面插入一堆 js 来调用命令了, 只需要定义 id 即可。

  </p>

  <h4 id="yui">Yui</h4>

  <p>

    近几年随着 jQuery、Ext 以及 CSS3 的发展,以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野, 可谓应接不暇。 不论是桌面浏览器端还是移动端都涌现出很多优秀的框架,极大丰富了开发素材,也方便了大家的开发。这些框架各有特点,本文对这些框架进行初步的介绍与比较, 希望能够为大家选择框架提供一点帮助, 也为后续详细研究这些框架的抛砖引玉。

  </p>

  <h4 id="extjs">Extjs</h4>

  <p>

    ExtJS 可以用来开发 RIA 也即富客户端的 AJAX 应用,是一个用 javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端 ajax 框架。因此,可以把 ExtJS 用在.Net、Java、Php 等各种开发语言开发的应用中。ExtJs 最开始基于 YUI 技术,由开发人员 JackSlocum 开发,通过参考 JavaSwing 等机制来组织可视化组件,无论从 UI 界面上 CSS 样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript 客户端技术的精品。

  </p>

</div>

로그인 후 복사

여기에는 아래와 같이 두 가지 중요한 속성이 있습니다.


PS: 메뉴 및 간단한 상황에서는 데이터 타겟 설정 없이 스크롤 모니터링 강조 표시를 안정적으로 구현할 수 있습니다. 하지만 네비게이션이 여러 개인 경우, 그 중 하나를 연결하지 않으면 오류가 발생하므로 일반적으로 추가해야 합니다.

JavaScript 스크립팅을 사용하는 경우 data-*를 제거하고 스크립트 속성을 사용하여 오프셋, 스파이 및 대상을 정의할 수 있습니다. 구체적인 방법은 다음과 같습니다.

1

2

3

4

5

6

//使用脚本方式定义属性

 

$('#content').scrollspy({

  offset : 0,

  target : '#nav',

});

로그인 후 복사

스크롤 리스너에는 새 항목으로 전환하는 이벤트도 있습니다.

//내비게이션에 이벤트가 바인딩되어 있습니다

$('#nav').on('activate.bs.scrollspy', function() {
Alert('이 이벤트는 새 항목이 활성화된 후에 발생합니다!');
})
스크롤 리스너에는 컨테이너 DOM을 업데이트하는 메서드도 있습니다.

//HTML 부분

1

2

3

4

5

6

<section class="sec">

  <h4 id="html5">HTML5 <a href="#" onclick="removeSec(this)">删除此项</a></h4>

  <p>

    ...

  </p>

</section>

로그인 후 복사

//콘텐츠를 삭제할 때 탐색 모니터링 위치가 잘못되지 않도록 DOM을 새로 고치세요

1

2

3

4

function removeSec(e) {

  $(e).parents('.sec').remove();

  $('#content').scrollspy('refresh');

}

로그인 후 복사

참고: 이 방법은 data-* 선언을 사용해야 합니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

Vue에서 부트 스트랩을 사용하는 방법 Vue에서 부트 스트랩을 사용하는 방법 Apr 07, 2025 pm 11:33 PM

vue.js에서 bootstrap 사용은 5 단계로 나뉩니다 : Bootstrap 설치. main.js.의 부트 스트랩 가져 오기 부트 스트랩 구성 요소를 템플릿에서 직접 사용하십시오. 선택 사항 : 사용자 정의 스타일. 선택 사항 : 플러그인을 사용하십시오.

부트 스트랩 검색 창을 얻는 방법 부트 스트랩 검색 창을 얻는 방법 Apr 07, 2025 pm 03:33 PM

부트 스트랩을 사용하여 검색 표시 줄의 값을 얻는 방법 : 검색 표시 줄의 ID 또는 이름을 결정하십시오. JavaScript를 사용하여 DOM 요소를 얻으십시오. 요소의 값을 가져옵니다. 필요한 작업을 수행하십시오.

부트 스트랩의 수직 중심을 수행하는 방법 부트 스트랩의 수직 중심을 수행하는 방법 Apr 07, 2025 pm 03:21 PM

부트 스트랩을 사용하여 수직 센터링을 구현하여 : Flexbox Method : D-Flex, 정당화 컨텐츠 중심 및 정렬 중심 센터 클래스를 사용하여 Flexbox 컨테이너에 요소를 배치하십시오. Align-Items-Center 클래스 방법 : Flexbox를 지원하지 않는 브라우저의 경우 상위 요소의 높이가 정의 된 경우 Align-Items 중심 클래스를 사용하십시오.

부트 스트랩에 분할 라인을 작성하는 방법 부트 스트랩에 분할 라인을 작성하는 방법 Apr 07, 2025 pm 03:12 PM

부트 스트랩 분할 라인을 만드는 두 가지 방법이 있습니다 : 태그를 사용하여 수평 분할 라인이 생성됩니다. CSS 테두리 속성을 사용하여 사용자 정의 스타일 분할 라인을 만듭니다.

부트 스트랩을위한 프레임 워크를 설정하는 방법 부트 스트랩을위한 프레임 워크를 설정하는 방법 Apr 07, 2025 pm 03:27 PM

부트 스트랩 프레임 워크를 설정하려면 다음 단계를 따라야합니다. 1. CDN을 통해 부트 스트랩 파일 참조; 2. 자신의 서버에서 파일을 다운로드하여 호스팅하십시오. 3. HTML에 부트 스트랩 파일을 포함; 4. 필요에 따라 Sass/Less를 컴파일하십시오. 5. 사용자 정의 파일을 가져옵니다 (선택 사항). 설정이 완료되면 Bootstrap의 그리드 시스템, 구성 요소 및 스타일을 사용하여 반응 형 웹 사이트 및 응용 프로그램을 만들 수 있습니다.

부트 스트랩에 사진을 삽입하는 방법 부트 스트랩에 사진을 삽입하는 방법 Apr 07, 2025 pm 03:30 PM

Bootstrap에 이미지를 삽입하는 방법에는 여러 가지가 있습니다. HTML IMG 태그를 사용하여 이미지를 직접 삽입하십시오. 부트 스트랩 이미지 구성 요소를 사용하면 반응 형 이미지와 더 많은 스타일을 제공 할 수 있습니다. 이미지 크기를 설정하고 IMG-Fluid 클래스를 사용하여 이미지를 적응할 수 있도록하십시오. IMG 통과 클래스를 사용하여 테두리를 설정하십시오. 둥근 모서리를 설정하고 IMG 라운드 클래스를 사용하십시오. 그림자를 설정하고 그림자 클래스를 사용하십시오. CSS 스타일을 사용하여 이미지를 조정하고 배치하십시오. 배경 이미지를 사용하여 배경 이미지 CSS 속성을 사용하십시오.

부트 스트랩 버튼을 사용하는 방법 부트 스트랩 버튼을 사용하는 방법 Apr 07, 2025 pm 03:09 PM

부트 스트랩 버튼을 사용하는 방법? 부트 스트랩 CSS를 소개하여 버튼 요소를 만들고 부트 스트랩 버튼 클래스를 추가하여 버튼 텍스트를 추가하십시오.

부트 스트랩 크기를 조정하는 방법 부트 스트랩 크기를 조정하는 방법 Apr 07, 2025 pm 03:18 PM

부트 스트랩에서 요소의 크기를 조정하려면 다음을 포함하여 차원 클래스를 사용할 수 있습니다.

See all articles