Click here to Skip to main content
Click here to Skip to main content

Transparent pop-up link with desciption using JavaScript and CSS

By , 28 Oct 2002
 

Sample Image - maximum width is 600 pixels

Introduction

When I was surfing the web, I found some websites using some cool pop-up links with a description or you may call it a tooltip or titletip. I found it very interesting because of its transparency and thought may be you'll like it too, so I posted this article. Using a little JavaScript and CSS can help you do that easily.

Using CSS

In CSS, you would just add this code to the top of your page below the <head>, to make a CSS class in order to customize the look of the pop-up.

<style type="text/css">
  .transparent {
    filter:alpha(opacity=90);
    background-color:green;
    display:none;
    width:170;
    height:100;
    position:absolute;
    color: white;
    border: 1 green solid;
}
</style>

The heart of the code above, is the 3rd line: filter:alpha(opacity=90);. This line makes the popup transparent with the opacity value set to 90. You can set the opacity within 0 - 100. If you set to 0, you won't see the popup.

Using JavaScript

Add the script below right after the CSS above.

<script>
    /* this function shows the pop-up when
     user moves the mouse over the link */
    function Show()
    {
        /* get the mouse left position */
        x = event.clientX + document.body.scrollLeft;
        /* get the mouse top position  */
        y = event.clientY + document.body.scrollTop + 35;
        /* display the pop-up */
        Popup.style.display="block";
        /* set the pop-up's left */
        Popup.style.left = x;
        /* set the pop-up's top */
        Popup.style.top = y;
    }
    /* this function hides the pop-up when
     user moves the mouse out of the link */
    function Hide()
    {
        /* hide the pop-up */
        Popup.style.display="none";
    }
</script>

The code above is quite simple, there're only 2 functions, one to display the pop-up and another to hide the pop-up.

Using HTML

The last part is some HTML, as the code below, to the body of the page and get it up and running.

<body bgcolor="black" text="white">
<a href="" onMouseOut="Hide()" onMouseOver="Show()" 
  onMouseMove="Show()">Move the mouse over here</a><br>
<br>
Move your move over the link above<br>
and the pop-up appears. And the pop-up<br>
follows your mouse as long as your mouse<br>
is still over the link. 
<div id="Popup" class="transparent">
    <div style="background-color: #003366">
      <b>Title goes here</b></div>
    <div></b>Description goes here</div>
</div>
</body>

What else?

If you change a little bit in the CSS code, you'll get 2 more types of pop-up:

  1. Change the line filter:glow(opacity=90); to filter:progid:DXImageTransform:Microsoft.Glow(color=yellow,strength=5); and you'll get this kind of pop-up:

    Sample Image - maximum width is 600 pixels

  2. Or change the line filter:glow(opacity=90); to filter:progid:DXImageTransform:Microsoft.DropShadow(color=yellow,strength=5); and you'll get a pop-up with shadow:

    Sample Image - maximum width is 600 pixels

Note that the 2 types above work only with IE5.5+. Hope this is helpful for you!

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Zek3vil
Singapore Singapore
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
GeneralWhite spacemembernatelywills30 Apr '09 - 5:25 
Hi there. Firstly thanks for sharing this great cose; the pages look great but I have a small problem. My design is based on nested tables. I have cut a graphic and made part of it a link but when I add the code, I get a strange white space under the width of the graphic. It's odd because it doesn;t seem to be throwing my tables off but the graphic looks 'shorter' byt about 5 pixels- alomst as if the spacing is off but only on that one line.
 
I am basically modifying this page: http://www.soi.com/Demo/Index.shtml?M=M3&ON=1&SM=S8[^] I am trying to add the cool rollover to the 'legs' around the middle link but as you can see, each 'leg' is made of a square graphic and when I add the code, it adds a white bar at the bottom. The section of green above is a background image, would this be the reason?
 
Can you help?
 
Thanks so much!
~Natalie
GeneralGoodmemberAbbas Ali Butt10 Sep '08 - 4:22 
Very good and simple acrticle
 
abbas ali

GeneralDatabase recordmemberbidox25 Mar '08 - 11:09 
Hi Experts,
 
Can you show me how i can use this pop up to display fields for a particular ID in my database?
 

Bee
GeneralMultiple Linksmemberbigleo2311 Dec '07 - 8:42 
How do you code for multiple links?
Questioncan you use this more than once?sussAnonymous30 Nov '03 - 23:09 
can you use this script to create multiple pop-ups on one page?
AnswerRe: can you use this more than once?memberguga208 Mar '07 - 2:26 
<script>
      /* this function shows the pop-up when
      user moves the mouse over the link */
      function Show(strObjectName)
      {
            var objDiv = document.getElementByID(strObjectName);
 
            /* get the mouse left position */
            x = event.clientX + document.body.scrollLeft;
            /* get the mouse top position   */
            y = event.clientY + document.body.scrollTop + 35;
            /* display the pop-up */
            objDiv.style.display="block";
            /* set the pop-up's left */
            objDiv.style.left = x;
            /* set the pop-up's top */
            objDiv.style.top = y;
      }
      /* this function hides the pop-up when
      user moves the mouse out of the link */
      function Hide(strObjectName)
      {
            /* hide the pop-up */
            var objDiv = document.getElementByID(strObjectName);
 
            objDiv.style.display="none";
      }
</script>
 
<body bgcolor="black" text="white">
<a href="" onMouseOut="Hide('Popup')" onMouseOver="Show('Popup')"
   onMouseMove="Show('Popup')">Move the mouse over here</a><br>
<br>
Move your move over the link above<br>
and the pop-up appears. And the pop-up<br>
follows your mouse as long as your mouse<br>
is still over the link.
<div id="Popup" class="transparent">
      <div style="background-color: #003366">
         <b>Title goes here</b></div>
      <div></b>Description goes here</div>
</div>
</body>
 

Cool | :cool:
GeneralLinksmemberruben101028 May '03 - 3:42 
I wonder if there is a way to keep the pop-up open if the pop-up contains links?
GeneralRe: LinksmemberZek3vil28 May '03 - 3:54 
Yes,of course. Just take the onMouseOut event out of the link.
 
<font color="green">// What do I do every day</font>
<font color="blue">foreach</font> (System.Hours hour <font color="blue">in</font> EveryDay.Hours)
{
      WorkingWithMyComputer();
}

QuestionCross-browser compatible?memberMarc Merritt28 Oct '02 - 1:38 
Does this style sheet and script work in Netscape too?
AnswerRe: Cross-browser compatible?memberZek3vil28 Oct '02 - 3:56 
No, it doesn't. The style sheet which makes the pop-up transparent (the filter object) supports IE for Windows only, not even for Mac.
 
Zeke

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web02 | 2.6.130523.1 | Last Updated 29 Oct 2002
Article Copyright 2002 by Zek3vil
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid