Hi blm126?
Do you anticipate updating this script soon for the aforementioned? Just trying to gauge when I should post this script to DD. Overall it's definitely a useful script.
Hi blm126?
Do you anticipate updating this script soon for the aforementioned? Just trying to gauge when I should post this script to DD. Overall it's definitely a useful script.
Kind of flickers before the menu appears.
Yes, I will be working on this and try to have a solution soon(at most 3-4 days, depending on how easy it is to fix). I am also going to take a look at the IE bug where dropdown menus appear behind form elements(and activeX, I think).Originally Posted by ddadmin
The best looking solution to that IE bug is the iframe shim. It isn't all that hard. The trickiest part is applying it only when the browser is IE 5.5 through 6. I've done a number of these mods for simpler scripts.Originally Posted by blm126
http://www.dynamicdrive.com/forums/s...ad.php?p=45170
- John________________________
Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate
Finished Updating(beat my guess by days!). The link above has been updated(well actually the page). This version adds the following
- Support for a couple more browsers
- Workaround for the Firefox/textarea bug
- IE iframe shim trick(thanks for the tip,John!)
- Fade effect in IE
- "plus" option
- couple other bugs were fixed
What flickers?Kind of flickers before the menu appears.
Looks much better. There is a bug in Opera where if you have a menu out and you go back over the arrow image on the trigger, the fly out disappears.
- John________________________
Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate
Don't you hate when a fix for one browser bug requires a fix for another browser's bug? Almost makes me want to use browser detection. The link above has once again been updated(if you have viewed it before you may need to clear your cache) to fix the bug John pointed out. Here is the offending piece of code if anyone is interested
Ideally, I would like to useCode:function ancestor(child, parent){ if(child==null)return false;//Saves checking elsewhere //This is a fix for a Firefox bug *gasp* //In firefox if e.relatedTarget(which is passed in as child) is a textarea the browser will error out if you even try to test for propertys. However, you can still compare it to another element //Aparantly causes a bug in Opera! var allc = parent.getElementsByTagName('*'); if(allc.length > 0){ for(var i= 0;i<allc.length;i++){ if(allc[i] == child){ return true; } } } else{ //IE5 does not support the * for a tag name so this is the backup //http://www.dynamicdrive.com/forums/showthread.php?t=12341 Thanks Twey! for(; child.parentNode; child = child.parentNode){ if(child.parentNode === parent) return true; } } if(child.nodeType == 3){ //If child is a text node we need to run for the parent in Opera. return ancestor(child.parentNode,parent); } //If we get here return false return false; }
Code:function ancestor(child, parent){ //http://www.dynamicdrive.com/forums/showthread.php?t=12341 Thanks Twey! for(; child.parentNode; child = child.parentNode){ if(child.parentNode === parent) return true; } return false; }
That's got it in Opera. The only thing that I think I would add is a delay for the disappearance of the flyouts. This would diminish the annoying tendency for them to disappear if you move the mouse outside the lines even just a slight amount while tyring to get it over the flyout.
The way this is normally done is to set a timeout delay for the disappearance of the flyout, and then to cancel it if the mouse gets back over the flyout.
- John________________________
Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate
I was just about to post this suggestion too. I think adding a delay feature would make the menu a lot less "jittery". Anyhow, blm126, please let me know if I should go ahead now to post this script on DD, or if you are still in the process of updating some aspect of it.Originally Posted by jscheuer1
Thanks!
Not yet. I think I'll add a delay feature since you guys seem to think it is a good idea. Also, when I was working on it I noticed that my fix for Opera broke my fix for Firefox. I tried for an half an hour to come up with another solution, but this problem required a browser detect. Running the firefox code won't hurt any browser but Opera so browsers that are pretending should be fine. And if Opera or firefox do try and change the useragent then they will just have to deal with the related browser bugs. I don't see anyway around it. The firefox bug is just to strange.
Bookmarks