Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

scroll ΠΈ wheel β€” JavaScript β€” Π”ΠΎΠΊΠ°

ΠšΡ€Π°Ρ‚ΠΊΠΎ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΡ€Π°Ρ‚ΠΊΠΎ»

scroll β€” это событиС Π½Π° HTML-элСмСнтС. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ происходит, ΠΊΠΎΠ³Π΄Π° страница ΠΈΠ»ΠΈ элСмСнт Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π½Π° экран ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Ρ‘ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚. Бпособ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΡŽΠ±Ρ‹ΠΌ β€” колСсом ΠΌΡ‹ΡˆΠΈ, ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π½Π° экранС.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ wheel происходит, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ колСсо ΠΌΡ‹ΡˆΠΈ. ΠŸΡ€ΠΈ этом Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ прокручивания ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ. НапримСр, наша страница ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ помСщаСтся Π½Π° экран, Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся Π΅Ρ‘ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ. Π’ этом случаС событиС wheel Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ, Π° событиС scroll β€” Π½Π΅Ρ‚.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ wheel Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ пытаСтся ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ страницу ΠΈΠ»ΠΈ элСмСнт, Π° событиС scroll Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ происходит.

Как ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΠ°ΠΊ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ»

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ addEventListener():

document. addEventListener('scroll', function(event) {  console.log(event)})
          document.addEventListener('scroll', function(event) {
  console.log(event)
})

ΠžΡ‚Π»ΠΎΠ²ΠΈΠΌ всС случаи, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ колСсо ΠΌΡ‹ΡˆΠΈ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ <div> курсорС:

const div = document.getElementsByTagName('div')[0]div.addEventListener('wheel', function(event) {  console.log(event)})
          const div = document.getElementsByTagName('div')[0]
div.addEventListener('wheel', function(event) {
  console.log(event)
})

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠšΠ°ΠΊ ΠΏΠΎΠ½ΡΡ‚ΡŒ»

Π Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ событиями ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π½Π° Π΄Π΅ΠΌΠΎ Π½ΠΈΠΆΠ΅. wheel происходит всСгда ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ колСсо ΠΌΡ‹ΡˆΠΈ (ΠΈΠ»ΠΈ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΅Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π΅Π΅), Π° scroll Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅:

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΌΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ события

scroll БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠžΠ±ΡŠΠ΅ΠΊΡ‚ события scroll»

scroll ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ элСмСнт события, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ отсутствуСт информация ΠΎ скорости ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, насколько ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΠ»Π°ΡΡŒ страница ΠΈΠ»ΠΈ элСмСнт, этот элСмСнт ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ ΠΈΠ· DOM-Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова this ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ свойства scrollTop ΠΈΠ»ΠΈ scrollLeft.

document.addEventListener('scroll', function() {  // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ высоту элСмСнта, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС  console.log(this.scrollTop)})
          document.addEventListener('scroll', function() {
  // ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ высоту элСмСнта, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ событиС
  console.log(this.scrollTop)
})

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ события

wheel БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠžΠ±ΡŠΠ΅ΠΊΡ‚ события wheel»

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΏΡ€ΠΈ wheel Π½Π΅ происходит, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ события содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ «силС» ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π² свойствах:

  • deltaX β€” Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Ρ†Π΅Π»ΠΎΠ΅ число:
    • ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π»Π΅Π²ΠΎ;
    • 0 β€” Ссли Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π½Π΅ происходит
    • ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π²ΠΏΡ€Π°Π²ΠΎ;
  • deltaY β€” Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” Ρ†Π΅Π»ΠΎΠ΅ число:
    • ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅, Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π²Π΅Ρ€Ρ…;
    • 0 β€” Ссли Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π½Π΅ происходит
    • ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π²Π½ΠΈΠ·;

Если элСмСнт ΠΈΠΌΠ΅Π΅Ρ‚ полосу ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Ρ‚ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ послС события

wheel происходит scroll (смотри ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΡˆΠ΅). Π­Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Π²Ρ‹Π·Π²Π°Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ события preventDefault().

document.addEventListener('wheel', function(event) {  // останавливаСм ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ  event.preventDefault()})
          document.addEventListener('wheel', function(event) {
  // останавливаСм ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ
  event.preventDefault()
})

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° события ΠΌΠΎΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнт ΠΏΠΎ экрану ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ колСса ΠΌΡ‹ΡˆΠΈ Π½Π° дСсктопС. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π΄Π΅ΠΌΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΏΠΎ ссылкС Π²Π½ΠΈΠ·Ρƒ.

ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄Π΅ΠΌΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅

На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠΠ° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅»

Николай Π›ΠΎΠΏΠΈΠ½

БСкция ΡΡ‚Π°Ρ‚ΡŒΠΈ «ΠΠΈΠΊΠΎΠ»Π°ΠΉ Π›ΠΎΠΏΠΈΠ½»

πŸ›  Если Π²Ρ‹ подписались Π½Π° scroll, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ³ΠΎΡ‚ΠΎΠ²ΡŒΡ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ большоС количСство событий. Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ°Π΄Ρ€. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ Π½Π΅ рСкомСндуСтся ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ тяТёлых вычислСний ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ DOM. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΊΠ°Π΄Ρ€ΠΎΠ² ΠΏΡ€ΠΈ отрисовкС ΠΈ ощущСния, Ρ‡Ρ‚ΠΎ сайт Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚.

πŸ›  Π˜Π·Π±Π΅ΠΆΠ°Ρ‚ΡŒ большого количСства событий scroll ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ throttling. Π•Ρ‘ смысл состоит Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ событиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС истСчСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΊΠ° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

const throttle = (func, limit) => {  let lastFunc  let lastRan  return function() {    const context = this    const args = arguments    if (!lastRan) {      func.apply(context, args)      lastRan = Date.now()    } else {      clearTimeout(lastFunc)      lastFunc = setTimeout(function() {        if ((Date.now() - lastRan) >= limit) {          func.apply(context, args)          lastRan = Date.now()        }      }, limit - (Date.now() - lastRan))    }  }}// ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π· Π² 1 сСкундуdocument.addEventListener('scroll', throttle(function() {  return console. log('Hey! It is', new Date().toUTCString())}, 1000))
          
const throttle = (func, limit) => { let lastFunc let lastRan return function() { const context = this const args = arguments if (!lastRan) { func.apply(context, args) lastRan = Date.now() } else { clearTimeout(lastFunc) lastFunc = setTimeout(function() { if ((Date.now() - lastRan) >= limit) { func.apply(context, args) lastRan = Date.now() } }, limit - (Date.now() - lastRan)) } } } // ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π°Π· Π² 1 сСкунду document.addEventListener('scroll', throttle(function() { return console.log('Hey! It is', new Date().toUTCString()) }, 1000))

ΠžΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Β· Bootstrap. ВСрсия v4.6

CΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° GitHub

АвтоматичСски обновляйтС элСмСнты Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Bootstrap ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ списков Π² зависимости ΠΎΡ‚ полоТСния ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, какая ссылка Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Π° Π² области просмотра.

Как это устроСно

Бкроллспай ΠΈΠΌΠ΅Π΅Ρ‚ нСсколько Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹:

  • Если Π²Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚Π΅ JavaScript ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ², Π²Π°ΠΌ потрСбуСтся util.js.
  • Бкроллспай Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ… Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ΅ списка.
  • Бкроллспай Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ position: relative; Ρƒ Ρ‚ΠΎΠ³ΠΎ элСмСнта, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ производится Ρ€Π°Π±ΠΎΡ‚Π° скроллспай, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это
    <body>
    .
  • Когда Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠ»Π°Π³ΠΈΠ½Π° происходит ΠΏΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ элСмСнтам <body>, ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Π΄Π°Π»ΠΈ height ΠΈ overflow-y: scroll;.
  • Якоря (<a>) Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° элСмСнт с Ρ‚Π΅ΠΌ ΠΆΠ΅ id.

ΠŸΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ваши элСмСнты nav ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ списка Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ соотвСтствСнно, пСрСдавая класс .active ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ, Π±Π°Π·ΠΈΡ€ΡƒΡΡΡŒ Π½Π° связанных с Π½ΠΈΠΌΠΈ «цСлях».

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Π² navbar

ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π±Π»ΠΈΠΆΠ΅ ΠΊ Π½Π°Π²Π±Π°Ρ€Ρƒ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°ΠΉΡ‚Π΅, ΠΊΠ°ΠΊ измСняСтся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ класс. Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹.

@fat

Placeholder content for the scrollspy example. You got the finest architecture. Passport stamps, she’s cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I’d be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she’s the one. Greetings loved ones let’s take a journey. Just own the night like the 4th of July! But you’d rather get wasted.

@mdo

Placeholder content for the scrollspy example. ‘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.

ΠΎΠ΄ΠΈΠ½

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.

Π΄Π²Π°

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.

Ρ‚Ρ€ΠΈ

Placeholder content for the scrollspy example. If you wanna dance, if you want it all, you know that I’m the girl that you should call. Walk through the storm I would. So let me get you in your birthday suit. The one that got away. Last Friday night, yeah I think we broke the law, always say we’re gonna stop. ‘Cause she’s a little bit of Yoko, And she’s a little bit of ‘Oh no’. I want the jaw droppin’, eye poppin’, head turnin’, body shockin’. Yeah, we maxed our credit cards and got kicked out of the bar.

And some more placeholder content, for good measure.

<nav>
  <a href="#">ПанСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ</a>
  <ul>
    <li>
      <a href="#fat">@fat</a>
    </li>
    <li>
      <a href="#mdo">@mdo</a>
    </li>
    <li>
      <a data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false">Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список</a>
      <div>
        <a href="#one">ΠΎΠ΄ΠΈΠ½</a>
        <a href="#two">Π΄Π²Π°</a>
        <div role="separator"></div>
        <a href="#three">Ρ‚Ρ€ΠΈ</a>
      </div>
    </li>
  </ul>
</nav>
<div data-spy="scroll" data-target="#navbar-example2" data-offset="0">
  <h5>@fat</h5>
  <p>.
..</p> <h5>@mdo</h5> <p>...</p> <h5>ΠΎΠ΄ΠΈΠ½</h5> <p>...</p> <h5>Π΄Π²Π°</h5> <p>...</p> <h5>Ρ‚Ρ€ΠΈ</h5> <p>...</p> </div>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌ элСмСнтом nav

Если Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ элСмСнт класса .nav ΠΈΠΌΠ΅Π΅Ρ‚ класс .active, Π΅Π³ΠΎ Β«Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΒ» Π±ΡƒΠ΄ΡƒΡ‚ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Ρ‚ΡŒ класс .active. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ ΠΊ области, Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ Π½Π°Π²Π±Π°Ρ€Ρƒ, ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ класс Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ элСмСнта измСнится.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1

Placeholder content for the scrollspy example. This one relates to item 1. 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.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1-1

Placeholder content for the scrollspy example. This one relates to the item 1-1. You got the finest architecture. Passport stamps, she’s cosmopolitan. Fine, fresh, fierce, we got it on lock. Never planned that one day I’d be losing you. She eats your heart out. Your kiss is cosmic, every move is magic. I mean the ones, I mean like she’s the one. Greetings loved ones let’s take a journey. Just own the night like the 4th of July! But you’d rather get wasted.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 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.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 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.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 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.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 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.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3-2

Placeholder content for the scrollspy example. This one relates to item 3-2. You’re original, cannot be replaced. All night they’re playing, your song. California girls we’re undeniable. Like a bird without a cage. There is no fear now, let go and just be free, I will love you unconditionally. I can see the writing on the wall. You could travel the world but nothing comes close to the golden coast.

<nav>
  <a href="#">ПанСль Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ</a>
  <nav>
    <a href="#item-1">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1</a>
    <nav>
      <a href="#item-1-1">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1-1</a>
      <a href="#item-1-2">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1-2</a>
    </nav>
    <a href="#item-2">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2</a>
    <a href="#item-3">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3</a>
    <nav>
      <a href="#item-3-1">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3-1</a>
      <a href="#item-3-2">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3-2</a>
    </nav>
  </nav>
</nav>

<div data-spy="scroll" data-target="#navbar-example3" data-offset="0">
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1</h5>
  <p>. ..</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1-1</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1-2</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3-1</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3-2</h5>
  <p>...</p>
</div>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ с Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ списков

Бкроллспай Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с элСмСнтами класса .list-group. ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚Π΅ Π΄ΠΎ области, Π±Π»ΠΈΠ·ΠΊΠΎΠΉ ΠΊ Π³Ρ€ΡƒΠΏΠΏΠ΅ списков, ΠΈ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅, ΠΊΠ°ΠΊ измСняСтся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ класс.

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3 Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 4

<div>
  <a href="#list-item-1">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1</a>
  <a href="#list-item-2">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2</a>
  <a href="#list-item-3">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3</a>
  <a href="#list-item-4">Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 4</a>
</div>
<div data-spy="scroll" data-target="#list-example" data-offset="0">
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 1</h5>
  <p>. ..</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 2</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 3</h5>
  <p>...</p>
  <h5>Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ 4</h5>
  <p>...</p>
</div>

ИспользованиС

Π§Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹

Для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ добавлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ скроллспая ΠΊ вашСй ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ Π²Π²Π΅Ρ€Ρ…Ρƒ страницы, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-spy="scroll" ΠΊ элСмСнту, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ скроллспаСм (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ это Π±Ρ‹Π²Π°Π΅Ρ‚ <body>). Π—Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ data-target с ID ΠΈΠ»ΠΈ классом Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта любого ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° .nav.

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

Π§Π΅Ρ€Π΅Π· JavaScript

ПослС добавлСния position: relative; Π² ваш CSS, Π²Ρ‹Π·ΠΎΠ²ΠΈΡ‚Π΅ скроллспай Ρ‡Π΅Ρ€Π΅Π· JavaScript:

$('body').scrollspy({ target: '#navbar-example' })
Resolvable ID targets required

Бсылки Π½Π°Π²Π±Π°Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½Π°Ρ†Π΅Π»Π΅Π½Ρ‹ Π½Π° элСмСнты с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ id. НапримСр, элСмСнт <a href="#home">home</a> Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ с Π½Π΅ΠΊΠΈΠΌ элСмСнтом DOM, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ id: <div></div>.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹

.scrollspy('refresh')

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ скроллспай Π² сочСтании с Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ элСмСнтов ΠΈΠ· DOM, Π²Π°ΠΌ потрСбуСтся Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

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

Π£Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ°Π΅Ρ‚ скроллспай элСмСнта.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΈΠ»ΠΈ JavaScript. Π’ случаС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² – Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΊ data-, ΠΊΠ°ΠΊ Π² data-offset="".

НазваниС Π’ΠΈΠΏ Π£ΠΌΠΎΠ»Ρ‡. ОписаниС
offset number 10 Число пиксСлСй для отступа ΠΎΡ‚ Π²Π΅Ρ€Ρ…Π° ΠΏΡ€ΠΈ вычислСнии ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
method string auto Находит, Π² ΠΊΠ°ΠΊΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ находится элСмСнт spied. auto Π²Ρ‹Π±Π΅Ρ€Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. offset Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ смСщСния jQuery для получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ. position Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ позиционирования jQuery для получСния ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ.
target string ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ элСмСнт для примСнСния ΠΏΠ»Π°Π³ΠΈΠ½Π° Scrollspy.

Бобытия

Π’ΠΈΠΏ события ОписаниС
activate.bs.scrollspy Π­Ρ‚ΠΎ событиС запускаСтся Π½Π° элСмСнтС ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΈ скроллспаСм Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΈΠ»ΠΈ Π½Π΅Ρ‚.
$('[data-spy="scroll"]').on('activate.bs.scrollspy', function () {
  // сдСлайтС Ρ‡Ρ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ...
})

Please enable JavaScript to view the comments powered by Disqus.

10 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств (ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ 2022 Π³.)

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠΉ страницы?

ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠΉ страницы β€” это Π²Π΅Π±-тСхнология, которая позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ возмоТности ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ мобильного прилоТСния Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ One Page Scroll ваши посСтитСли ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ страницы (с ΠΏΠΎΠ»Π½ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½ΠΎΠΉ ΠΈ высотой), ΠΊΠ°ΠΊ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах.

Π›ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы

Π’ этом постС ΠΌΡ‹ пСрСчисляСм 10 Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² jQuery ΠΈ Vanilla JavaScript для ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы с сСнсорным экраном , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Π½Π° ПК, Ρ‚Π°ΠΊ ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах. ΠΠ°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ.

ΠŸΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ 14 фСвраля 2019 Π³., ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΎ 31 января 2022 Π³.

  • ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы Vanilla JS
  • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ jQuery для ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы

    Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ полноэкранных Π²Π΅Π±-сайтов с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ fullPage.js

    fullPage.js β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ»Π°Π³ΠΈΠ½ jQuery для одностраничного Π²Π΅Π±-сайта, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Π±-страницы с Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ»ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ с ΠΏΠ»Π°Π²Π½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΏΠ»Π°Π²Π½ΠΎΡΡ‚ΡŒΡŽ. ΠΎΠΏΡ†ΠΈΠΈ.

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    АвтоматичСский ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ β€” SnapScroll

    Плагин jQuery для Π²Π΅Π±-сайта с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ автоматичСски ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π°Π·Π΄Π΅Π» страницы ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π²Π²Π΅Ρ€Ρ…/Π²Π½ΠΈΠ·. Π²Π΅Π±-страницу с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ колСсика ΠΌΡ‹ΡˆΠΈ.

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы — jQuery fsscroll

    Π›Π΅Π³ΠΊΠΈΠΉ (ΠΌΠ΅Π½Π΅Π΅ 4 ΠšΠ‘), быстрый ΠΏΠ»Π°Π³ΠΈΠ½ jQuery ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ полноэкранный слайдСр/ΠΊΠ°Ρ€ΡƒΡΠ΅Π»ΡŒ страниц ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅, Ρ‚Π°ΠΊ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    Плагин JavaScript для ΠΏΠ»Π°Π²Π½ΠΎΠΉ привязки ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ β€” panelSnap

    Плагин JavaScript (jQuery являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π»ΠΎΠΊΠ°ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅ Π²Π΅Π±-страницы ΠΈΠ»ΠΈ Π΅Π΅ частСй. .

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    Плагин jQuery для красивого Π²Π΅Π±-сайта с полноэкранной ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ — pagePiling.js

    Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ»Π°Π³ΠΈΠ½ jQuery для ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π²Π΅Π±-страницу ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅ привязки .

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    Π›ΡƒΡ‡ΡˆΠΈΠ΅ Π²Π°Π½ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ для ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы Π½Π° JavaScript

    onepagescroll.

    js

    ΠžΠ±Π»Π΅Π³Ρ‡Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript, ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‰Π°Ρ созданиС эффСкта ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ страницС. страничный Π²Π΅Π±-сайт / одностраничноС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ навигация с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΈ сСнсорныС события.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π΅ΠΌΠΎ-вСрсии


    Боковая навигация для Π²Π΅Π±-сайта с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы β€” Ρ‚ΠΎΡ‡ΠΊΠ°-nav

    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° JavaScript с Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ-навигация автоматичСски создаСт Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ для Π²Π΅Π±-сайта с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСмовСрсии


    fullPageScrollPureJS

    Чистая рСализация JavaScript/CSS для кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠ»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы Π±Π΅Π· Ρ‚Ρ€Π΅Ρ‚ΡŒΠΈΡ… зависимостСй.

    [Π”Π΅ΠΌΠΎ] [Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ]


    Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ с простой ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы – слайд-навигация

    Π›Π΅Π³ΠΊΠΈΠΉ, простой Π² использовании ΠΏΠ»Π°Π³ΠΈΠ½ JavaScript, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для создания Π»ΠΈΠΏΠΊΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ для Π²Π°ΡˆΠΈΡ… Π²Π΅Π±-страниц с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы. Scrollspy ΠΈ плавная ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ.

    Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ


    Плагин Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы с JavaScript β€” Cachu Slider

    Cachu Slider β€” это Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ слайдСра страниц JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ с Π»Π΅Π³ΠΊΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²Ρ‹ΠΉ Π²Π΅Π±-сайт с ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ ΠΎΠ΄Π½ΠΎΠΉ страницы ΠΈΠ»ΠΈ одностраничноС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

    Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° дСмовСрсии


    Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы:

    Π˜Ρ‰Π΅Ρ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ jQuery ΠΈΠ»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript для создания ΠΏΠΎΡ‚Ρ€ΡΡΠ°ΡŽΡ‰ΠΈΡ… эффСктов ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ ΠΈ Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах? Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ свСдСния см. Π² Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… jQuery One Page Scroll ΠΈ JavaScript One Page Scroll.

    Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅:

    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ JavaScript для ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ страницы
    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ с эффСктом ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ параллакса
    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Smooth Scroll
    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Scrollspy для JavaScript
    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ бСсконСчной ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π² JavaScript
    • Π›ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΎΠΉ, с JavaScript

    ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅, ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π°

    ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° ΠΎΠΊΠ½Π°

    Π’Π° ΠΆΠ΅ концСпция, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ дСйствия. scrollBy() ΠΈ ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ scrollTo() ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π²Π²Π΅Ρ€Ρ…-Π²Π½ΠΈΠ·, Π²Π»Π΅Π²ΠΎ-Π²ΠΏΡ€Π°Π²ΠΎ ΠΈΠ»ΠΈ Π² ΠΎΠ±Π°. Π’ΠΎΡ‚ ΠΎΠ½ΠΈ, Π°ΠΊΠΊΡƒΡ€Π°Ρ‚Π½ΠΎ пСрСчислСнныС Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°:

    ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ОписаниС
    scrollBy(dx, dy) ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π² пиксСлях
    ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ Π΄ΠΎ (Ρ…, Ρƒ) ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ с Π΄ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ значСния пиксСлСй

    Π― Π΄ΡƒΠΌΠ°ΡŽ, довольно понятно, ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ вмСсто этого я просто ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΡƒΡΡŒ Π½Π° ΠΏΠ°Ρ€Π΅ ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–1: Π—Π°ΠΏΡ€Π΅Ρ‚ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Π½ΠΈΠ·

    Π’ этом ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ scrollTo() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Β«Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΒ» ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΡƒ страницы. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, скаТСм, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠ³ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ со страницСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½. РСализация довольно проста, Π½Π° самом Π΄Π΅Π»Π΅. ΠŸΡ€ΠΎΡΡ‚ΠΎ постоянно Π·Π²ΠΎΠ½ΠΈΡ‚Π΅ window.scrollTo(0,0) ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ страницы. Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°. Π’ΠΎΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠ΄:

     
    <Π³ΠΎΠ»ΠΎΠ²Π°>
    <Ρ‚ΠΈΠΏ сцСнария="тСкст/javascript">
    var lockit = setInterval ("window.scrollTo (0,0)", 10)
    
    
    
    
     

    Для всСх, ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ setInterval Π²Ρ‹ΡˆΠ΅, это ΠΌΠ΅Ρ‚ΠΎΠ΄ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ setTimeout, ΠΊΡ€ΠΎΠΌΠ΅ setInterval постоянно запускаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°ΠΌΠΈ ΠΏΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ (Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·).

    ΠŸΡ€ΠΈΠΌΠ΅Ρ€ β„–2: Бсылка ΠΊΠ°ΠΊ полоса ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° moveBy(), Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ полосы ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скрипта.