For information, the reason that works is that setting {visibility:hidden}
hides the element but the element's box still affects layout.
Setting {display:none} suppresses box generation altogether.
(From http://www.w3.org/TR/REC-CSS2/visufx.html#visibility)

--rob


On 7/24/07, Aaron Heimlich <[EMAIL PROTECTED]> wrote:

jQuery.fn.toggleVis = function() {
    // Here, "this" is the jQuery object
    // This return statement is used for two reasons
    //   1. To make sure we hit every HTML element in the jQuery object
    //   2. To make sure that this method doesn't "break the chain"
    return this.each(function() {
        // Iterate over all selected HTML elements and toggle their
"visibility" CSS property
        // Here, "this" a HTML element
        if(this.style.visibility == 'hidden') {
            this.style.visibility = 'visible';
        } else {
            this.style.visibility = 'hidden';
        }
    });
};

Usage: $('mySelector').toggleVis();

On 7/23/07, Mitchell Waite < [EMAIL PROTECTED]> wrote:
>
>
> I like jQuery effects show and hide but they actually remove the object
> from the screen. So an <H1> under an image will move up.
>
> Can someone show me the best way to change (toggle) an objects
> "visibility" property between "hidden" and "visible" so any HTML under it
> will not move.
>
> Mitch
>
>
>


--
Aaron Heimlich
Web Developer
[EMAIL PROTECTED]
http://aheimlich.freepgs.com




--
Rob Desbois
Eml: [EMAIL PROTECTED]
Tel: 01452 760631
Mob: 07946 705987
"There's a whale there's a whale there's a whale fish" he cried, and the
whale was in full view.
...Then ooh welcome. Ahhh. Ooh mug welcome.

Reply via email to