Charles Rowland
 Posts:39

| | 07/04/2008 1:47 AM |
| Why do I have extra html generated for onmouseover and onmouseout in IE that is not in Firefox? Is there a way to over-ride this? Thank you, Charlie | | | |
|
|
|
John Mitchell Posts:3380


| | 07/04/2008 7:23 AM |
| It is there because IE doesn't support the :hover psuedo class for LI. You can disable it by putting this property in your Snapsis NavMenu declaration:
AddMouseOver="False" | | | |
|
Charles Rowland
 Posts:39

| | 07/04/2008 2:52 PM |
| John, Thanks for all your answers! This may be a dumb question but can I use something other than LI? Also, I need to code this menu into a wrapper and need it to work with all browsers. Will the IE method work for Firefox?
| | | |
|
Charles Rowland
 Posts:39

| | 07/08/2008 1:48 PM |
| Adding AddMouseOver="False" disabled my entire skin. Is there where I am supposed to add it?
<%@ Register TagPrefix="Snapsis" Namespace="Snapsis.DNN.Skins" Assembly ="Snapsis.DNN.NavMenu" AddMouseOver="False" %>
| | | |
|
Charles Rowland
 Posts:39

| | 07/08/2008 1:50 PM |
| Also, how do I disable or make the title disappear so it does not show up in a tooltip? Can I do that in the css? Thanks! | | | |
|
John Mitchell Posts:3380


| | 07/08/2008 3:34 PM |
| Hi Charles, No. The AddMouseOver="False" goes in the element that looks like this: < snapsis:NavMenu id="nav" runat="server" AddMouseOver="False" To remove the title tooltip you will need to use a custom template. | | | |
|
Charles Rowland
 Posts:39

| | 07/08/2008 3:59 PM |
| Hi John,
Ok, I see that element. What is involved with a custom template?
Thanks, Charlie | | | |
|
John Mitchell Posts:3380


| | 07/08/2008 4:24 PM |
| There are samples of custom templates in the ActiveResetHover and the Suckerfish example skins included in the package. It is basically just a text file that you can put menu/page tokens in to customize the html output. | | | |
|
Charles Rowland
 Posts:39

| | 07/08/2008 4:44 PM |
| Ok, I'm lost about the templates. I think my menu is totally custom. I'll talk to Mitch Sellers about this since he did my menu for me.
I added AddMouseOver="False" and it works in my browser, IE7. Which versions will it not work in?
Thanks,
Charlie | | | |
|
Charles Rowland
 Posts:39

| | 07/08/2008 6:47 PM |
| Hey John,
What about PageBlaster?
This seems to work: replaced: title="About Us" with this: title=""
See any reason not to do it this way? Is there a rule to do all my menu options or do I need a separate one for each?
Thanks, Charlie | | | |
|
John Mitchell Posts:3380


| | 07/08/2008 10:31 PM |
| Hi Charlie, that should work just fine. There is also a Replacements feature in the menu, but if you are using PageBlaster then it is a better way to remove it.
You can tell if you are using a custom template if the NavType="Template" on your menu properties. There will also be a TemplateFile property which points to your template. | | | |
|
Charles Rowland
 Posts:39

| | 07/09/2008 12:00 AM |
| Ok, is there a way to do it with one replace for all my menu options, or should I just add one for each?
Here's my site, if you want to look at it: http://67.199.45.239/Home.aspx
I also thought I might be able to remove this JS using PageBlaster which gets rid of the leading separator on the menu options: document.getElementById('MainNav').firstChild.firstChild.className += ' firstitem';
Seems like there might be many areas to use PageBlaster that will be beneficial.
Thanks, Charlie
| | | |
|
Charles Rowland
 Posts:39

| | 07/09/2008 12:02 AM |
| | Also, if you know, what versions of IE do I need to worry about for the AddMouseOver issue? | | | |
|
John Mitchell Posts:3380


| | 07/09/2008 12:12 PM |
| Hi Charlie,
To do all menu options you would probably only want to target the title attributes inside the menu. If you can attach your menu code I can probably come up with one regex that would target them all.
The onMouseOver is a problem for hover menus in IE6 and below if you do not have the javascript. The javascript is only injected into IE browsers, but I could probably target it better to not put it in IE7 and above. | | | |
|
Charles Rowland
 Posts:39

| | 07/09/2008 3:41 PM |
| Hi John, I added the 8 menu items to PageBlaster individually and it is working fine. This is a real estate web site and we have subscribed to a service that provides the local MLS data. I have attached a header file that is used to wrap around their pages for property searches, listing details, etc. I think since this header file is static, that I will need to incorporate the JS in the menu just to get the IE6 and below customers. I assume there are still quite a few of them out there, is that true? Thank you, Charlie |
Attachment: 179415212871.txt
| | |
|
Charles Rowland
 Posts:39

| | 07/10/2008 3:23 PM |
| Hi John,
Unfortunately, the following does not work in Firefox. After hovering/unhovering over the menu option a few times the 'Selected Tab' class is deleted and the option is no longer high-lighted. Can you see anything obvious as to why this would not work? It works fine in IE7.
Thanks,
Charlie
[script removed] | | | |
|
Charles Rowland
 Posts:39

| | 07/10/2008 3:25 PM |
| Try again without <>
li id="MainNav63" onmouseover="this.className+=' iehover ';" onmouseout="this.className=this.className.replace(' iehover ', '');" class="SelectedTab"
| | | |
|
Charles Rowland
 Posts:39

| | 07/10/2008 3:35 PM |
| Interesting... class starts as "SelectedTab" then goes to "SelectedTab iehover" then "SelectedTabiehover"
The extra space put at the end of ' iehover ' is not inserted and the spaces are removed on the replace. | | | |
|
Charles Rowland
 Posts:39

| | 07/10/2008 5:05 PM |
| Ok, did not figure this out but don't we need 'this.classname' as the first parameter of replace()? It works better like this, but still not quite right...
| | | |
|
Charles Rowland
 Posts:39

| | 07/10/2008 8:47 PM |
| I figured out replace() is also a method...
This works in IE7 and Firefox. Do you think it will work in IE6? In the replace method I changed the quotes around iehover to '/' and had to remove the spaces since Firefox trims all the spaces for the final result. That is so it can handle if there is something in the class or it is empty at the start. So I might need to toggle "SelectedTab" with "SelectedTab iehover" or "" with "iehover".
li id="MainNav63" class="SelectedTab" onmouseover="this.className+=' iehover';" onmouseout="this.className=this.className.replace(/iehover/g,'') ;"
| | | |
|