Source

Scrollspy

Ùraich gu fèin-ghluasadach seòladh Bootstrap no liostaich co-phàirtean buidhne stèidhichte air suidheachadh scrollaidh gus sealltainn dè an ceangal a tha gnìomhach sa phort-seallaidh an-dràsta.

Mar a tha e ag obair

Tha grunn riatanasan aig Scrollspy gus obrachadh gu ceart:

  • Ma tha thu a’ togail ar JavaScript bhon tùs, feumaidhutil.js e .
  • Feumar a chleachdadh air co- phàirt Bootstrap nav no buidheann liosta .
  • Feumaidh Scrollspy position: relative;an eileamaid air a bheil thu a’ brathadh, mar as trice am faidhle <body>.
  • Nuair a bhios tu a’ brathadh air eileamaidean a bharrachd air an <body>, dèan cinnteach gu bheil heightseata agad agus cuir an overflow-y: scroll;sàs e.
  • Tha feum air acraichean ( <a>) agus feumaidh iad eileamaid a chomharrachadh le sin id.

Nuair a thèid a chuir an gnìomh gu soirbheachail, bheir do bhuidheann seòlaidh no liosta ùrachadh a rèir sin, a’ gluasad a’ .activechlas bho aon nì chun ath fhear stèidhichte air na targaidean co-cheangailte riutha.

Eisimpleir ann an navbar

Sgrolaich an raon gu h-ìosal fon bhàr-seòlaidh agus cùm sùil air an atharrachadh clas gnìomhach. Thèid na stuthan tuiteam-sìos a chomharrachadh cuideachd.

@saill

Ad leggings keytar, brunch id art party dolor laboure. Pitchfork yr enim lo-fi mus do reic iad a-mach qui. Còraichean baidhsagal tuathanas-gu-bòrd Tumblr ge bith dè. Anim keffiyeh carles cardigan. Bothan dhealbhan Velit seitan mcsweeney 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui is dòcha nach cuala tu iomradh orra et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, creideas ìoranas biodiesel keffiyeh artisan ullamco consequat.

@meadh

Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.

one

Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.

two

In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.

three

Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.

Blog Keytar twee, baga teachdaire culpa marfa ge bith dè an truca bìdh delectus. Sapiente synth id assumenda. Locavore sed helvetica cliche ìoranas, cait tàirneanaich is dòcha nach cuala tu mun deidhinn mar thoradh air hoodie gun ghluten lo-fi fap aliquip. Labore elit placeat mus do reic iad a-mach, terry richardson proident brunch nesciunt quiscosty sweater pariatur keffiyeh ut helvetica artisan. Cardigan ciùird seitan lionn deiseil velit. VHS chambray laboris tempor veniam. Anim mollit minim comodo ullamco thundercats.

<nav id="navbar-example2" class="navbar navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <ul class="nav nav-pills">
    <li class="nav-item">
      <a class="nav-link" href="#fat">@fat</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#mdo">@mdo</a>
    </li>
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Dropdown</a>
      <div class="dropdown-menu">
        <a class="dropdown-item" href="#one">one</a>
        <a class="dropdown-item" href="#two">two</a>
        <div role="separator" class="dropdown-divider"></div>
        <a class="dropdown-item" href="#three">three</a>
      </div>
    </li>
  </ul>
</nav>
<div data-spy="scroll" data-target="#navbar-example2" data-offset="0">
  <h4 id="fat">@fat</h4>
  <p>...</p>
  <h4 id="mdo">@mdo</h4>
  <p>...</p>
  <h4 id="one">one</h4>
  <p>...</p>
  <h4 id="two">two</h4>
  <p>...</p>
  <h4 id="three">three</h4>
  <p>...</p>
</div>

Eisimpleir le neadachadh nav

Scrollspy cuideachd ag obair le neadachadh .navs. .navMa tha nead .active, bidh a phàrantan cuideachd .active. Scrollaich an raon ri taobh a’ bhàr seòlaidh agus cùm sùil air an atharrachadh clas gnìomhach.

Nì 1

Ex consequat commodo adipisicing exercitation aute excepteur occaecat ullamco duis aliqua id magna ullamco eu. Dèan no ipsum ipsum ullamco cillum consectetur et aute conectetur laboure. Fugiat laborum a 'toirt buaidh air an ùine a dh' fhalbh iad gu mòr. Chan eil ach an obair a 'dol a-steach gu neo-eisimeileach, magna eiusmod consectetur a-steach. Chan eil ach aon dhiubh nach eil fugiat id cupidatat nulla elit cupidatat commodo velit ut eiusmod cupidatat elit dolore.

Nì 1-1

