【问题标题】:Reload certain iframes when a li element does have a certain class当 li 元素确实具有某个类时重新加载某些 iframe
【发布时间】:2015-10-15 23:25:13
【问题描述】:

li 元素没有active 类时,我想重新加载 iframe。

HTML:

<div class="tab-content">
    <div id="sectionA" class="tab-pane fade in active">
        <h3>Informazioni su come utilizzare il Totem</h3>
                    <p>Per utilizzare il Totem...</p>
    </div>
    <div id="sectionB" class="tab-pane fade">
                <h3>Informazioni turistiche</h3>

    </div>
    <div id="dropdown1" class="tab-pane fade">
                <h3>Orari STPS Bus da Chiavenna</h3>
                <iframe id="myIframe" src="www.something.blabla"></iframe>
    </div>
    <div id="dropdown2" class="tab-pane fade">
        <h3>Orari STPS da Chiavenna a Sondrio</h3>
                    <iframe id="CTOS" src="www.something.boh"></iframe>
    </div>
    <div id="dropdown3" class="tab-pane fade">
        <h3>Chiavenna-St.Moritz</h3>
                    <iframe id="StMoriz" src="www.something.net"></iframe>
    </div>
            <div id="dropdown4" class="tab-pane fade">
        <h3>Chiavenna-Lugano</h3>
                    <iframe id="Lugano" src="www.something.com"></iframe>
    </div>
    <div id="dropdown5" class="tab-pane fade">
        <h3>Chiavenna - Colico - Milano</h3>
                    <iframe id="orariMilano" src="www.something.it"></iframe>
    </div>
</div>

注意上面&lt;a data-toggle="tab" href="#dropdown5"&gt;&lt;div id="dropdown5" class="tab-pane fade"&gt;之间的关系)

<div class="my-tabs">
<ul class="nav nav-tabs" id="myTab">
            <li class="dropdown">
                    <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Bus Italia <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                            <li><a data-toggle="tab" href="#dropdown1">Orari Bus Italia - STPS da Chiavenna</a></li>
                            <li><a data-toggle="tab" href="#dropdown2">Orari Bus Italia - STPS da Chiavenna a Sondrio</a></li>
                    </ul>
            </li>
            <li class="dropdown">
                    <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Bus St. Moriz <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                            <li><a data-toggle="tab" href="#dropdown3">Orari Autopostale Svizzero da Chiavenna a St.Moritz</a></li>
                            <li><a data-toggle="tab" href="#dropdown4">Orari Autopostale Svizzero da Chiavenna a Lugano</a></li>
                    </ul>
            </li>
            <li class="dropdown">
                    <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Treni <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                            <li><a data-toggle="tab" href="#dropdown5">Orari Treni - Chiavenna - Milano</a></li></ul>
            </li>
    <li><a data-toggle="tab" href="#sectionB">Informazioni Turistiche</a></li>

</ul>

Javascript:

console.log("NEED TO RELOAD");
    if (!$('li').hasClass("active")) {
            console.log("RELOADING");
            window.setInterval("reloadIFrame();", 3000);}
    function reloadIFrame() {
     document.getElementById('myIframe').src += '';
    }
        console.log("RELOADED");

最后我想知道一段时间后如何在标签之间切换。

PS:我是 StackOverflow 的新手

提前谢谢你!

【问题讨论】:

  • 一段时间后你的意思是什么?单击菜单并在 x 秒后更改选项卡?还是 iframe 重新加载完成??
  • x 秒后更改选项卡,然后如果选项卡处于活动状态,我不必重新加载里面的 iframe,否则如果选项卡不活动,我需要重新加载。 @Vanojx1
  • 什么将标签设置为活动或非活动??
  • @Vanojx1 这就是我需要的哈哈,只需在 x 秒后使用 href 或其他我需要更改选项卡的东西。但我将专注于主要问题!

标签: javascript jquery html iframe


【解决方案1】:

