I'm trying to make this as easy as possible for developers to use, but I have a question about how it's implemented. Currently to use it you place the function call within an 'onmouseover' attribute, like this:
<a href="#" onmouseover="tooltips('Tools tip message number 1');">
But - this means you need to use both the double and single quote mark, which means if your 'tip' has quotes it can get real messy. I thought of changing it so you just used a class name instead of an 'onmouseover'. Somethng like this:
<a href="#" class="tooltips" tooltipsMsg="Tools tip message number 1">
Where I would scan the page for all items with the class "tooltips" and automatically create onmouseover events for them, displaying the text found in the attribute 'tooltipsMsg'.
Is this second approach too obscure? Non-intuitive? I don't want people looking at the code in the page wondering what the heck is going on. I want it to be easy to use even for new and semi skilled developers.
Part of the problem I have with using the classname and extra attribute approach is that I end up breaking the function up into two separate pieces. And that sort of makes the function loose some of it's intuitiveness. I'm concerned that someone just seeing class="tooltips" in a DIV will not automatically connect that in their head with the attribute tooltipsMsg.
Hmmm... there is a thought. What if I just forget the using the class name and simply scan for tags which contain the attribute "tooltipsMsg"? So you could have something like:
<a href="#" tooltipsMsg="Tools tip message number 1">
<div tooltipsMsg="Tools tip message number 1">blah blah blah</div>
I could even grab the text of the message and create an "alt" or "title" attribute for the HTML tag/object so it would be more "Accessible"
When you have detected an element with your class type, the onmouse event is created and the title attribute is cleared. I won't suggest using the alt attribute or any other custom fields as I don't think it will be compatible will all browsers.
If your anything like me, you'll change it hundreds of times before you end up back where you started :P