如何使用jQuery强制函数按特定顺序执行?
我正在尝试使用jQuery平滑滚动,以防用户无法使用“平滑滚动”CSS功能,但是在CSS中使用“滚动捕捉”效果时效果不起作用,因此我需要在单击链接时禁用该效果,执行平滑滚动动画,然后在完成后重新激活滚动捕捉如何使用jQuery强制函数按特定顺序执行?,jquery,html,css,Jquery,Html,Css,我正在尝试使用jQuery平滑滚动,以防用户无法使用“平滑滚动”CSS功能,但是在CSS中使用“滚动捕捉”效果时效果不起作用,因此我需要在单击链接时禁用该效果,执行平滑滚动动画,然后在完成后重新激活滚动捕捉 $(document).on('click', 'a[href^="#"]', function(e) { e.preventDefault(); $('html, body').stop().animate({ scrollTop: $($(this).attr('hre
$(document).on('click', 'a[href^="#"]', function(e) {
e.preventDefault();
$('html, body').stop().animate({
scrollTop: $($(this).attr('href')).offset().top
}, 1000, 'linear');
});
我知道jQuery可以用来操作CSS,那么我应该把额外的代码放在哪里才能达到预期的效果呢?滚动捕捉作为我的主体CSS的一部分被激活。当手动禁用滚动捕捉时,代码当前按预期运行。在处理程序中,尝试使用
$(this).css({'scroll-behavior':'auto'})
更改滚动行为。用您选择的值替换auto
。我知道我可以操作CSS,但我认为需要按特定顺序操作,我不知道该顺序是什么。您的单击处理程序只有几行长。试着把它放在不同的地方,看看会发生什么。