由 Bootstrap 切换触发的 Div 的平滑滚动到顶部
Smooth Scroll to Top of Div triggered by Bootstrap Toggle
我想使用平滑滚动为打开的 div 设置动画(我还希望它在单击时删除按钮);但是,我不想为平滑滚动使用固定偏移量。
我试过:
<script type="text/javascript">
$('#toggleContact').on('click', function(event) {
event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
$('html, body').animate({
scrollTop: $('#DIV_ID').offset().top - 20
}, 'slow');
});</script>
这是一个Fiddle:这是一个fiddle https://jsfiddle.net/s7sq58v2/
谢谢。
要隐藏按钮,您可以使用:
$('.opencontact').hide();
您可能想为按钮分配一个 ID,这样其他 类 不受影响。
<script type="text/javascript">
$('#toggleContact').on('click', function(event) {event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
$('html, body').animate({
scrollTop: $('#DIV_ID').offset().top - 20
}, 'slow');
$('.opencontact').hide();
});
</script>
您应该将 javascript 代码添加到您的 fiddle 中,以便于编辑和调试。
你可以这样做:
// To remove button, you can also use .hide() instead .remove()
$('.opencontact').on('click', function(event) {
event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
});
// To scroll when collapse is completed
$('#toggleContact').on("shown.bs.collapse", function(){
$('html, body').animate({
scrollTop: $(this).offset().top - 20
}, 'slow');
});
我想使用平滑滚动为打开的 div 设置动画(我还希望它在单击时删除按钮);但是,我不想为平滑滚动使用固定偏移量。
我试过:
<script type="text/javascript">
$('#toggleContact').on('click', function(event) {
event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
$('html, body').animate({
scrollTop: $('#DIV_ID').offset().top - 20
}, 'slow');
});</script>
这是一个Fiddle:这是一个fiddle https://jsfiddle.net/s7sq58v2/
谢谢。
要隐藏按钮,您可以使用:
$('.opencontact').hide();
您可能想为按钮分配一个 ID,这样其他 类 不受影响。
<script type="text/javascript">
$('#toggleContact').on('click', function(event) {event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
$('html, body').animate({
scrollTop: $('#DIV_ID').offset().top - 20
}, 'slow');
$('.opencontact').hide();
});
</script>
您应该将 javascript 代码添加到您的 fiddle 中,以便于编辑和调试。
你可以这样做:
// To remove button, you can also use .hide() instead .remove()
$('.opencontact').on('click', function(event) {
event.preventDefault(); // To prevent following the link (optional)
$(this).remove();
});
// To scroll when collapse is completed
$('#toggleContact').on("shown.bs.collapse", function(){
$('html, body').animate({
scrollTop: $(this).offset().top - 20
}, 'slow');
});