所以你需要一种旋转标签....试试这个:

$(function(){
   var current = 0; 
   var tabs = $('.tab-content div').map(function(){
     return $(this).attr("id");
   });
   
   setInterval(function(){
     current = ++current!=tabs.length ? current : 0;

     var iframe = $('#'+tabs[current]).find("iframe").attr("id")
     /*if(iframe!=null)
     document.getElementById(iframe).contentDocument.location.reload(true);*/
     //reload here when iframes ve the correct address
     
     $('.nav.nav-tabs > li').removeClass("active");
     $('li a[href="#'+tabs[current]+'"]').parents('li').last().addClass("active");
     
     $('.tab-content div').removeClass("in active");
     console.log(current);
     $('#'+tabs[current]).addClass("in active");
   },4000);
});
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>



<div class="my-tabs">
    <ul class="nav nav-tabs" id="myTab">
        <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Bus Italia <b class="caret"></b></a>
                <ul class="dropdown-menu">
                        <li><a data-toggle="tab" href="#dropdown1">Orari Bus Italia - STPS da Chiavenna</a></li>
                        <li><a data-toggle="tab" href="#dropdown2">Orari Bus Italia - STPS da Chiavenna a Sondrio</a></li>
                </ul>
        </li>
        <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Bus St. Moriz <b class="caret"></b></a>
                <ul class="dropdown-menu">
                        <li><a data-toggle="tab" href="#dropdown3">Orari Autopostale Svizzero da Chiavenna a St.Moritz</a></li>
                        <li><a data-toggle="tab" href="#dropdown4">Orari Autopostale Svizzero da Chiavenna a Lugano</a></li>
                </ul>
        </li>
        <li class="dropdown">
                <a data-toggle="dropdown" class="dropdown-toggle" href="#">Orari Treni <b class="caret"></b></a>
                <ul class="dropdown-menu">
                        <li><a data-toggle="tab" href="#dropdown5">Orari Treni - Chiavenna - Milano</a></li></ul>
        </li>
        <li><a data-toggle="tab" href="#sectionB">Informazioni Turistiche</a></li>

    </ul>

    <div class="tab-content">
        <div id="sectionA" class="tab-pane fade in active">
            <h3>Informazioni su come utilizzare il Totem</h3>
                        <p>Per utilizzare il Totem...</p>
        </div>
        <div id="sectionB" class="tab-pane fade">
                    <h3>Informazioni turistiche</h3>

        </div>
        <div id="dropdown1" class="tab-pane fade">
                    <h3>Orari STPS Bus da Chiavenna</h3>
                    <iframe id="myIframe" src=""></iframe>
        </div>
        <div id="dropdown2" class="tab-pane fade">
            <h3>Orari STPS da Chiavenna a Sondrio</h3>
                        <iframe id="CTOS" src=""></iframe>
        </div>
        <div id="dropdown3" class="tab-pane fade">
            <h3>Chiavenna-St.Moritz</h3>
                        <iframe id="StMoriz" src=""></iframe>
        </div>
                <div id="dropdown4" class="tab-pane fade">
            <h3>Chiavenna-Lugano</h3>
                        <iframe id="Lugano" src=""></iframe>
        </div>
        <div id="dropdown5" class="tab-pane fade">
            <h3>Chiavenna - Colico - Milano</h3>
                        <iframe id="orariMilano" src=""></iframe>
        </div>
    </div>
</div>

【讨论】:

  • 谢谢你的回答,我会检查它是否有效,然后我会告诉你!
  • 好的,它正在工作,但我需要使“li”元素处于活动状态,因此如果在选项卡之间自动切换,“li”元素的“标题”需要突出显示(活动)。这个没问题,我会检查是否可以解决它;)谢谢!
  • 检查我的更改是否添加了修复
  • 谢谢,昨天没时间,再次感谢! :)
猜你喜欢
  • 1970-01-01
  • 2021-08-26
  • 1970-01-01
  • 2018-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多