Page 2 of 6 FirstFirst 1234 ... LastLast
Results 11 to 20 of 56

Thread: [DHTML] Multi-level Effect Menu

  1. #11
    Join Date
    Aug 2004
    Posts
    9,878
    Thanks
    3
    Thanked 962 Times in 951 Posts
    Blog Entries
    15

    Default

    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.

  2. #12
    Join Date
    Aug 2005
    Posts
    971
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    Kind of flickers before the menu appears.

  3. #13
    Join Date
    Sep 2005
    Posts
    882
    Thanks
    0
    Thanked 3 Times in 3 Posts

    Default

    Quote Originally Posted by ddadmin
    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.
    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).

  4. #14
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,924
    Thanks
    43
    Thanked 3,187 Times in 3,151 Posts
    Blog Entries
    12

    Default

    Quote Originally Posted by blm126
    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).
    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.

    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

  5. #15
    Join Date
    Sep 2005
    Posts
    882
    Thanks
    0
    Thanked 3 Times in 3 Posts

    Default

    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


    Kind of flickers before the menu appears.
    What flickers?

  6. #16
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,924
    Thanks
    43
    Thanked 3,187 Times in 3,151 Posts
    Blog Entries
    12

    Default

    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

  7. #17
    Join Date
    Sep 2005
    Posts
    882
    Thanks
    0
    Thanked 3 Times in 3 Posts

    Default

    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
    Code:
    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;
    }
    Ideally, I would like to use
    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;
    }

  8. #18
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    28,924
    Thanks
    43
    Thanked 3,187 Times in 3,151 Posts
    Blog Entries
    12

    Default

    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

  9. #19
    Join Date
    Aug 2004
    Posts
    9,878
    Thanks
    3
    Thanked 962 Times in 951 Posts
    Blog Entries
    15

    Default

    Quote Originally Posted by jscheuer1
    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.
    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.

    Thanks!

  10. #20
    Join Date
    Sep 2005
    Posts
    882
    Thanks
    0
    Thanked 3 Times in 3 Posts

    Default

    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

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •