jQuery:将类添加到选项卡&点击停止转到窗口顶部

时间:2012-01-14 16:01:41

标签: jquery

我的标签内容有2个问题。

1.如何使用我的代码突出显示当前选项卡:

http://jsfiddle.net/FznTg/2/

2.我添加了返回false,但是当您单击菜单项时它仍会显示在页面顶部(要查看此内容,请调整查看窗口的大小并单击选项卡。

再次:http://jsfiddle.net/FznTg/2/

真的希望有人可以提供协助。

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

您可以通过将.show()或新内容放在旧内容的.hide()之前来解决滚动问题。这样可以防止文档太小而不需要滚动,从而重置滚动位置。

所以,按此顺序排列:

     //fix
     if (jQuery.browser.msie && jQuery.browser.version.substr(0,3) == "6.0") {
         jQuery('.tabcontent#' + stringref).show();
     } else {
         //display our tab fading it in
         jQuery('.tabcontent#' + stringref).fadeIn();
     }    

     //hide the tabs that doesn't match the ID
     jQuery('.tabcontent:not(#'+stringref+')').hide();

此处的演示演示:http://jsfiddle.net/jfriend00/E8Jgd/

要设置当前选项卡的样式,您应该只在当前选项卡中添加一个类,然后可以使用CSS设置样式。将此行放在单击处理程序中会将当前选项卡设置为class =“current”,并从任何其他选项卡中删除该类:

jQuery(this).closest("li").addClass("current").siblings().removeClass("current");

然后您可以使用CSS来设置它的样式:

.hometabs li.current a {color:red;}

并且,您可以在默认情况下将该类添加到第一个选项卡的HTML中:

<li class="current"><a href="#tab1">All</a></li>

在这里演示:http://jsfiddle.net/jfriend00/E8Jgd/