我可以打开未选择默认选项卡的新窗口(网页)吗?

时间:2018-12-07 02:48:22

标签: javascript html css

enter image description here

例如,假设存在与上图相同的选项卡,则将“活动”选项卡指定为默认选项卡。

但是,我的客户希望保留此默认选项并打开一个新窗口,该窗口将选择其他选项卡。(第二个“链接”选项卡之类。)

这可能吗?如果可以,该怎么办?

2 个答案:

答案 0 :(得分:1)

假设您使用的是Bootstrap,则可以从a.nav-link删除与选项卡行为相关的所有属性,而改为使用target:"_blank"。在下面的示例中,我添加了New Page标签,并删除了所有多余的属性,并添加了target属性。

由于该示例位于嵌套框架中,因此该示例可能无法在此代码段中使用,并且从嵌套选项卡中打开_blank选项卡会很麻烦,但是它可以在我测试过的网页上使用。 / em>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<ul class="nav nav-tabs" id="myTab" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" id="home-tab" data-toggle="tab" href="#home" role="tab" aria-controls="home" aria-selected="true">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="profile-tab" data-toggle="tab" href="#profile" role="tab" aria-controls="profile" aria-selected="false">Profile</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" id="contact-tab" data-toggle="tab" href="#contact" role="tab" aria-controls="contact" aria-selected="false">Contact</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="https://stackoverflow.com/" target="_blank">New Page</a>
  </li>
</ul>
<div class="tab-content" id="myTabContent">
  <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">Home Page</div>
  <div class="tab-pane fade" id="profile" role="tabpanel" aria-labelledby="profile-tab">Profile Page</div>
  <div class="tab-pane fade" id="contact" role="tabpanel" aria-labelledby="contact-tab">Contact Page</div>
</div>

答案 1 :(得分:1)

假设您有div包含标签内容。

<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
    <a class="nav-link" id="link1" data-toggle="tab" href="?section=tab1">Tab 1</a>
</li>
<li class="nav-item">
    <a class="nav-link" id="link2" data-toggle="tab" href="?section=tab2">Tab 2</a>
</li></ul>

将您的div ID作为参数section作为li的href传递。

<div id="tab1">
</div>
<div id="tab2">
</div>

然后获取参数,然后手动滚动到div

<script>
    const params = new URLSearchParams(window.location.search);
    const section = params.get('section');

    if(section!=''){
        $('#' + section).addClass('active');
        $('html, body').animate({
            scrollTop: $('#' + section).offset().top
        }, 2000);
    }else{
        //Default tab here
        $('#tab1').addClass('active');
        $('html, body').animate({
            scrollTop: $('#tab1').offset().top
        }, 2000);
    }
</script>

希望这会有所帮助。