jQuery转盘滚动抖动
jQuery carousel scroll jitter
我的jquery carousel数据幻灯片有问题,我已将其设置为滚动到内容,它可以工作,但当您尝试向上滚动时,页面会抖动。
我能够使用阻止它
e.preventDefault();
但这在旋转木马标头中产生了其他问题,当它们变为活动时,它们停止了移动和更改类。
这是我的JS
$(".scrolltotab").click(function(e) {
var hre = e.currentTarget.href;
var id = hre.split("#");
id = id[1];
$('html, body').animate({
scrollTop: $("#custom_carousel").offset().top
}, 1000);
})
$('#custom_carousel').on('slide.bs.carousel', function(evt) {
e.preventDefault();
$('html, body').animate({
scrollTop: $("#custom_carousel").offset().top
}, 1000);
$('#custom_carousel .controls li.active').removeClass('active');
$('#custom_carousel .controls li:eq(' + $(evt.relatedTarget).index() + ')').addClass('active');
})
$(".customnum").keydown(function(e) {
// Allow: backspace, delete, tab, escape, enter and .
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
// Allow: Ctrl+A, Command+A
(e.keyCode == 65 && (e.ctrlKey === true || e.metaKey === true)) ||
// Allow: home, end, left, right, down, up
(e.keyCode >= 35 && e.keyCode <= 40)) {
// let it happen, don't do anything
return;
}
// Ensure that it is a number and stop the keypress
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
因为当用户在滚动动画过程中尝试滚动时,滚动位置将在用户和动画之间保持切换,直到动画停止。所以,通过此SO帖子你可以尝试注册mousewheel
事件,当人们滚动时会发生,但当js滚动时不会发生,所以你可以尝试登记另一个事件:
// Stop anime when user scrolls
var onMosueWheel = function(e) {
$('html, body').stop();
};
// Register the mousewheel event.
$(document).on('mousewheel', onMosueWheel);
通过chrome开发工具在您的网站上进行测试。
相关文章:
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 设置滑块分区上的滚动
- 这种无缝的字幕风格使每个滚动都有点抖动
- Jquery - 使用窗口滚动时抖动滚动
- Javascript无限滚动节流/去抖动
- 抖动的鼠标滚轮水平滚动
- 隐藏滚动条,而不影响页面宽度或页面重新呈现抖动
- 当使用css作为背景附件时,为什么背景图像在滚动时会抖动:滚动
- 修正了向下滚动时标题抖动的问题
- jQuery滚动到页面底部锁定/口吃/抖动滚动
- 在OSX Safari(适用于Chrome/Firefox)上,滚动事件期间的CSS定位无响应和抖动
- Div元素朝相反方向移动会导致滚动条抖动
- 在javascript中实现固定位置会导致Safari滚动时抖动
- 在窗口上设置滚动时抖动
- 如何在鼠标滚动时停止相对放置的项目的抖动
- jQuery转盘滚动抖动
- 抖动视差滚动
- 如何从阻止滚动的元素中移除抖动