javascript - 获得平滑且有点延迟的滚动

标签 javascript html css scroll

如何使用鼠标滚轮获得漂亮流畅的滚动效果?我对单击链接和页面自行向下滚动不感兴趣,应该使用鼠标滚轮。

adidas 微型网站就是一个例子: http://www.adidas.dk/climazone

如果这是解决方案,Javascript 没问题

最佳答案

您可以使用 jQuery 鼠标滚轮插件,您可以在这里获得最新版本 https://github.com/jquery/jquery-mousewheel

然后在你的js文件中你可以做这样的事情:

$('body').on('mousewheel', debouncer(function (event, deltaY, deltaX) {

    if (deltaY < 1) {
        nextSlide();
    }
    else {
        prevSlide();
    }
}));

您需要根据您的网站结构定义 nextSlide() 和 prevSlide() 以显示出现在鼠标滚轮上的不同部分。

我在自己的网站上使用了这个方法,也许它可以帮助你:

function nextSlide() {
if ($('.starter-template.active').hasClass('prevlast')||$('.starter-template.active').hasClass('last')) {
    $('.footer').fadeOut();
} else {
    $('.footer').fadeIn();
}

if ($('.starter-template.active').hasClass('last')) {
    return false
}
else {
    $('.starter-template.active').removeClass('active').addClass('up').fadeOut().next('.starter-template').fadeIn().addClass('active');
}
}
function prevSlide() {
if ($('.starter-template.active').hasClass('last')) {
    $('.footer').fadeIn();
}
if ($('.starter-template.active').hasClass('first')) {
    return false
}
else {
    $('.starter-template.active').removeClass('active').removeClass('up').prev('.starter-template').fadeIn().addClass('active');
 }
}

关于javascript - 获得平滑且有点延迟的滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43339071/

相关文章:

android - Google Web Fonts 不适用于 Android 4.2.2 高棉语

html - 将 Bootstrap cols block 居中,末尾有一个短元素

javascript - html中的表单提交触发器

javascript - 如何使用 AJAX 将 PHP Session 变量添加到 FormData 中?

Javascript - 如何在 html 页面上显示下周三的日期

html - 设置 HTML 页面和浏览器窗口的大小

html - 我正在大修我的博客,并且……HTML5 可以吗?

html - 无法让 ":last-child"选择器在我的布局上工作。我错过了什么?

javascript - 如何为一个元素设置多个类

javascript - nodejs 中的多级 Promise