Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery强制函数按特定顺序执行?_Jquery_Html_Css - Fatal编程技术网

如何使用jQuery强制函数按特定顺序执行?

如何使用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

我正在尝试使用jQuery平滑滚动,以防用户无法使用“平滑滚动”CSS功能,但是在CSS中使用“滚动捕捉”效果时效果不起作用,因此我需要在单击链接时禁用该效果,执行平滑滚动动画,然后在完成后重新激活滚动捕捉

$(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,但我认为需要按特定顺序操作,我不知道该顺序是什么。您的单击处理程序只有几行长。试着把它放在不同的地方,看看会发生什么。