Amet tempor mollit aliquip pariatur ach a-mhàin comodo do ea cillum comodo Lorem et occaecat elit qui et. Aliquip labore ex esse voluptate occaecat Lorem ullamco deserunt. Aliqua cillum ach a-mhàin irure mar thoradh air id quis ea. Suidh proident ullamco aute magna pariatur nostrud laboure. Dèan ath-aithris air aliqua commodo eiusmod aliquip est do duis amet proident magna consectetur consequat eu commodo fugiat non quis. Cleachdadh enim aliquip ullamco adipisicing voluptate ach a-mhàin eacarsaich as ìsle minim comodo adipisicing eacarsaich officia nisi adipisicing. Anim id duis qui consequat laboure adipisicing sint dolor elit cillum anim et fugiat.

Nì 2-2

Cillum nisi deserunt magna eiusmod qui eiusmod velit voluptate pariatur laborum sunt enim. Irure laboris mollit consequat incididunt sint et culpa culpa incididunt adipisicing magna magna occaecat. Nulla ipsum cillum eiusmod sint elit excepteur ea labore enim consectetur in labore anim. Proident ullamco ipsum esse elit ut Lorem eiusmod dolor et eiusmod. Anim occaecat nulla in non consequat eiusmod velit incididunt.

Item 2

Quis magna Lorem anim amet ipsum do mollit sit cillum voluptate ex nulla tempor. Laborum consequat non elit enim exercitation cillum aliqua consequat id aliqua. Esse ex consectetur mollit voluptate est in duis laboris ad sit ipsum anim Lorem. Incididunt veniam velit elit elit veniam Lorem aliqua quis ullamco deserunt sit enim elit aliqua esse irure. Laborum nisi sit est tempor laborum mollit labore officia laborum excepteur commodo non commodo dolor excepteur commodo. Ipsum fugiat ex est consectetur ipsum commodo tempor sunt in proident.

Item 3

Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Nostrud aliqua ipsum fugiat minim proident occaecat excepteur aliquip culpa aute tempor reprehenderit. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.

Item 3-1

Deserunt quis elit Lorem eiusmod amet enim enim amet minim Lorem proident nostrud. Ea id dolore anim exercitation aute fugiat labore voluptate cillum do laboris labore. Ex velit exercitation nisi enim labore reprehenderit labore nostrud ut ut. Esse officia sunt duis aliquip ullamco tempor eiusmod deserunt irure nostrud irure. Ullamco proident veniam laboris ea consectetur magna sunt ex exercitation aliquip minim enim culpa occaecat exercitation. Est tempor excepteur aliquip laborum consequat do deserunt laborum esse eiusmod irure proident ipsum esse qui.

Item 3-2

Labore sit culpa commodo elit adipisicing sit aliquip elit proident voluptate minim mollit nostrud aute reprehenderit do. Mollit excepteur eu Lorem ipsum anim comodo sint la laboure Lorem in exercitation velit incididunt. Occaecat consectetur nisi in occaecat proident minim sunt reprehenderit exercitation cupidatat et do officia. Mar thoradh air an sin, tha an obair a 'toirt buaidh air an obair. Sit pariatur tempor proident in veniam culpa aliqua ach a-mhàin elit magna fugiat eiusmod amet officia.

<nav id="navbar-example3" class="navbar navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <nav class="nav nav-pills flex-column">
    <a class="nav-link" href="#item-1">Item 1</a>
    <nav class="nav nav-pills flex-column">
      <a class="nav-link ml-3 my-1" href="#item-1-1">Item 1-1</a>
      <a class="nav-link ml-3 my-1" href="#item-1-2">Item 1-2</a>
    </nav>
    <a class="nav-link" href="#item-2">Item 2</a>
    <a class="nav-link" href="#item-3">Item 3</a>
    <nav class="nav nav-pills flex-column">
      <a class="nav-link ml-3 my-1" href="#item-3-1">Item 3-1</a>
      <a class="nav-link ml-3 my-1" href="#item-3-2">Item 3-2</a>
    </nav>
  </nav>
</nav>

<div data-spy="scroll" data-target="#navbar-example3" data-offset="0">
  <h4 id="item-1">Item 1</h4>
  <p>...</p>
  <h5 id="item-1-1">Item 1-1</h5>
  <p>...</p>
  <h5 id="item-1-2">Item 2-2</h5>
  <p>...</p>
  <h4 id="item-2">Item 2</h4>
  <p>...</p>
  <h4 id="item-3">Item 3</h4>
  <p>...</p>
  <h5 id="item-3-1">Item 3-1</h5>
  <p>...</p>
  <h5 id="item-3-2">Item 3-2</h5>
  <p>...</p>
</div>

Eisimpleir le buidheann liosta

Scrollspy cuideachd ag obair le .list-groups. Sgrolaich an raon ri taobh a’ bhuidheann liosta agus coimhead air an atharrachadh clas gnìomhach.

Nì 1

Ex consequat commodo adipisicing exercitation aute excepteur occaecat ullamco duis aliqua id magna ullamco eu. Dèan no ipsum ipsum ullamco cillum consectetur et aute conectetur laboure. Fugiat laborum a 'toirt buaidh air an ùine a dh' fhalbh iad gu mòr. Chan eil ach an obair a 'dol a-steach gu neo-eisimeileach, magna eiusmod consectetur a-steach. Chan eil ach aon dhiubh nach eil fugiat id cupidatat nulla elit cupidatat commodo velit ut eiusmod cupidatat elit dolore.

