Имеется следующий код:
$(window).scroll(function (e) {
var body = document.body,
html = document.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight );
dtcur = new Date();
dtcur=dtcur.getTime();
dtdiff = parseInt((dtcur-dt));
var currentscrolled=parseInt($(this).scrollTop());
var browswidth = document.body.clientWidth+17;
var item1=parseInt($('#item-1').offset().top);
var item2=parseInt($('#item-2').offset().top);
var item3=parseInt($('#item-3').offset().top);
var item4=parseInt($('#item-4').offset().top);
var item5=parseInt($('#item-5').offset().top);
var item6=parseInt($('#item-6').offset().top);
if(browswidth<1100)
{}
else{
if((currentscrolled>item1&¤tscrolled<item2)||(currentscrolled>=item6) || currentscrolled==0)
{$('#navbar').hide();}else{$('#navbar').show();}
if(dtdiff>1000 &&flag==0){
if(currentscrolled<0){$('body, html').animate({scrollTop:0},0);
}else{}
if(currentscrolled>scrolledlast){
if(posmax>pos){
pos++;
}
var blockps = $('div.bg--'+pos).offset().top;
blockps=parseInt(blockps);
scrolledlast=currentscrolled
$('body, html').animate({scrollTop:blockps},800);
}
else{
if(posmin<pos){
pos=pos-1;
}
if(pos==1){
$('body, html').animate({scrollTop:0},800);
}else{
var blockps = $('div.bg--'+pos).offset().top;
blockps=parseInt(blockps);
scrolledlast=currentscrolled
$('body, html').animate({scrollTop:blockps},800);
}
}
dt= new Date();
dt = dt.getTime();
}else{flag=0;}
scrolledlast=currentscrolled;
}}
Сделан он для того, чтобы сделать поблочный скролл- один div размером с экран монитора. При быстрой и/или частой прокрутке экран начинает дёргаться - как этого избежать?
Ссылка на сайт : http://lendsale.ru/stackoverflow/
Сложно разобраться, что именно не так с вашим кодом. Вот пример такого слайдера: https://jsfiddle.net/CLackyM/fcksq4L1/ Скорость реакции на окончание скролла вот здесь:
window.mainSliderScrollTimeout = setTimeout(function(){
window.goNearestSlide();
},500);
А скорость анимации вот здесь:
$('html').animate({
scrollTop:o
}, 500,"easeOutQuad", function () {
console.log('scrll complete');
});
Чтобы сделать кнопки вперёд назад можно создать переменную для хранения текущего слайда и через функцию window.goSlide(x) переключать слайды
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Пытаюсь выявить наличие определенного параметра в url:
Цель - отправить данные формы в Google Sheets для записи в соответствующие поляЯ использовал эту статью, но мой скрипт выдает ошибку:
Всем привет! Возникла задача: Существует n кол-во дивов с одним классом и надо выбрать именно первые 3 div с помощью JS или JQНикак не могу найти...
Сейчас работаю с формой, где пользователь должен заполнить поля и выбрать тип из элемента selectНо при нажатие на select, отоброжается слишком...