Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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_Tabs_Anchor - Fatal编程技术网

防止哈希标记上的窗口位置移动(使用Jquery选项卡)

防止哈希标记上的窗口位置移动(使用Jquery选项卡),jquery,html,tabs,anchor,Jquery,Html,Tabs,Anchor,好的,我知道之前有很多问题,讨论这个话题,但是我不知所措,一直没有弄明白 我的问题是当我单击每个选项卡链接时,整个浏览器窗口都会移动到选项卡内容的锚点div,就像您在滚动顶部链接上所期望的那样。有人知道快速修复方法吗 我使用的基本选项卡结构如下: 我的标签标题 这里有什么 我的Jquery如下所示: $(“.tabContents”).hide(); $(“.tabContents:first”).show(); $(“#tabContaier ul li a”)。单击(函数(){ v

好的,我知道之前有很多问题,讨论这个话题,但是我不知所措,一直没有弄明白

我的问题是当我单击每个选项卡链接时,整个浏览器窗口都会移动到选项卡内容的锚点
div
,就像您在滚动顶部链接上所期望的那样。有人知道快速修复方法吗

我使用的基本选项卡结构如下:


我的标签标题 这里有什么

我的Jquery如下所示:

$(“.tabContents”).hide();
$(“.tabContents:first”).show();
$(“#tabContaier ul li a”)。单击(函数(){
var activeTab=$(this.attr(“href”);
$(“#tabContaier ul li a”).removeClass(“活动”);
$(此).addClass(“活动”);
$(“.tabContents”).hide();
$(activeTab.fadeIn();
});

一如既往,非常感谢您的帮助:-)

我相信您的意思是,当您单击以哈希作为href属性的锚点时,跳转到页面顶部

如果要停止此操作,则必须阻止单击处理程序上的默认操作。以下是一个例子:

$("#example").click(function(e) {

    e.preventDefault(); 

  //Add your code here
});

试试这个,如果不起作用就让我试试

<div id="tabContaier">
  <ul>
    <li><a href="#tab1" onclick="return false;">Tab 1</a></li>
  </ul>
</div>


问题是您的浏览器正在跟随选项卡的
href
。。。您需要通过执行以下操作来防止这种情况:

$("#tabContaier ul li a").click(function(event){
   // your code
   event.preventDefault();
});

不要使用onclick,因为它不会将设计与脚本分开,因此不受欢迎。@Sam,如果您真的要在单击时进行业务登录,这是正确的。这只是一个
返回false
语句。把它放在这里很好。下次回来查看链接的HTML时,您会知道链接的onclick返回false,因此链接不会被访问。@Sam不知道。。。除非OP希望更新浏览器位置,但同时阻止滚动…
e.preventDefault()
就足够了,否则jQuery会处理兼容性问题。此外,此选择器效率非常低<代码>$(“#示例”)的速度要快得多。