PDA

View Full Version : Resolved AnyLink Vertical Menu busted in Chrome *RESOLVED



eTard
09-08-2011, 10:12 PM
1) Script Title: AnyLink Vertical Menu

2) Script URL (on DD): http://www.dynamicdrive.com/dynamicindex1/anylinkvertical.htm

3) Describe problem:

I use a version of AnyLink Vertical Menu and I recently noticed that the drop down start about the middle of the drop down image that triggers it. Others here have mentioned the issue in similar type scripts, but the fixes suggested did not work for me. So rather than the drop down menu dropping down below the navi buttons, it covers half the button and drops down over the button.

It has always been fine but in all versions of Chrome it is now busted and in 5.0.6 Safari on non Intel macs it is busted.

I tried

#dropdownmenu {
display: inline-block;
}

ddadmin
09-08-2011, 11:41 PM
The script you've referenced is an outdated version of the current one: http://www.dynamicdrive.com/dynamicindex1/dropmenuindex.htm Try the later to see if the problem persists for you...

jscheuer1
09-09-2011, 07:41 AM
It is a problem with that (newer) version, and you had the right idea in a way. You were just applying it to the wrong element. Add this to the stylesheet:


.menuanchorclass {
display: inline-block;
}

BTW DD - there have been a number of complaints about this lately with this particular menu - the updated current one. It even happens on its demo page when hovering the 'Get The News' image in Chrome and Safari. Perhaps the above style should be added to the stylesheet for that menu. As far as I can tell it doesn't hurt any other browsers. What I think is happening is that since the script measures the offset height of the link, due to the vagaries of inline elements, it actually reports shorter than the image it contains. But it might be something else. In any case, the above style fixes it.

eTard
09-09-2011, 08:36 AM
Yes, I know my script is outdated BUT at this time, it is just a matter of time and such to update it to the "newer" one across an entire site. That is just a time and effort issue and really, the script works awesome other than that.

Either way, I am surprised there is not a fix for the "older" script as the "older" script is just fine and broke in the newer Chrome - so hard to throw the baby out with the bathwater. PLus, it would be a lot of effort to go through and swap it all out just to fix for Chrome?

Also, in the "older" script there is no "menuanchorclass" so that fix does not apply but the equal class used in the older script of "dropdownmenu" does not fix with this css fix. Not sure why the same concept does not apply.

And jscheuer1 is 100% right, that script on DD should be updated with the fix in the code that people download that fixes it in the newer script as people are just going to keep coming here for an answer.

So, I guess I will have to keep searching for a fix unless someone else can help me out there - or find the time to update a script, css file and styling & test across an entire site just because this script broke in newer Chrome? Odd that a simple 1 css style fix can fix it in the "newer" script but nothing fixes it in the "older" script? :(

jscheuer1
09-09-2011, 10:58 AM
Actually there is no equivalent selector class or otherwise for the trigger anchors in the old script. One could add it though. So where you have and/or similar (from Step 2 of the old script):


<a href="default.htm" class="menuanchorclass" onMouseover="dropdownmenu(this, event, menu1, '165px')" onMouseout="delayhidemenu()">Webmaster Links</a><br />

Add the highlighted as shown, and add the:


.menuanchorclass {
display: inline-block;
}

rule to the style section of Step 1 of the old script.

If you want more help:

Please post a link to a page on your site that contains the problematic code so we can check it out.

eTard
09-09-2011, 01:30 PM
Brilliant!

Duh, it never occurred to me to just add the class into the call and then the css. I assumed menuanchorclass had to be in the menu.js file that runs the script.

That fix is 10x easier than switching to a whole new script and setting it all up again.

Thanks, a quick test showed it worked!