Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Javascript > Show text on Hover

Reply
Thread Tools

Show text on Hover

 
 
Matt
Guest
Posts: n/a
 
      09-22-2005
Is there a way to increase the amount of time a hyperlink title
displays or show the desired text using javascript?

<a title="This is the title text displayed on hover.">Displayed
Text</a>

The above HTML will display the title text when the mouse is hovered
over the displayed text but it disappears quickly.

There may be a better way to display text on hover using javascript but
I do not know how.

 
Reply With Quote
 
 
 
 
pipe
Guest
Posts: n/a
 
      09-22-2005
i wrote this a while ago, hope it helps

<script>
function hide_tooltip(){
document.getElementById("tooltipper").style.left=0
document.getElementById("tooltipper").style.top=0
document.getElementById("tooltipper").style.width= 1;
document.getElementById("tooltipper").style.height =1;
document.getElementById("tooltipper").innerHTML="" ;
}
function show_tooltip(event,txt){
document.getElementById("tooltipper").style.left=e vent.clientX+20
document.getElementById("tooltipper").style.top=ev ent.clientY+30
document.getElementById("tooltipper").style.width= 300;
document.getElementById("tooltipper").style.height =150;
document.getElementById("tooltipper").innerHTML=tx t;

}

</script>

<a href=# onmouseover="javascript:show_tooltip(event,'damn') "
onmouseout="javascript:hide_tooltip()" style='color:red'>link</a>";


<div id='tooltipper'
style='position:absolute;left:0;top:0;width:1;heig ht:1;border:1px solid
black;background-color:rgb(250,250,255)'></div>

 
Reply With Quote
 
 
 
 
RobG
Guest
Posts: n/a
 
      09-22-2005
Matt wrote:
> Is there a way to increase the amount of time a hyperlink title
> displays or show the desired text using javascript?
>
> <a title="This is the title text displayed on hover.">Displayed
> Text</a>
>
> The above HTML will display the title text when the mouse is hovered
> over the displayed text but it disappears quickly.
>
> There may be a better way to display text on hover using javascript but
> I do not know how.
>


JavaScript has no control over how long tool tips are displayed for, or
even whether they are displayed at all. It is common for browsers to
show a tool tip where an element has an alt or title attribute value,
but that is not consistent across all browsers.

There are some pseudo tool-tip scripts at the link below, but they may
be a bit over the top (beware of pop ups when entering the site).

<URL:http://www.walterzorn.com/tooltip/tooltip_e.htm>

I'm also not fond of tool tips that follow the cursor, they become an
annoyance.

You might want to poke around quirksmode.org, it has all you need to
know about cursor and element position so that you can build your own
'tool tip' that works in most browsers:

Cursor position:
<URL:http://www.quirksmode.org/js/events_properties.html>

Element position:
<URL:http://www.quirksmode.org/js/findpos.html>




--
Rob
 
Reply With Quote
 
ASM
Guest
Posts: n/a
 
      09-22-2005
Matt wrote:
> Is there a way to increase the amount of time a hyperlink title
> displays or show the desired text using javascript?
>
> <a title="This is the title text displayed on hover.">Displayed
> Text</a>
>
> The above HTML will display the title text when the mouse is hovered
> over the displayed text but it disappears quickly.
>
> There may be a better way to display text on hover using javascript but
> I do not know how.


