MouseWheel ScrollTo, или как да преминете към желаната котва с помощта на колелцето на мишката
Здравейте. Има дълга страница (главна) и има неудобство при четене на тази страница. Страницата е подредена на секции, така че реших, че ще е удобно да прескачам от секция на секция с помощта на колелото. Намерих в Google и леко модифицирах следния скрипт за себе си:
Всичко работи по предназначение. Но не навсякъде. Например на лаптопи не всички секции са идеално пригодени за височината на екрана и потребителят пропуска почти половината от секцията, защото при превъртане на мишката преминава към следващата. раздел. Как се прилага sl.: докато sl. блок не се появи в долната част на екрана, не прескачайте към следващия. раздел? Тези. т.нар. overflow-scroll="true"? Или може би вече има готови опции? (не превъртане на цяла страница, което разтяга всички секции, за да пасне на екрана на потребителя)
В крайна сметка получих код като този $(function() (function() var delay = false;
event.preventDefault(); if(отлагане) връщане;
закъснение=вярно; setTimeout(функция(),200)
var wd = event.originalEvent.wheelDelta -event.originalEvent.detail;
var a= document.getElementsByClassName('scrollAnchor'); if(wd = 40) break; > > else for(var i = a.length-1 ; i >= 0 ; i--) var t = a[i].getClientRects()[0].top; ако(t >> >); >)(); >); но не проработи
По някаква причина не работи: $(function() (function() var delay = false; function getWinHeight() if($(window).height()0)?true:false; scrollTop=scroll; if(((winHeight+scrollTop) > a[curElemID+1].offsetTop) && delta) //преместване надолу, не достигна край на слайд return ; >else event.preventDefault(); if(delay) return;
закъснение=вярно; setTimeout(функция(),200)