View Full Version : Smooth Navigational Menu (v3.0) - Problem with Hoover/Toggle Mode Not Working

02-02-2016, 02:58 AM
1) Script Title: Smooth Navigational Menu (v3.0)

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

3) Describe problem: Until just a few days ago all was working fine however now the menu I set up on a customer's website seems to not want to support "hoover" option

It's requiring you to click a menu option to get the sub-level menu's rather than being able to "hoover" over an option and have the sub fly out. The other problem this causes is in cases where the menu item is both a link as well as the parent of a sub-menu. I have included two links below, one where the page was originally setup and one where I tried to manually specify "hoover" which is also the default. Nether is working.

Original Page: http://www.vinylfenceanddeck.com/index.html

Test Page: http://www.vinylfenceanddeck.com/index2.html

As I said, it was working and now it's not, any help would be greatly appreciated. Thanks!

02-02-2016, 03:26 AM
Looks OK here (Opera (like Chrome) under Win 7 on a laptop). What browser, and on what device, with what OS are you doing this? Be aware that the philosophy of this menu is to become all click (tap actually) on mobile devices that do not support hover. Since sniffing for that might be involved, even some desktop and laptop devices might fall into that category. Bottom line with this menu is that it's best to set it up so that it can work as a click activated only menu with the hover feature just a nicety if a given browser and device supports that. The changes you're observing are probably due to a browser update, though if anything else has changed (the device or OS you're using, or if you've updated from an earlier version of the script), let us know.

02-10-2016, 06:44 PM
We are experiencing the exact same issue. All was working fine on our site www.soilvision.com, hovering over a menu would invoke it, clicking on any menu item would load that URL. But now it would seem that Chrome on Windows is forcing the user to click a menu to invoke it and if a parent button has a linked URL, it will not load the page unless you right-click and load into new page or tab. I'm also noticing this happening on Safari on my iPhone. It works beautifully on all other browser on PC and Mac as far as my experience has been. Can you offer any advice or solution that does not entail tossing out all the work that I have done to implement this menuing system? btw...it appears to have no effect if I change the Init from Toggle to Hover & vice-versa.

04-28-2016, 01:47 AM
Hmm, this post I'm responding to was automatically moderated some time ago, meaning this is the first that I have seen it. However, I am familiar with this problem. Basically, the test I devised (I did some work on this script, though it's still 90% or more a DD script), to detect a touch device was too aggressive, resulting in some false positives. A touch device cannot do mouseover/out in a logical manner consistent with a desktop or laptop with a mouse or other mouse like device. So it has to operate the menus on click (touch for a touch device). As a result, I recommend that you rethink your menu logic so it will work as an on click menu. I know that removes some flexibility. But it will add cross device accessibility.

If you or others do not want to do that, false positives can be reduced. But I must stress that for touch only devices, click/touch activated menus are the only kind that will be fully functional.

The current test is (in the ddsmoothmenu.js file):

detecttouch: !!('ontouchstart' in window) || !!('ontouchstart' in document.documentElement) || !!window.ontouchstart || (!!window.Touch && !!window.Touch.length) || !!window.onmsgesturechange || (window.DocumentTouch && window.document instanceof window.DocumentTouch),

In today's environment, that can be fairly safely reduced to:

detecttouch: !!('ontouchstart' in window),

But as I say, that still means that in those touch only devices, a hover menu will be less than optimally accessible.

Best to plan from the beginning for a click activated menu - that will translate effectively to touch only and to hybrid (devices that are both touch and mouse capable).