jQuery滚动到div不会滚动,只会跳转

时间:2017-01-26 20:12:44

标签: javascript jquery html twitter-bootstrap

我知道这个问题之前已经被问到,但无论我在答案中尝试了多少链接和演示,我都无法使其成功。

请看一下:

<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
    <link rel="stylesheet" href="css/custom.css">
  </head>
  <body>

<div class="jumbotron jumbotron-fluid">
  <div class="container container-fluid hiimorsi">

<a href="#about"><img src="img/arrow-211-64.png" class=" d-block img-fluid"></a>
</div>
</div>

 <script src="app.js" type="text/javascript"></script>
    <script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>

  </body>

我的jQuery代码段(当前版本)

$(document).ready(function () {
    $("#arrow").on("click", function (e) {
        document.querySelector('.hello').scrollIntoView({
            behavior: 'smooth'
        });
    });
});

正如您所看到的,我正在使用bootstrap(第一次),想知道是否可能会弄乱代码?

非常感谢提前。

2 个答案:

答案 0 :(得分:0)

这是因为您将#作为您的href值。

<a href="#about">
 <img src="img/arrow-211-64.png" class=" d-block img-fluid">
</a>

会发生什么,点击后会跳到浏览器的顶部。

将其更改为:

<a>
  <img src="img/arrow-211-64.png" class=" d-block img-fluid">
</a>

答案 1 :(得分:0)

为什么不使用jquery动画效果。

    <script type="text/javascript">
      (function(){
            $("#arrow").on("click", function (e) {
                let scrollToPos = document.querySelector('.hello').offsetTop;
                $('body').animate({scrollTop: scrollToPos },500,'linear');

            });
      })();
    </script>

不确定但是相信scrollIntoView原生效果没有任何动画/缓动,但它的工作是本地跳转到该项目。 Butdont引用我的话: - )