使用mouseup事件,因为当用户按下鼠标按钮时,它将被触发,然后mousedown事件被触发。mousedown事件起作用,但由于在mouseup事件之后触发,其时间、滚动位置或比例以及窗口大小必须用于快速滚动。
我已经使用您的代码尝试了mousedown事件,它可以工作,但由于经过的时间、滚动位置或比例以及窗口大小较低,滚动速度较慢。
在我看来,最好使用mouseup
$(document).on('mouseup', 'a.scroll-down', function(e) {
$('html,body').animate({
scrollTop: $(window).scrollTop() + 300
}, 500, 'easeOutSine');
e.preventDefault();
});
$(document).on('mouseup', 'a.scroll-up', function(e) {
$('html,body').animate({
scrollTop: $(window).scrollTop() - 300
}, 500, 'easeOutSine');
e.preventDefault();
});
.scroll-down {
position: fixed;
right: 0.2rem;
bottom: 1rem;
width: 2.75rem;
height: 2.75rem;
text-align: center;
color: #fff;
background: rgba(90, 92, 105, 0.5);
line-height: 46px;
}
.scroll-down:focus,
.scroll-down:hover {
color: white;
}
.scroll-down:hover {
background: #5a5c69;
}
.scroll-down i {
font-weight: 800;
}
.scroll-up {
position: fixed;
right: 0.2rem;
bottom: 4rem;
width: 2.75rem;
height: 2.75rem;
text-align: center;
color: #fff;
background: rgba(90, 92, 105, 0.5);
line-height: 46px;
}
.scroll-up:focus,
.scroll-up:hover {
color: white;
}
.scroll-up:hover {
background: #5a5c69;
}
.scroll-up i {
font-weight: 800;
}
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Mouse</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.4.1/jquery.easing.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/js/all.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" />
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.9.0/css/all.min.css" rel="stylesheet" />
</head>
<body id="page-top">
<div id="wrapper">
<div id="content">
<div class="container-fluid">
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
<div class="row mb-4">
<div class="col-6">
<button class="btn btn-block btn-primary">mybutton</button>
</div>
</div>
</div>
</div>
</div>
<a class="scroll-up rounded" href="#">
<i class="fas fa-angle-up"></i>
</a>
<a class="scroll-down rounded" href="#">
<i class="fas fa-angle-down"></i>
</a>
</body>
</html>