javascript - 水平平滑滚动

标签 javascript jquery html css

我要做一个横向网站。每个部分都是全屏的,我在每个部分都放置了一个 anchor 以使用链接进行导航,但我尝试了所有方法来让 javascript 工作以进行水平平滑滚动,但我做不到。

这是 HTML:

    <body>
    <header class="section black">
    <a href="#mission">MISSION DE L'ÉCOLE</a>
    <div class="logo"></div>
    </header>

    <section class="section gray" id="mission">
    <p>
    second section
    </p>
    </section>
    </body>

还有我的 CSS:

* {
margin: 0;
}

body {
  width: 2000px;
position: absolute;
top:0px;
left:0px;
bottom:0px;
}

.section {
margin: 0px;
bottom: 0px;
width: 100vw;
float: left;
height: 100vh;
}

.black {
background-color: #000000;
}

.gray {
background-color: #838B8B;
}   

这是一个例子:https://jsfiddle.net/mnn94crj/10/

最佳答案

使用 jquery 为所有目标链接添加一个函数,并使用 animate 进行动画滚动。

$(document).ready(function(){

    $('a').each(function(){ // loop each <a>
        var href = $(this).attr('href');
        if (href[0] != "#") return;
        $(this).on('click', function(){ // Function when clicked
            $('body, html').animate({scrollLeft: $(href).offset().left});
        });
    });

});

https://jsfiddle.net/mnn94crj/20/

关于javascript - 水平平滑滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136235/

相关文章:

javascript - 如何在滑动关闭您单击的 div 的同时滑动打开该 div?

html - 排列不同尺寸的徽章

Javascript独特的随机数生成器不生成唯一的数字

javascript - 如何在单击时关闭其他子菜单

javascript - 在不使用 jQuery 的情况下选择具有 "data-xxx"属性的所有元素

javascript - 单击手机/平板电脑,将鼠标悬停在其他设备上(面向 future )

javascript - 为所有查询设置 jquery 上下文

php - 用 PHP 编写数学测验(单选按钮不起作用)

javascript - 是否可以使用多张图片作为 Google Maps v3 MarkerImage?

javascript - 无法识别的表达