2016-05-12 59 views
0

我的网站建设者有一个通用的选项卡功能,但我不喜欢它,所以我想我会学习如何建立一个自己。我比现在的脚本更适合使用CSS,并且它显示了我创建的内容,它看起来如何我想要的,但对于点击还没有起作用。创建一个标签,但不会对click - jQuery问题/新手

这里是的jsfiddle:https://jsfiddle.net/6oq3t9ev/1/

<ul class="tab_conts" id="recent" style="display: block;"> 
    <li class="tab_cont"> 
    <a href="/test" class="tab_cont_link">Test</a> 
    <a> 
     <desc>Testing</desc> 
    </a> 
    </li> 
    <li class="tab_cont"> 
    <a href="/test" class="tab_cont_link">Test</a> 
    <a> 
     <desc>Testing</desc> 
    </a> 
    </li> 
</ul> 

<ul class="tab_conts" id="new" style="display: none;"> 
<li class="tab_cont"> 
    <a href="/test" class="tab_cont_link">Test</a> 
    <a> 
     <desc>Testing</desc> 
    </a> 
    </li> 
    <li class="tab_cont"> 
    <a href="/test" class="tab_cont_link">Test</a> 
    <a> 
     <desc>Testing</desc> 
    </a> 
    </li> 
    <li class="tab_cont"> 
    <a href="/test" class="tab_cont_link">Test</a> 
    <a> 
     <desc>Testing</desc> 
    </a> 
    </li> 
</ul> 

$(document).on("ready int:ready", function() { 
var e = $(".tab_name"), 
    t = $(".tab_conts").hide(); 
e.prependTo(".tabs-cn"), e.click(function(n) { 
    n.preventDefault(); 
    var i = $(this), 
    r = e.index(i); 
    e.removeClass("tab_name-active"), i.addClass("tab_name-active"), t.hide().eq(r).show() 
}), e.first().click() }) 
+0

你应该可以做几乎完全CSS的事情,然后只需要使用JS移动'selected'标签即可。 – DBS

回答

0

像这样的东西应该做的伎俩:

$(document).ready(function(){ $('.tab_name').on('click',function(){ var href = $(this).attr('href'); $('.tab_conts').css({'display':'none'}); $(href).css({'display':'block'}) }); });

PS。确保你包含jquery在你的脑海中

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script> 
+0

你究竟在做什么'href' var?你似乎正在分配一个(url)字符串,然后试图将它用作JQuery选择器? (这实际上不应该选择任何东西),我想你可能已经在这个答案中搞砸了。 – DBS

+0

查看Jsfiddle(https://jsfiddle.net/6oq3t9ev/1/),他使用'href'来定义哪些标签应该处于活动状态。这就是为什么我将它用作选择器。 –