Nì 2

Quis magna Lorem anim amet ipsum do mollit sit cillum voluptate ex nulla tempor. Bidh an obair-lann a’ leantainn gu eacarsaich neo elit cillum aliqua consequat id aliqua. Esse ex consectetur mollit voluptate est in duis laboris ad sit ipsum anim Lorem. Tha e coltach gu bheil e coltach ris an fhìrinn gu bheil Lorem aliqua quis ullamco deserunt sit enim elit aliqua esse irure. Laborum nisi sit est tempor laborum mollit labore officia labourum excepteur comodo non commodo dolor ach a-mhàin comodo. Ipsum fugiat exest consectetur ipsum comodo tempor sunt in prident.

Nì 3

Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Is e an fhìrinn gu bheil an t-àm ann airson an ùine as lugha a thoirt seachad ach a-mhàin an t-àm a th' ann an-dràsta. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.

Nì 4

Quis anim sit do amet fugiat dolor velit sit ea ea do reprehenderit culpa duis. Is e an fhìrinn gu bheil an t-àm ann airson an ùine as lugha a thoirt seachad ach a-mhàin an t-àm a th' ann an-dràsta. Deserunt tempor mollit elit ex pariatur dolore velit fugiat mollit culpa irure ullamco est ex ullamco excepteur.

<div id="list-example" class="list-group">
  <a class="list-group-item list-group-item-action" href="#list-item-1">Item 1</a>
  <a class="list-group-item list-group-item-action" href="#list-item-2">Item 2</a>
  <a class="list-group-item list-group-item-action" href="#list-item-3">Item 3</a>
  <a class="list-group-item list-group-item-action" href="#list-item-4">Item 4</a>
</div>
<div data-spy="scroll" data-target="#list-example" data-offset="0" class="scrollspy-example">
  <h4 id="list-item-1">Item 1</h4>
  <p>...</p>
  <h4 id="list-item-2">Item 2</h4>
  <p>...</p>
  <h4 id="list-item-3">Item 3</h4>
  <p>...</p>
  <h4 id="list-item-4">Item 4</h4>
  <p>...</p>
</div>

Cleachdadh

Tro fheartan dàta

Gus giùlan scrollaidh a chuir ris an t-seòladh bàr-mullaich agad gu furasta, cuir data-spy="scroll"ris an eileamaid a tha thu airson brath a ghabhail air (mar as trice b’ e seo am faidhle <body>). An uairsin cuir am data-targetfeart leis an ID no clas na h-eileamaid phàrant de phàirt Bootstrap sam bith .nav.

body {
  position: relative;
}
<body data-spy="scroll" data-target="#navbar-example">
  ...
  <div id="navbar-example">
    <ul class="nav nav-tabs" role="tablist">
      ...
    </ul>
  </div>
  ...
</body>

Air sgàth javascript

Às deidh position: relative;dhut do CSS a chuir a-steach, cuir fios chun scrollspy tro JavaScript:

$('body').scrollspy({ target: '#navbar-example' })

Tha feum air targaidean ID so-rèiteach

Feumaidh targaidean id fhuasgladh a bhith aig ceanglaichean Navbar. Mar eisimpleir, <a href="#home">home</a>feumaidh rudeigin a bhith a rèir rudeigin san DOM mar <div id="home"></div>.

Cha deach aire a thoirt do eileamaidean neo :visible-targaid

Cha tèid aire a thoirt do eileamaidean targaid nach eil a :visiblerèir jQuery agus cha tèid na nithean seòlaidh co-fhreagarrach aca a chomharrachadh gu bràth.

Dòighean-obrach

.scrollspy('refresh')

Nuair a bhios tu a’ cleachdadh scrollspy an co-bhonn ri cur ris no toirt air falbh eileamaidean bhon DOM, feumaidh tu an dòigh ùrachaidh a ghairm mar seo:

$('[data-spy="scroll"]').each(function () {
  var $spy = $(this).scrollspy('refresh')
})

.scrollspy('dispose')

A 'sgrios scrollspy eileamaid.

Roghainnean

Faodar roghainnean a thoirt seachad tro bhuadhan dàta no JavaScript. Airson buadhan dàta, cuir ainm an roghainn ri data-, mar ann an data-offset="".

Ainm Seòrsa Deònach Tuairisgeul
dheth àireamh 10 Pixels ri chothromachadh bhon mhullach nuair a thathar a’ tomhas suidheachadh an scrollaidh.

Tachartasan

Seòrsa Tachartas Tuairisgeul
ghnìomhachadh.bs.scrollspy Bidh an tachartas seo a’ losgadh air an eileamaid scrollaidh nuair a thèid rud ùr a chuir an gnìomh leis an scrollspy.
$('[data-spy="scroll"]').on('activate.bs.scrollspy', function () {
  // do something…
})