2016-09-21 73 views
0

我有一个看似简单的问题,我今天无法找到解决方案。如何创建书签(例如,example.com/spagepage #mybookmark),它会自动打开JavaScript选项卡下的元素,例如在w3schools上使用的选项卡?如何为JavaScript选项卡创建HTML书签定位点

我已经试过一些分配id S到<li>元素形成的标签,如:

<li id="mybookmark"><a href="#" class="tablinks" onclick="openCity(event, 'London')">London</a></li> 

甚至锚名称,例如:

<li><a name="mybookmark" href="#" class="tablinks" onclick="openCity(event, 'London')">London</a></li> 

,但最好的结果我得到了到目前为止,当尝试example.com/somepage#mybookmark只是为了突出显示标签,而没有打开与其相关的内容(这正是我真正想要的)。

我认为答案在于某些JavaScript代码,但有人可能会建议它应该如何显示?

+1

您将需要在页面加载时读取URL哈希,并运行相应的JS。 – DBS

+0

试试Bootstrap标签,教程在这里---> http://www.tutorialrepublic.com/twitter-bootstrap-tutorial/bootstrap-tabs.php –

回答

1

尝试这样:

$(function() { 
    $(".tab-content").hide().first().show(); 
    $(".yourNav li:first").addClass("active"); 

    $(".yourNav a").on('click', function (e) { 
    e.preventDefault(); 
    $(this).closest('li').addClass("active").siblings().removeClass("active"); 
    $($(this).attr('href')).show().siblings('.tab-content').hide(); 
}); 

    var hash = $.trim(window.location.hash); 
    if (hash) $('.inner-nav a[href$="'+ hash + '"]').trigger('click'); 
}); 

基本上你会被强制标签的基础上,提交表单上#.click()。你说你已经拥有了这个顶部,即标签可以打开,所有这一切,它的第二部分var hash =宣布。让我知道,祝你好运。

+0

感谢您的回答。不幸的是,我无法让它工作,但我明白如果请求有#号强制选项卡被点击的原则。这里是我的JS函数,它工作得很好(但是,如果选项卡被要求作为书签,不会显示标签的内容):http://pastebin.com/wwj5eSJj有什么想法? – Chris

相关问题