Todd Bleeker's 12 Hive

All MindsharpBlogs

Are you pondering what I'm pondering?

My Links

Post Categories

Archives

Blog Stats

Menu Content Editor Web Parts

Try this script in a Content Editor Web Part (CEWP) for dynamic generation of a mouseover menu with cascading options.

Before Mouseover:


After Mouseover:


<menu id="menu_WPQ_" class="ms-SrvMenuUI"></menu>

<SPAN class="ms-HoverCellInActive"

      style="CURSOR: hand"

      onmouseover="MainMenu(this);"

      onmouseout="this.className='ms-HoverCellInActive'"

      nowrap valign="bottom"

> 

<IMG SRC="/_layouts/images/Menu1.gif" border="0" />

</SPAN>

 

<script type="Text/JavaScript" language="JavaScript">

// Generate dynamic menu example

// todd@mindsharp.com  MindsharpBlogs.com/Todd

// CopyRight © 2006, All Rights Reserved

// Last updated 03/24/2006

// Please don't delete this header

 

var IMG_PATH = "/_layouts/images/";

var SEP = ", ";

 

var menu = document.getElementById("menu_WPQ_");

 

function MainMenu(span)

{

  try

  {

    this.className = "ms-HoverCellActiveDark";

   

    var options = new Array(8);

    options[0] = "http://www.altavista.com, AltaVista";

    options[1] = "http://web.ask.com, Ask";

    options[2] = "http://www.google.com, Google";

    options[3] = "http://www.hotbot.com, HotBot";

    options[4] = "http://search.lycos.com, Lycos";

    options[5] = "http://search.msn.com, MSN";

    options[6] = "http://www.search.com, CNet";

    options[7] = "http://search.yahoo.com, Yahoo!";

 

    //Define a WSS dynamic smart menu

    if(menu)

    {

      //Add an option

      CAMOpt(menu, "option1",

        "document.location.href=\"http://wss1\";",

        IMG_PATH + "aca16.gif", "Menu tooltip is broken");

 

      //Add a Seperator

      CAMSep(menu);

 

      //Add a submenu with two options

      var opts = CASubM(menu, "More Options",

        IMG_PATH + "active.gif", "submenu tooltip also broken");

 

      var opts11 = CASubM(opts, "Option 1.1",

        IMG_PATH + "acl16.gif", "");

      CAMOpt(opts, "Option 1.2",

        "document.location.href=\"http://sps1\";",

        IMG_PATH + "acl16.gif", "");

 

      for(var i=0; i<options.length; i++)

      {

        option = options[i].split(SEP);

        optionUrl = option[0];

        optionName = option[1];

 

        CAMOpt(opts11, optionName,

        "document.location.href=\"" + optionUrl + "\";","", "");

      }

    }

 

    OMenuInt(menu_WPQ_, span, 0, 0, 0);

  }

  catch(e)

  {

    alert(e.Message);

  }

}

</script>

 

 

Here is flatter menu based entirely on CSS (rather than JavaScript) hung on a hyperlink so it must be clicked to see the menu:

 

Before Click:


After Click:


<style>

.ms-SrvMenuUI

{

    display:none;

}

.ms-HoverCellInActive

{

    border: none;

    margin: 1px;

    background-color: transparent;

}

.ms-HoverCellActive

{

    border: #f4c660 1px solid;

    background-color: #e1ecfc;

}

</style>

 

<menu id="myLinks" class="ms-SrvMenuUI">

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/google.gif"

   onMenuClick="window.location.href='http://google.com';"

  >Google</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/msn.gif"

   onMenuClick="window.location.href='http://msn.com';"

  >MSN</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/altavista.gif"

   onMenuClick="window.location.href='http://Altavista.com';"

  >Altavista</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/ask.gif"

   onMenuClick="window.location.href='http://Ask.com';"

  >Ask</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/hotbot.gif"

   onMenuClick="window.location.href='http://HotBot.com';"

  >HotBot</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/lycos.gif"

   onMenuClick="window.location.href='http://Lycos.com';"

  >Lycos</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/search_com.gif"

   onMenuClick="window.location.href='http://Search.com';"

  >Search.com</ie:menuitem>

  <ie:menuitem

   iconSrc="http://www.highdots.com/website-ranking-checker/images/search_engines/yahoo.gif"

   onMenuClick="window.location.href='http://Yahoo.com';"

  >Yahoo!</ie:menuitem>

</menu>

<div class="ms-HoverCellInActive"

  onmouseover="this.className='ms-HoverCellActive'"

  onmouseout="this.className='ms-HoverCellInActive'">

  <a id="menuLink"

    style="CURSOR: hand"

    onclick="JavaScript: if(!myLinks.isOpen())

      myLinks.show(this, true, 0, 0, 0);"

    tabindex="0">

    Search Engines

  </a>

</div>

 

 

I wrote these a long time ago and I didn't vet them for this post but I couldn't see waiting any longer to share them with everyone.

 

<Todd />

posted on Tuesday, August 15, 2006 3:50 PM

Feedback

# Menu Inhaltseditor Webparts 8/16/2006 6:34 AM SharePoint, SharePoint and stuff

Todd Bleeker stellt in seinem Blog zwei Scripte für das Inhaltseditor-Webpart vor, mit dem dynamische...

# re: Menu Content Editor Web Parts 8/28/2006 5:39 AM Ben Weeks

Hi Todd,

Nice bit of code - just wondered for what particular applications you used this?

Regards,

Ben.

# re: Menu Content Editor Web Parts 12/18/2006 5:55 AM Todd Bleeker

Ben,

I've used it for several situations. I really like the fact that I don't have to bring any JavaScript to the table to get menus in WSS. So, this works well if my need is just to supplement an existing DOM element with a menu or to create my own solution that requires a menu.

HTH,

<Todd />

# Dynamic generation of a mouseover menu with cascading options 5/23/2008 6:16 AM SaurabhKV

Menu Content Editor Web Parts SharePoint Menus in C#

# [WSS] - PostBack d'une WebPart | hilpers 1/22/2009 8:40 AM Pingback/TrackBack

[WSS] - PostBack d'une WebPart | hilpers


Comments on this post are closed.
Title  
Name  
Url
CAPTCHA
Protected by Clearscreen.SharpHIPEnter the code you see:
Comments