【发布时间】:2021-06-30 14:01:05
【问题描述】:
我正在使用引导程序 5。
我有这个a 元素:
<div class="mb-3">
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseTicket" id="scrollDown" role="button" aria-expanded="false" aria-controls="collapseTicket">
نوشتن پاسخ
</a>
</div>
<div id="div1" style="height: 1000px; width 100px">
Test 1
</div>
<br/>
<div class="collapse" id="collapseTicket" style="height: 1000px; width 100px">
Test 2
</div>
<button id="click">Click me</button>
然后我还有一些其他元素,比如其他文本输入、文本区域等。
当用户使用#collapseTicket 单击该输入时,页面应该滚动到页面的最后一个元素,并带有漂亮的动画。它应该是滚动到标签而不是顶部。
动画不能太快,应该流畅。
我正在运行最新的 jQuery 版本。我宁愿不安装任何插件,而是使用默认的 jQuery 功能来实现这一点。
<script src="{{ asset('themes/js/bootstrap.bundle.min.js') }}"></script>
<script src="{{ asset('themes/js/jquery-3.5.1.js') }}"></script>
<script src="{{ asset('themes/js/bootstrap-select.js') }}"></script>
<script src="{{ asset('themes/js/defaults-fa_IR.js') }}"></script>
<script src="{{ asset('themes/vue/vue.min.js') }}"></script>
<script src="{{ asset('themes/vue/moment.min.js') }}"></script>
<script src="{{ asset('themes/vue/moment-jalaali.js') }}"></script>
<script src="{{ asset('themes/vue/vue-persian-datetime-picker-browser.js') }}"></script>
<script src="{{ asset('themes/js/script.js') }}"></script>
<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>
<script>
var app = new Vue({
el: '#app',
data: {
date: ''
},
components: {
DatePicker: VuePersianDatetimePicker
}
});
</script>
@include('sweet::alert')
script.js
$(document).ready(function (){
$("#scrollDown").click(function (){
$('html, body').animate({
scrollDown: $("#collapseTicket").offset().down
}, 2000);
});
});
感谢您的回答。
【问题讨论】:
-
offset()没有down属性。只有top和left。 api.jquery.com/offset/#offset -
那么解决办法是什么?
-
将
down更改为top。
标签: jquery scroll jquery-animate bootstrap-5