Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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
Javascript jQuery UI垂直选项卡使页面滚动;棍子;_Javascript_Jquery_Jquery Ui_Jquery Ui Tabs_Jquery Tabs - Fatal编程技术网

Javascript jQuery UI垂直选项卡使页面滚动;棍子;

Javascript jQuery UI垂直选项卡使页面滚动;棍子;,javascript,jquery,jquery-ui,jquery-ui-tabs,jquery-tabs,Javascript,Jquery,Jquery Ui,Jquery Ui Tabs,Jquery Tabs,我目前使用的是jQueryUIVerticalTabs现成的代码段,它如何影响整个页面滚动存在一个奇怪的问题。每次您更改选项卡,然后尝试向上或向下滚动页面主页面时,它都会“粘住”一点,然后正常工作。您可以在此处看到效果: 不确定问题是什么,甚至不知道如何诊断……是否有我可以添加的代码片段来修复此问题?谢谢你的帮助 不是100%确定这是否是解决方案,但在这一点上,我非常有信心 检查源代码时,在代码的开头有一个触发器。更具体地说,它位于这里: <script> $('body').bin

我目前使用的是jQueryUIVerticalTabs现成的代码段,它如何影响整个页面滚动存在一个奇怪的问题。每次您更改选项卡,然后尝试向上或向下滚动页面主页面时,它都会“粘住”一点,然后正常工作。您可以在此处看到效果:


不确定问题是什么,甚至不知道如何诊断……是否有我可以添加的代码片段来修复此问题?谢谢你的帮助

不是100%确定这是否是解决方案,但在这一点上,我非常有信心

检查源代码时,在代码的开头有一个触发器。更具体地说,它位于这里:

<script>
$('body').bind('touchmove', function(e){
  e.preventDefault();
});
</script>
<script>
$(function() {
  $('a[href*=#]:not([href=#])').click(function() {
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
      var target = $(this.hash);
      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
      if (target.length) {
        $('html,body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

</script>
将执行1秒动画(1000毫秒),将视图滚动到所需目标的顶部偏移。在这一秒中,如果你要滚动,它将迫使你被粘在目标偏移的顶部,因此它将迫使你不要滚动到其他地方,而是滚动到他想滚动的地方

要解决此问题,您可以将1000设置为1,或者仅删除动画,即使滚动到目标的偏移量是一个好主意,因此只需将1000替换为1(或10甚至100)即可


希望这有帮助。

奇怪。也许吧?嗯,你能进一步解释一下吗?我对jQuery相当陌生,我的开发人员对这个术语并不熟悉。非常感谢您的快速回复!我并不是一个真正的jQuery专家,我实际上认为要想出一个解决方案并不容易。在我看来,滚动事件触发器实际上在单击选项卡时起作用,但我不确定其来源是什么以及如何解决它。只是一个旁注:你注意到你没有包括一个文件吗?您的页面中有一个错误,这可能与您的问题有任何关系?(您的页面不包括样式表,如果样式表包含任何需要应用的类,这可能是一个原因)。检查这个:哦,我找到了,先生。你有一些动画正在进行。无论何时单击选项卡元素,文档都会滚动并将视图设置为视口的正中间位置。不知道你怎么称呼它,但我很有信心你的文件遗漏了什么。首先尝试包含上面的CSS。如果你想要校样,试着点击一个标签,等待3秒钟,然后滚动:它不会弹。你有了它:有一个触发器让你发誓:只要破坏动画,你就完成了;)尝试删除以下内容:
$('html,body').animate({scrollTop:target.offset().top},1000)从第一个脚本开始。就是这样!将它设置为1似乎没有任何作用,但是删除整个条件集可以修复它。非常感谢你!不客气,我很高兴它在某些方面确实有效。
$('html,body').animate({
              scrollTop: target.offset().top
            }, 1000);