working with only css on "normal" browser
and with JS in IE
try this (title replaced by a span in link text :

<html>
<a href="#here" id="here">Displayed Text
<span>This is the <strong>title text</strong> displayed on hover.
<br>And I can add some lines if I want
<br><em>Only if I use tag</em> <tt>&lt;br&gt;</tt>
<br>
<br>Tag <tt>&lt;P&gt;</tt> is absolutly <u><b>forbiden</b></u> here
</span>
</a>

<style type="text/css">
a { position: relative; text-decoration: none; }
a span { display: none; position: absolute;
border: 1px solid blue; color: blue;
background: #ff9; padding: 5px;
font-family: geneva, arial, verdana;
}
a em { color: red }
a tt { color: black; font-size: 1.5em; }
a:hover { background: yellow }
a:hover span { display: block }
</style>

<script type="text/javascript">
// script to put in all end of page
function roll(theLink) {
if(theLink.getElementsByTagName('SPAN')) {
var a = theLink.getElementsByTagName('SPAN')[0];
a.style.display = a.style.display==''? 'block' : '';
}
}
function setIE() {
var L = document.links;
for(var i=0;i<L.length;i++) {
L[i].onmouseover= function(){roll(this);};
L[i].onmouseout= function(){roll(this);};
}
}
var ie=false; /*@cc_on ie=true; @*/
if(ie) setIE();
</script>
</html>


--
Stephane Moriaux et son [moins] vieux Mac
 
Reply With Quote
 
ASM
Guest
Posts: n/a
 
      09-22-2005
pipe wrote:
> i wrote this a while ago, hope it helps


I have that (working on click) :

http://perso.wanadoo.fr/stephane.mor...yers_click.htm


--
Stephane Moriaux et son [moins] vieux Mac
 
Reply With Quote
 
RobG
Guest
Posts: n/a
 
      09-23-2005
ASM wrote:
> pipe wrote:
>
>> i wrote this a while ago, hope it helps

>
>
> I have that (working on click) :
>
> http://perso.wanadoo.fr/stephane.mor...yers_click.htm
>


Not in Firefox - clientX/Y are for IE and sycophants. Try the
following, it finds the cursor position using the quirksmode reference I
quoted earlier:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Demo</title>

<style type="text/css">

..toolTip {
border: 1px solid #999999;
background-color: #dddddd;
position: absolute;
padding: 1px 5px 1px 5px;
}

..buttonSet {
font-family: arial, sans-serif;
color: #336699;
background-color: #ffffff;
float: left;
border: 1px solid #999999;
}

</style>

<script type="text/javascript">

// The tool tip is created and referenced as a global object
var tipDiv;
function genToolTip()
{
if (document.createElement) {
tipDiv = document.createElement('div');
document.body.appendChild(tipDiv);
tipDiv.appendChild(document.createTextNode('initia l text'));
tipDiv.className = 'toolTip';
tipDiv.style.display = 'none';
}
}

window.onload = genToolTip;

function showTip(e, txt)
{
if ( tipDiv ) {
var e = e || window.event;
var xy = cursorPos(e);
tipDiv.firstChild.data = txt;
tipDiv.style.left = (xy[0] + 5) + 'px';
tipDiv.style.top = (xy[1] + 15) + 'px';
tipDiv.style.display = '';
}
}

function hideTip()
{
if ( tipDiv ) {
tipDiv.style.display = 'none';
}
}

// Based on quirskmode 'get cursor position' script
function cursorPos(e){
if (e.pageX || e.pageY) {
return [ e.pageX, e.pageY ];
} else if (e.clientX || e.clientY) {
return [
e.clientX + document.body.scrollLeft,
e.clientY + document.body.scrollTop
];
}
}

</script>

</head>
<body>
<div>
<a href="#"
onmouseover="showTip(event,'customisable tool tip')"
onmouseout="hideTip()">Mouse over the tip</a>
</div>
</body></html>


--
Rob
 
Reply With Quote
 
Robi
Guest
Posts: n/a
 
      09-23-2005
Matt wrote in message news:(E-Mail Removed) oups.com...
> Is there a way to increase the amount of time a hyperlink title
> displays or show the desired text using javascript?
>
> <a title="This is the title text displayed on hover.">Displayed
> Text</a>
>
> The above HTML will display the title text when the mouse is hovered
> over the displayed text but it disappears quickly.
>
> There may be a better way to display text on hover using javascript but
> I do not know how.


food for thought:

If someone has javascript disabled or browses with a non javascript
capable browser, you might want to keep those title attributes.

A neat solution would be to create a function which checks if the
underlying element contains a title then display it via javascript
removing at the same time the title attribute. On onmouseout,
adding the title attribute back and hiding the displayed tooltip.

I'm not sure if removing the title attribute is necessary, or if
displaying the tooltip text through onmouseover would suffice,
but somehow I doubt the latter.


This way, if a browser doesn't javascript, the tooltip title is still
being displayed.



 
Reply With Quote
 
ASM
Guest
Posts: n/a
 
      09-23-2005
RobG a écrit :
> ASM wrote:
>
>> I have that (working on click) :
>>
>> http://perso.wanadoo.fr/stephane.mor...yers_click.htm

>
>
> Not in Firefox


I don't know , but ... it seemed to works on mine

> - clientX/Y are for IE and sycophants.


well, that's true, I'd forget pageX pageY

> Try the
> following, it finds the cursor position using the quirksmode reference I
> quoted earlier:


thank you, it is on my HD (for next time ?)

--
Stephane Moriaux et son [moins] vieux Mac
 
Reply With Quote
 
 
 
Reply

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 Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Menu control and hover text color patrick.sannes@gmail.com ASP .Net Web Controls 1 07-12-2006 10:00 AM
Text below image on hover David Segall HTML 15 01-20-2006 02:11 PM
Hover text visited colour? T.J. HTML 4 04-14-2005 04:58 PM
Display TITLE text on hover Manny Goldman HTML 4 10-04-2004 12:06 AM
Hover Text Alasdair Baxter Computer Support 13 11-27-2003 05:02 PM



Advertisments