Getting Div to show on load

This is a discussion on "Getting Div to show on load" within the JavaScript Forum section. This forum, and the thread "Getting Div to show on load are both part of the Program Your Website category.



Go Back   Webforumz.com > Main Forums > Program Your Website > JavaScript Forum

Notices


Closed Thread
 
LinkBack Thread Tools
  #1 (permalink)  
Old Aug 24th, 2007, 21:14
SuperMember

SuperMember
Join Date: May 2006
Location: North West, UK
Age: 21
Posts: 1,173
Thanks: 0
Thanked 0 Times in 0 Posts
Getting Div to show on load

I have a bit of JS which sets divs with a certain class to display:none; and then when one is clicked it set that one (the div that link is linked to) to display: block; but all the others to display: none; So essentialy it swaps them.

My problem is that I would like the very first div to actually be displayed when the page is loaded and I wondered how I would achieve this. As it is all of my divs are hidden when the page loads.

Below is the relevant HTML:
Code: Select all
<div id="primary_services">
        <h1>Services<h1>
        <div class="section" id="intro">
          <h2>Introduction</h2>
          <p>Summarizing my experience of my week in Austin, TX for South by 
          Southwest is a difficult task. This was my first time attending, 
          and it’s been physically, emotionally, and mentally 
          exhausting/invigorating.</p>
          <p>I’d rather not go through point by point my thoughts on every 
          single experience, but I will point out some general thoughts.</p> 
        </div>
        
        <div class="section" id="web">
          <h2>Web</h2>
          <p>Summarizing my experience of my week in Austin, TX for South by 
          Southwest is a difficult task. This was my first time attending, 
          and it’s been physically, emotionally, and mentally 
          exhausting/invigorating.</p>
          <p>I’d rather not go through point by point my thoughts on every 
          single experience, but I will point out some general thoughts.</p> 
        </div>
        
        <div class="section" id="print">
          <h2>Print</h2>
          <p>Summarizing my experience of my week in Austin, TX for South by 
          Southwest is a difficult task. This was my first time attending, 
          and it’s been physically, emotionally, and mentally 
          exhausting/invigorating.</p>
          <p>I’d rather not go through point by point my thoughts on every 
          single experience, but I will point out some general thoughts.</p> 
        </div>        <div class="section" id="identity">
          <h2>Identity</h2>
          <p>Summarizing my experience of my week in Austin, TX for South by 
          Southwest is a difficult task. This was my first time attending, 
          and it’s been physically, emotionally, and mentally 
          exhausting/invigorating.</p>
          <p>I’d rather not go through point by point my thoughts on every 
          single experience, but I will point out some general thoughts.</p> 
        </div>
      </div>
And the JS so far:

Code: Select all
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function showSection(id) {
  var divs = document.getElementsByTagName("div");
  for (var i=0; i<divs.length; i++ ) {
    if (divs[i].className.indexOf("section") == -1) continue;
    if (divs[i].getAttribute("id") != id) {
      divs[i].style.display = "none";
    } else {
      divs[i].style.display = "block";
    }
  }
}

function prepareInternalnav() {
  if (!document.getElementsByTagName) return false;
  if (!document.getElementById) return false;
  if (!document.getElementById("services")) return false;
  var nav = document.getElementById("services");
  var links = nav.getElementsByTagName("a");
  for (var i=0; i<links.length; i++ ) {
    var sectionId = links[i].getAttribute("href").split("#")[1];
    if (!document.getElementById(sectionId)) continue;
    document.getElementById(sectionId).style.display = "none";
    links[i].destination = sectionId;
    links[i].onclick = function() {
      showSection(this.destination);
      return false;
    }
  }
}

addLoadEvent(prepareInternalnav);
As you can see my mark-up is free of any JS so I'm not looking for solutions that involve inline JS. There is probably a pretty simple solution but it eludes me. Would it work if I added a new class to the first div and then basically said if a dive has this new class then it should display: block; ? would something this simple work?

Hope you can help.

Pete.

Last edited by pa007; Aug 24th, 2007 at 21:18.

  #2 (permalink)  
Old Aug 25th, 2007, 17:15
SuperMember

SuperMember
Join Date: May 2006
Location: North West, UK
Age: 21
Posts: 1,173
Thanks: 0
Thanked 0 Times in 0 Posts
Re: Getting Div to show on load

This is sorted now.

Pete.
Closed Thread

Tags
showhide, dom

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
Fade in on load? jtyoungs JavaScript Forum 6 Nov 9th, 2007 07:10
Load Last fizzgig JavaScript Forum 5 Sep 20th, 2007 20:07
load commands acrikey Flash & Multimedia Forum 11 Aug 17th, 2007 08:13
HELP!!! Images won't load IE 6 Lilas Graphics and 3D 1 Dec 23rd, 2005 18:08
load css to flash for xml Ozeona Flash & Multimedia Forum 0 Sep 27th, 2005 00:38


All times are GMT. The time now is 10:43.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC8
© 2003-2008 Webforumz.com : All Rights Reserved

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43