如何使用JQuery在div上链接动画
我有一个具有固定高度的div元素,它包含其他元素。用户可以滚动该分区。我希望用户能够单击按钮并转到可滚动分区内的特定元素。到目前为止,我的代码将滚动条的位置重置为0(如果不在顶部)。但是,在此状态下,不会触发从按钮单击移动到元素的动画。如果已经在顶部,动画将转到所需位置 我的代码:如何使用JQuery在div上链接动画,jquery,html,css,jquery-animate,Jquery,Html,Css,Jquery Animate,我有一个具有固定高度的div元素,它包含其他元素。用户可以滚动该分区。我希望用户能够单击按钮并转到可滚动分区内的特定元素。到目前为止,我的代码将滚动条的位置重置为0(如果不在顶部)。但是,在此状态下,不会触发从按钮单击移动到元素的动画。如果已经在顶部,动画将转到所需位置 我的代码: $(document).on('click', '#scrollTo', function() { scrollToElement('#goto377', 1000); }); function scrollT
$(document).on('click', '#scrollTo', function() {
scrollToElement('#goto377', 1000);
});
function scrollToElement(selector, time, verticalOffset) {
if($('#scolly-div').scrollTop() != 0) {
$('#scrolly-div').animate({ scrollTop: 0 }, 1);
}
time = typeof(time) != 'undefined' ? time : 1000;
verticalOffset = typeof(verticalOffset) != 'undefined' ? verticalOffset : 0;
element = $(selector);
offset = element.offset();
offsetTop = offset.top + verticalOffset;
$('#scrolly-div').animate({ scrollTop: offsetTop}, time);
}
如何使这两个动画都工作?尝试更改$('scrolly div')。设置动画({scrollTop:offsetTop},time);对$('#scrolly div').animate({scrollTop:0},1)进行动画({scrollTop:offsetTop},time);我试过这个,但不起作用。它只执行第一个动画如果$('#scolly div')。scrollTop()==0,它执行另一个动画,还是什么都不执行。此外,当您调试它时,它是否会为“offsetTop”提供预期的局部变量