Results 1 to 4 of 4

Thread: Switch Menu

  1. #1
    Join Date
    May 2005
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Switch Menu

    Hi,
    I'm using Switch Menu and I don't want it persistent.
    I enter persistmenu as 'no' and persisttype as 'local'

    But everytime I come in to the site the menu is 'expanded', how do I set it that it is always contracted?

    here's the code:

    <style type="text/css">
    .menutitle{
    cursorointer;
    margin-bottom: 1px;
    background-color:#F2CAA6;
    color:#000000;
    width:3px;
    padding:1px;
    text-align:center;
    #font-weight:bold;
    /*/*/border:1px solid #000000;/* */
    }

    .submenu{
    margin-bottom: 0.5em;
    }
    </style>

    <script type="text/javascript">

    /***********************************************
    * Switch Menu script- by Martial B of http://getElementById.com/
    * Modified by Dynamic Drive for format & NS4/IE4 compatibility
    * Visit http://www.dynamicdrive.com/ for full source code
    ***********************************************/

    var persistmenu="no" //"yes" or "no". Make sure each SPAN content contains an incrementing ID starting at 1 (id="sub1", id="sub2", etc)
    var persisttype="local" //enter "sitewide" for menu to persist across site, "local" for this page only

    if (document.getElementById){ //DynamicDrive.com change
    document.write('<style type="text/css">n')
    document.write('.submenu{display: none;}n')
    document.write('</style>')
    }

    function SwitchMenu(obj){
    if(document.getElementById){
    var el = document.getElementById(obj);
    var ar = document.getElementById("masterdiv").getElementsByTagName("span"); //DynamicDrive.com change
    if(el.style.display != "block"){ //DynamicDrive.com change
    for (var i=0; i<ar.length; i++){
    if (ar[i].className=="submenu") //DynamicDrive.com change
    ar[i].style.display = "none";
    }
    el.style.display = "block";
    }else{
    el.style.display = "none";
    }
    }
    }

    function get_cookie(Name) {
    var search = Name + "="
    var returnvalue = "";
    if (document.cookie.length > 0) {
    offset = document.cookie.indexOf(search)
    if (offset != -1) {
    offset += search.length
    end = document.cookie.indexOf(";", offset);
    if (end == -1) end = document.cookie.length;
    returnvalue=unescape(document.cookie.substring(offset, end))
    }
    }
    return returnvalue;
    }

    function onloadfunction(){
    if (persistmenu=="yes"){
    var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
    var cookievalue=get_cookie(cookiename)
    if (cookievalue!="")
    document.getElementById(cookievalue).style.display="block"
    }
    }

    function savemenustate(){
    var inc=1, blockid=""
    while (document.getElementById("sub"+inc)){
    if (document.getElementById("sub"+inc).style.display=="block"){
    blockid="sub"+inc
    break
    }
    inc++
    }
    var cookiename=(persisttype=="sitewide")? "switchmenu" : window.location.pathname
    var cookievalue=(persisttype=="sitewide")? blockid+";path=/" : blockid
    document.cookie=cookiename+"="+cookievalue
    }

    if (window.addEventListener)
    window.addEventListener("load", onloadfunction, false)
    else if (window.attachEvent)
    window.attachEvent("onload", onloadfunction)
    else if (document.getElementById)
    window.onload=onloadfunction

    if (persistmenu=="yes" && document.getElementById)
    window.onunload=savemenustate

    </script>

    <ul>
    <div id="masterdiv">
    <hr noshade size="1">
    <li>
    xxxx
    </i>
    <i>
    xxxxx
    </i>
    <div class="menutitle" onclick="SwitchMenu('sub1')">+</div>
    <span class="submenu" id="sub1">
    <li>
    xxxx
    </li>
    </span>
    </div>
    </ul>

    thanks
    Paul
    Last edited by deppeler; 05-06-2005 at 03:15 AM.

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    Hard to say what is going on, if persist is no, it should appear closed. You may have the file cached. Did you have persist yes and then later change it to no? If so, clear your cache, then try. If your browser has javascript off, the page will always look expanded, no matter how it is set.
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  3. #3
    Join Date
    May 2005
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    As far as I know I have JavaScript enabled, when I go to the page and it is expanded I can contract it so the JavaScript is working.
    I tried before to delete files and cookies but it didn't seem to do anything.


    Also, I can go the the page of a demo etc and all looks fine.


    Here is the link to the page, maybe if someone else goes there and see's whether it does it for them:

    http://irokradio.com

    thanks
    Paul

  4. #4
    Join Date
    May 2005
    Posts
    3
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I worked out if I removed the 3 '\n' from this portion of code it works:

    if (document.getElementById){ //DynamicDrive.com change
    document.write('<style type="text/css">\n')
    document.write('.submenu{display: none;}\n')
    document.write('</style>\n')
    }


    wierd

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •