我知道这个问题之前已经被问到,但无论我在答案中尝试了多少链接和演示,我都无法使其成功。
请看一下:
<!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(第一次),想知道是否可能会弄乱代码?
非常感谢提前。
答案 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引用我的话: - )