简体   繁体   English

隐藏/显示Divs-初始状态

[英]Hiding / Showing Divs - initial state

Just having a bit of difficulty with showing/hiding divs - 显示/隐藏div有点困难-

Basically what I'm trying to achieve is to have 3 different links, each corresponding to three different divs, only one of which shows at any one time. 基本上,我要实现的目标是拥有3个不同的链接,每个链接对应于三个不同的div,而在任何时候都仅显示其中一个。 I've referred to this tutorial - http://www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/ (section headed 'Here is a new demo in response to a request where only one div is displayed at any one time') 我已参考本教程-http: //www.randomsnippets.com/2008/02/12/how-to-hide-and-show-your-div/ (标题为“此处是针对一种在任何时间仅显示一个div的请求”)

It's all working correctly, in that when I click any of my links, the correct div shows. 一切正常,当我单击任何链接时,将显示正确的div。 The only problem I'm having is the initial state - I only want the first div to show initially, but currently they all display simultaneously, until I click one of the links. 我唯一遇到的问题是初始状态-我只希望最初显示第一个div,但是当前它们同时显示,直到我单击其中一个链接。

I've copied the java on the website - 我已经在网站上复制了Java-

<script> function showonlyone(thechosenone) {
  var newboxes = document.getElementsByTagName("div");
        for(var x=0; x<newboxes.length; x++) {
              name = newboxes[x].getAttribute("class");
              if (name == 'newboxes') {
                    if (newboxes[x].id == thechosenone) {
                    newboxes[x].style.display = 'block';
              }
              else {
                    newboxes[x].style.display = 'none';
              }
        }
  }
} </script>

My divs then have: 我的div然后有:

<div id="newboxes1" class="newboxes" style="width: 1124px;">
<div id="newboxes2" class="newboxes">
<div id="newboxes3" class="newboxes">

These 3 divs all contain a number of other divs, none of which have 'newboxes' in the class - but perhaps this interferes? 这3个div都包含许多其他div,但这些类中都没有“ newbox”-但这可能会干扰吗?

The links sit outside of these 3 divs: 链接位于以下3个div之外:

<a href="javascript:showonlyone('newboxes1');">Learn HTML</a><a href="javascript:showonlyone('newboxes2');">Box2</a><a href="javascript:showonlyone('newboxes3');">Box3</a>

As far as I can see I've copied the method shown on the tutorial exactly, but for that my initial state doesn't work correctly, whereas it does on the tutorial page. 据我所知,我已经完全复制了教程中显示的方法,但是为此,我的初始状态无法正常工作,而在教程页面上却可以。

Any ideas? 有任何想法吗? Thanks! 谢谢!

function showonlyone(element){
    for (var i=0; i<document.getElementsByClassName("newboxes").length; i++){
        var div = document.getElementById('newboxes'+i);
        if(i == element){
            div.style.display = 'block';
        }else{
            div.style.display = 'none';
        }
    }
}

to use: 使用:

showonlyone(1);
//This will show the div with ID="newboxes1"

is it not as simple as 它不像

<div id="newboxes1" class="newboxes" style="width: 1124px;">
<div id="newboxes2" class="newboxes" style="display:none;">
<div id="newboxes3" class="newboxes" style="display:none;">

Try this in your header 在标题中尝试

<script>
    function showonlyone(thechosenone) {
        var newboxes = document.getElementsByTagName("div");
        for (var x = 0; x < newboxes.length; x++) {
            name = newboxes[x].getAttribute("class");
            if (name == 'newboxes') {
                if (newboxes[x].id == thechosenone) {
                    newboxes[x].style.display = 'block';
                } else {
                    newboxes[x].style.display = 'none';
                }
            }
        }
    }
</script>

Followed by this for the div boxes and links 随后是div框和链接

<a id="myHeader1" href="javascript:showonlyone('newboxes1');">Wall Tiles</a>
- <a id="myHeader2" href="javascript:showonlyone('newboxes2');">Floor Tiles</a>
- <a id="myHeader3" href="javascript:showonlyone('newboxes3');">Extras</a>

<div class="newboxes" id="newboxes1">
    <iframe src="wall.php" width="600" height="620" frameborder="0"></iframe>
</div>
<div class="newboxes" id="newboxes2">
    <iframe src="floor.php" width="600" height="620" frameborder="0"></iframe>
</div>
 <div class="newboxes" id="newboxes3">
    <iframe src="extras.php" width="600" height="620" frameborder="0"></iframe>
</div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM