show/hide div not fully working in IE

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ryrocks
    New Member
    • May 2008
    • 19

    show/hide div not fully working in IE

    Hi,
    Im making a 'contact us' page. The user click on the div, this then reveals another larger div displaying more information giving the effect of the box expanding or dropping down.

    I have 3 starting divs on my page, each one expanding onclick. The show/hide elemant works fine. There is one slight problem... I want the user to be able to click anywhere inside the starting div in order for the hidden div to be revealed. This is ok for the first set of divs, but you can only click on the text or border for the second and third div sets. I can't figure out for the life of me why the second and third divs aren't allowing the onclick anywhere inside the div. The HTML and CSS are identical for all 3 and the JS seems to be fine.
    The whole thing works fine in Firefox just not IE!

    Here's an online example:
    http://testsite.fisher .co.uk/2008_Redesign/contact_us/contact_us_TEST 2.html

    Here's my HTML:

    <div id="contact_us_ conatiner">

    <div id="gallery">

    <!-- TAB 1 -->
    <div class="off" title="tab1"><p >UK Orders</p></div>
    <div id="tab1" class="hide">
    <p>Question 1</p>
    </div>

    <!-- TAB 2 -->
    <div class="off" title="tab2"><p >Product Technical Support</p></div>
    <div id="tab2" class="hide">
    <p>Question 2</p>
    </div>

    <!-- TAB 3 -->
    <div class="off" title="tab3"><p >Regional Sales Specialists</p></div>
    <div id="tab3" class="hide">
    <p>content 3</p>
    </div>

    </div><!-- END - gallery div -->
    </div><!-- END - contact_us_cona tiner -->

    CSS:
    * {
    padding:0;
    margin:0;
    }
    #contact_us_con atiner {
    width:727px;
    position:relati ve;
    float:left;
    margin-left:30px;
    margin-top:30px;
    }
    #gallery {
    font:11px arial,sans-serif;
    width:700px;
    height:33px;
    line-height:15px;
    position:relati ve;
    float:left;
    z-index:200;
    }
    #gallery div.off {
    width:600px;
    color:#000;
    float:left;
    border:1px solid #ddd;
    cursor:pointer;
    text-align:center;
    height:33px;
    line-height:33px;
    position:relati ve;
    z-index:120;
    margin-bottom:20px;
    }
    #gallery div.on {
    width:600px;
    color:#c00;
    float:left;
    border:1px solid #000;
    border-bottom:0;
    cursor:pointer;
    text-align:center;
    height:33px;
    line-height:32px;
    position:relati ve;
    z-index:100;
    }
    div.hide {
    display:none;
    width:0;
    overflow:hidden ;
    }
    div.show {
    width:600px;
    height:115px;
    margin-top:0;
    border:1px solid #000;
    border-top:0;
    position:relati ve;
    z-index:50;
    font-family:Arial, Helvetica, sans-serif;
    font-size:12px;
    float:left;
    margin-bottom:20px;
    }
    .clear {clear:both;}

    JS:
    onload = function() {
    var e, i = 0;
    while (e = document.getEle mentById('galle ry').getElement sByTa gName ('DIV') [i++]) {
    if (e.className == 'on' ¦¦ e.className == 'off') {
    e.onclick = function () {
    var getEls = document.getEle mentsByTagName( 'DIV');
    for (var z=0; z<getEls.length ; z++) {
    getEls[z].className=getE ls[z].className.repl ace('show', 'hide');
    getEls[z].className=getE ls[z].className.repl ace('on', 'off');
    }
    this.className = 'on';
    var max = this.getAttribu te('title');
    document.getEle mentById(max).c lassName = "show";
    }
    }
    }

    }

    Any help would be MUCH appreciated!
    Thanks in advance

    Ryan
  • hsriat
    Recognized Expert Top Contributor
    • Jan 2008
    • 1653

    #2
    working fine in all browsers for me....

    Comment

    • ryrocks
      New Member
      • May 2008
      • 19

      #3
      Yes it works, but in IE you have to click on the text inside the second and third bars (product technical support and Regional sales specialists)
      I want the user to be able to click anywhere inside the bars, like with the top bar.

      Comment

      • hsriat
        Recognized Expert Top Contributor
        • Jan 2008
        • 1653

        #4
        Originally posted by ryrocks
        Yes it works, but in IE you have to click on the text inside the second and third bars (product technical support and Regional sales specialists)
        I want the user to be able to click anywhere inside the bars, like with the top bar.
        Hey, I'm the same guy in the JavaScript forum :D
        We'll continue it there only.

        Comment

        Working...