首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引导JS表中的定时制表符切换

问引导JS表中的定时制表符切换
EN

Stack Overflow用户
提问于 2015-09-22 21:36:00
回答 2查看 573关注 0票数 2

我希望JS Tabs能够根据预设的时间切换到以下代码:

代码语言:javascript
复制
 <script>
  var n=0
  var myVar=setInterval(function () {update_news()}, 1000);

  function update_news() {
    n = n+1
    if (n==4) {
       n=1
    }
    $('.nav-tabs a[href="#menu'+n+'"]').tab('show')

  }
  </script>

身体:

代码语言:javascript
复制
<div class="container">
  <ul class="nav nav-tabs">
    <li class="active"><a href="#home">Home</a></li>
    <li><a href="#menu1">Menu 1</a></li>
    <li><a href="#menu2">Menu 2</a></li>
    <li><a href="#menu3">Menu 3</a></li>
  </ul>
  <div class="tab-content">
    <div id="home" class="tab-pane fade in active">
      <h3>HOME</h3>
    </div>
    <div id="menu1" class="tab-pane fade">
      <h3>Menu 1</h3>
    </div>
    <div id="menu2" class="tab-pane fade">
      <h3>Menu 2</h3>
    </div>
    <div id="menu3" class="tab-pane fade">
      <h3>Menu 3</h3>
    </div>
  </div>
</div>

但是,由于我不再使用链接来切换选项卡,有什么方法可以不使用<a href="#menu">标签吗?我可以把它藏起来,但我觉得这个解决方案不太优雅。

编辑:

实际上,我从链接中删除了data-toggle="tab"属性,当单击它时,它将不再切换选项卡--但是仍然可以使用计时器。

这使我认为选项卡切换与链接没有真正的关系,而只是与<ul class="nav nav-tabs">标记下列表中的<ul class="nav nav-tabs">标记的存在有关。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-09-22 22:07:02

我已经完全删除了您的ul,并为您的每个.tab-pane元素设置了一个data-target攻击。

代码语言:javascript
复制
<div id="menu1" data-target='#menu1' class="tab-pane fade">
  <h3>Menu 1</h3>
</div>

然后,我把你的代码改为:

代码语言:javascript
复制
$('#menu'+n).tab('show');

看看下面的剪裁:

​

代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<div class="container">
  <div class="tab-content">
    <div id="home" class="tab-pane fade in active">
      <h3>HOME</h3>
    </div>
    <div id="menu1" data-target='#menu1' class="tab-pane fade">
      <h3>Menu 1</h3>
    </div>
    <div id="menu2" data-target='#menu2' class="tab-pane fade">
      <h3>Menu 2</h3>
    </div>
    <div id="menu3" data-target='#menu3' class="tab-pane fade">
      <h3>Menu 3</h3>
    </div>
  </div>
</div>
<script>  
  var n = 0;
  var myVar = setInterval(update_news, 1000);

  function update_news() {
    n++;
    if (n === 4) n = 1;
    $('#menu'+n).tab('show')
  }
</script>

​

票数 1
EN

Stack Overflow用户

发布于 2015-09-22 21:43:00

您可以通过更改#menu1直接在JavaScript中设置location.hash。这样您就不需要使用<a>标记来更改它了。例如,将它放在按钮上:

代码语言:javascript
复制
<button id="btn1">To Menu1</button>

JavaScript将是:

代码语言:javascript
复制
document.getElementById("btn").onclick = function(){
    location.hash = "#menu1";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32727345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档