javascript - 通过几个按钮滚动多个div的高度

标签 javascript jquery html

我有一个具有以下结构的页面:

<div id="about" class="section">
    <div class="button">
        <img src="/images/arrow.png">
    </div>
</div>

<div id="films" class="section">
    <div class="button">
        <img src="/images/arrow.png">
    </div>
</div>

<div id="projects" class="section">
    <div class="button">
        <img src="/images/arrow.png">
    </div>
</div>

我希望当单击图像时,您将滚动到 <div> 的末尾其中<img>位于。

我已声明此代码,但它仅适用于第一张图像。

function go_to(){
    $("body,html").animate({scrollTop: $('.section').height()}, 900, "easeInOutExpo");
}

$(document).ready(function(){
      var go_to_div = $('.button img');
     $(go_to_div).click(function(event) {
        go_to() 
     });
});

如果有必要,我可以更改 HTML 结构。谢谢!!

最佳答案

因为对于 scrollTop 属性,您需要给出一个值才能转到那里。您的 $('.section').height() 代码始终给出相同的值,因此有点卡住了。试试这个吧

function go_to(section){
    var pos = section.position();
    $("body,html").animate({scrollTop: section.height() + pos.top}, 900, "easeInOutExpo");
}

$(document).ready(function(){
  $('.button img').click(function(event) {
    go_to($(this).closest(".section"));
  });
});

FIDDLE

关于javascript - 通过几个按钮滚动多个div的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34559903/

相关文章:

jquery - 切换/切换 div (jQuery)

javascript - 我如何知道用户是否在选择框中选择了相同的项目

javascript - 在没有 eval 的情况下从本地范围调用函数

javascript - 用 JavaScript 操作 HTML 内容是不好的做法吗?

javascript - JavaScript 中什么时候设置变量?

html - 为什么我的电话号码 href 链接重定向到 'About:Blank' 地址,我该如何解决这些问题?

html - plotly dash-svg 的标签?

javascript - 如何在 JQuery 中重新排列数组

javascript - 传递 JavaScript 值

javascript - 为什么不能将链接切换为可见?