Scrollspy
Nuashonraigh go huathoibríoch nascleanúint Bootstrap nó liostaigh comhpháirteanna grúpa bunaithe ar shuíomh an scrolla chun a chur in iúl cén nasc atá gníomhach san amharclann faoi láthair.
Conas a oibríonn sé
Tá roinnt riachtanas ag Scrollspy chun feidhmiú i gceart:
- Má tá ár JavaScript á thógáil agat ón bhfoinse, teastaíonn
util.js
. - Ní mór é a úsáid ar chomhpháirt nascleanúna Bootstrap nó ar ghrúpa liostaí .
- Éilíonn Scrollspy
position: relative;
ar an eilimint a bhfuil tú ag spying air, de ghnáth an<body>
. - Nuair a spying ar eilimintí eile seachas an
<body>
, a bheith cinnte go bhfuilheight
sraith agusoverflow-y: scroll;
i bhfeidhm. - Tá ancairí (
<a>
) ag teastáil agus ní mór dóibh gné a chur in iúl leis sinid
.
Nuair a chuirtear i bhfeidhm go rathúil é, déanfaidh do ghrúpa nascleanúna nó liostaí nuashonrú dá réir, ag bogadh an .active
rang ó mhír amháin go dtí an chéad cheann eile bunaithe ar na spriocanna a bhaineann leo.
Sampla i navbar
Scrollaigh an limistéar faoi bhun an bharra nascleanúna agus féach ar an athrú gníomhach ranga. Cuirfear béim ar na míreanna anuas freisin.
@saille
Ábhar placeholder don sampla scrollspy. Tá an ailtireacht is fearr agat. Stampaí pas, tá sí cosmopolitan. Mín, úr, fíochmhar, fuaireamar faoi ghlas é. Níor bheartaigh riamh go mbeadh lá amháin á chailliúint agam. Itheann sí do chroí amach. Tá do phóg Cosmaí, tá gach gluaiseacht draíochta. Ciallaíonn mé na cinn, ciallóidh mé mar tá sí an ceann. Beannachtaí a ngaolta déanaimis turas. Níl le déanamh ach an oíche a bheith agat mar an 4 Iúil! Ach b'fhearr leat dul amú.
@mdo
Ábhar placeholder don sampla scrollspy. 'Is í an muse agus an t-ealaíontóir í. (Seo mar a dhéanaimid) Mar sin is mian leat imirt le draíocht. Mar sin bí cinnte sula dtugann tú é go léir dom. Tá mé ag siúl, tá mé ag siúl ar aer (anocht). Léim an chaint, chuala sé ar fad, am chun siúl ar an siúlóid.
aon
Placeholder content for the scrollspy example. Takes you miles high, so high, 'cause she’s got that one international smile. There's a stranger in my bed, there's a pounding in my head. Oh, no. In another life I would make you stay. ‘Cause I, I’m capable of anything. Suiting up for my crowning battle. Used to steal your parents' liquor and climb to the roof. Tone, tan fit and ready, turn it up cause its gettin' heavy. Her love is like a drug. I guess that I forgot I had a choice.
two
Placeholder content for the scrollspy example. It's time to bring out the big balloons. I'm walking, I'm walking on air (tonight). Yeah, we maxed our credit cards and got kicked out of the bar. Yo, shout out to all you kids, buying bottle service, with your rent money. I'm ma get your heart racing in my skin-tight jeans. If you get the chance you better keep her. Yo, shout out to all you kids, buying bottle service, with your rent money.
three
Ábhar placeholder don sampla scrollspy. Más mian leat rince, más mian leat go léir, tá a fhios agat go bhfuil mé an cailín ar chóir duit glaoch. Siúil tríd an stoirm ba mhaith liom. Mar sin lig dom tú a chur i do chulaith lá breithe. An ceann a d'éirigh as. Oíche Dé hAoine seo caite, yeah sílim gur bhris muid an dlí, a rá i gcónaí go bhfuil muid ag dul a stopadh. 'Cause tá sí beagán de Yoko, Agus tá sí beagán de 'Oh no'. Ba mhaith liom an jaw droppin', eye poppin', casadh ceann', turraing coirp'. Sea, d'uasmhéadaigh muid ár gcártaí creidmheasa agus fuaireamar ciceáil amach as an mbarra.
Agus roinnt ábhar áitsealbhóirí níos mó, le dea-bheart.
<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-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>
Sampla le nav neadaithe
Oibríonn Scrollspy freisin le neadaithe .nav
s. .nav
Má tá nead .active
, beidh a thuismitheoirí freisin .active
. Scrollaigh an limistéar in aice leis an mbarra nascleanúna agus féach ar an athrú gníomhach ranga.
Mír 1
Ábhar placeholder don sampla scrollspy. Baineann an ceann seo le mír 1. Tógann sí míle ar airde thú, chomh hard sin, mar tá an aoibh gháire idirnáisiúnta amháin sin uirthi. Tá strainséir i mo leaba, tá puntáil i mo cheann. Ó níl. I saol eile chuirfinn ort fanacht. 'Cúis mé, tá mé in ann rud ar bith. Oiriúnach do mo cath corónach. A úsáidtear chun deoch do thuismitheoirí a ghoid agus tóg go dtí an díon. Ton, tan aclaí agus réidh, cas suas é faoi deara go bhfuil sé trom. Tá a grá cosúil le druga. Ceapaim go ndearna mé dearmad go raibh rogha agam.
Mír 1-1
Ábhar placeholder don sampla scrollspy. Baineann an ceann seo leis an mír 1-1. Tá an ailtireacht is fearr agat. Stampaí pas, tá sí cosmopolitan. Mín, úr, fíochmhar, fuaireamar faoi ghlas é. Níor bheartaigh riamh go mbeadh lá amháin á chailliúint agam. Itheann sí do chroí amach. Tá do phóg Cosmaí, tá gach gluaiseacht draíochta. Ciallaíonn mé na cinn, ciallóidh mé mar tá sí an ceann. Beannachtaí a ngaolta déanaimis turas. Níl le déanamh ach an oíche a bheith agat mar an 4 Iúil! Ach b'fhearr leat dul amú.
Mír 1-2
Placeholder content for the scrollspy example. This one relates to the item 1-2. Her love is like a drug. All my girls vintage Chanel baby. Got a motel and built a fort out of sheets. 'Cause she's the muse and the artist. (This is how we do) So you wanna play with magic. So just be sure before you give it all to me. I'm walking, I'm walking on air (tonight). Skip the talk, heard it all, time to walk the walk. Catch her if you can. Stinging like a bee I earned my stripes.
Item 2
Placeholder content for the scrollspy example. This one relates to item 2. Don't need apologies. There is no fear now, let go and just be free, I will love you unconditionally. Last Friday night. Don't be a shy kinda guy I'll bet it's beautiful. Summer after high school when we first met. 'Cause she's the muse and the artist. What? Wait. No, no, no, no. Thought that I was the exception.
Item 3
Placeholder content for the scrollspy example. This one relates to item 3. Word on the street, you got somethin' to show me, me. All this money can't buy me a time machine. Make it like your birthday everyday. So we hit the boulevard. You make me feel like I'm livin' a teenage dream, the way you turn me on Skip the talk, heard it all, time to walk the walk. Word on the street, you got somethin' to show me, me. It's no big deal, it's no big deal, it's no big deal.
Item 3-1
Placeholder content for the scrollspy example. This one relates to item 3-1. Baby do you dare to do this? This is no big deal. Yeah, you're lucky if you're on her plane. Just own the night like the 4th of July! Standing on the frontline when the bombs start to fall. So just be sure before you give it all to me.
Item 3-2
Ábhar placeholder don sampla scrollspy. Baineann an ceann seo le mír 3-2. Tá tú bunaidh, ní féidir é a ionadú. Gach oíche tá siad ag seinm, do amhrán. Cailíní California tá muid do shéanadh. Cosúil le héan gan cage. Níl eagla ar bith anois, lig as agus bí saor, beidh grá agam duit gan choinníoll. Is féidir liom an scríbhinn a fheiceáil ar an mballa. D’fhéadfá an domhan a thaisteal ach ní thagann aon rud gar don chósta órga.
<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 1-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>
Sampla le liosta-ghrúpa
Oibríonn Scrollspy freisin le .list-group
s. Scrollaigh an limistéar in aice leis an ngrúpa liosta agus féach ar an athrú gníomhach ranga.
Mír 1
Ábhar sealbhóir áitribh don sampla liosta-grúpa scrollspy. Baineann an ceann seo le mír 1. Ní gá leithscéal a ghabháil. Níl eagla ar bith anois, lig as agus bí saor, beidh grá agam duit gan choinníoll. Oíche dé hAoine seo caite. Ná bheith ina fhear cúthail cineálta cuirfidh mé geall go bhfuil sé go hálainn. Samhradh tar éis na scoile ard nuair a bhuail muid ar dtús. 'Is í an muse agus an t-ealaíontóir í. Cad? Fan. Shíl mé go raibh mé an eisceacht.
Mír 2
Ábhar sealbhóir áitribh don sampla liosta-grúpa scrollspy. Baineann an ceann seo le mír 2. Sea, damhsaíonn sí dá buille féin. Ó níl. D'fhéadfá a bheith is mó. ‘Cúis, a bhabaí, is tine ealaíne thú. B’fhéidir fáth a bhfuil na doirse go léir dúnta. Oscail do chroí agus lig dó tosú. Mar sin très chic, yeah, tá sí ina clasaiceach.
Mír 3
Ábhar sealbhóir áitribh don sampla liosta-grúpa scrollspy. Baineann an ceann seo le mír 3. Téann muid níos airde agus níos airde. Ná ceann amháin gan an ceann eile, rinneamar comhaontú. Tá mé ag siúl ar an aer. Dúirt duine éigin gur baineadh do tatú as. Anois tá mé ag snámh cosúil le féileacán. Ton, tan aclaí agus réidh, cas suas é faoi deara go bhfuil sé trom. Cause nuair a bhíonn tú liom, nuair a bhíonn tú liom. Níl le déanamh agat ach an solas a lasadh agus ligean dó lasadh! Mar sin bhuaileamar an boulevard. An mbraitheann tú riamh, dar leat chomh tanaí páipéir. Feicim é ar fad, feicim anois é.
Mír 4
Ábhar sealbhóir áitribh don sampla liosta-grúpa scrollspy. Baineann an ceann seo le mír 4. Samhradh tar éis na scoile ard nuair a bhuaileamar ar dtús. Níl eagla ar bith anois, lig as agus bí saor, beidh grá agam duit gan choinníoll. Craiceann póg gréine chomh te sin leáimid do phóg. Cuirfidh an grá seo levitate tú.
<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>
Úsáid
Trí tréithe sonraí
Chun iompar scrollspy a chur le do nascleanúint barrbharra go héasca, cuir data-spy="scroll"
leis an eilimint a bhfuil tú ag iarraidh spiaireacht a dhéanamh air (go hiondúil is é seo an <body>
). Ansin cuir an data-target
tréith leis an ID nó le haicme na máthaireiliminte d'aon .nav
chomhpháirt Bootstrap.
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>
Trí JavaScript
Tar éis position: relative;
duit do CSS a chur isteach, cuir glaoch ar an scrollspy trí JavaScript:
$('body').scrollspy({ target: '#navbar-example' })
Spriocanna aitheantais inréite ag teastáil
Caithfidh spriocanna aitheantais inréite a bheith ag naisc Navbar. Mar shampla, <a href="#home">home</a>
ní mór a fhreagraíonn do rud éigin sa DOM cosúil le <div id="home"></div>
.
Neamhaird :visible
déanta ar eilimintí neamhsprice
Ní thabharfar aird ar sprioc-eilimintí nach bhfuil :visible
de réir jQuery agus ní thaispeánfar a n-ítimí nascleanúna comhfhreagracha choíche.
Modhanna
.scrollspy('refresh')
Agus scrollspy in úsáid in éineacht le heilimintí a chur leis nó a bhaint den DOM, beidh ort an modh athnuachana a ghlaoch mar seo:
$('[data-spy="scroll"]').each(function () {
var $spy = $(this).scrollspy('refresh')
})
.scrollspy('dispose')
Scriosann scrollspy eilimint.
Roghanna
Is féidir roghanna a chur ar aghaidh trí tréithe sonraí nó JavaScript. Maidir le tréithe sonraí, cuir ainm na rogha i gceangal le data-
, mar atá i data-offset=""
.
Ainm | Cineál | Réamhshocrú | Cur síos |
---|---|---|---|
fhritháireamh | uimhir | 10 | Picteilíní le fritháireamh ón mbarr agus suíomh an scrolla á ríomh. |
modh | teaghrán | gluaisteán | Aimsítear cén chuid ina bhfuil an eilimint spied. auto roghnóidh sé an modh is fearr chun comhordanáidí scrollaithe a fháil. offset úsáidfidh an modh fritháirimh jQuery chun comhordanáidí scrollaithe a fháil. position úsáidfidh an modh suímh jQuery chun comhordanáidí scrollaithe a fháil. |
sprioc | teaghrán | réad jQuery | eilimint DOM | Sonraítear eilimint chun breiseán Scrollspy a chur i bhfeidhm. |
Imeachtaí
Cineál Imeachta | Cur síos |
---|---|
ghníomhachtú.bs.scrollspy | Buaileann an teagmhas seo an eilimint scrollbharra aon uair a ghníomhaíonn an scrollspy mír nua. |
$('[data-spy="scroll"]').on('activate.bs.scrollspy', function () {
// do something...
})