Wierd zindex behavior

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Razzbar

    Wierd zindex behavior

    I'm using a div as a floating dialog box. I'd rather use a popup
    window, but due to all the popup blockers in use, I have to use
    another method, a div that has absolute positioning.

    The damn thing won't get in front of dropdown listboxes! I
    check the currentstyle.zi ndex of the listoxes, and they're
    set at 0. I set the div.style.zinde x to some higher number,
    and it doesn't help. I minimize and restore the window,
    hoping it will redraw correctly, but no luck.

    IE 6. Bug. BAH!

    Any suggestions?

    TIA,
  • Michael Winter

    #2
    Re: Wierd zindex behavior

    On 1 May 2004 14:39:12 -0700, Razzbar <glakk@potatora dio.f2s.com> wrote:
    [color=blue]
    > I'm using a div as a floating dialog box. I'd rather use a popup
    > window, but due to all the popup blockers in use, I have to use
    > another method, a div that has absolute positioning.
    >
    > The damn thing won't get in front of dropdown listboxes! I
    > check the currentstyle.zi ndex of the listoxes, and they're
    > set at 0. I set the div.style.zinde x to some higher number,
    > and it doesn't help. I minimize and restore the window,
    > hoping it will redraw correctly, but no luck.
    >
    > IE 6. Bug. BAH![/color]

    It's not restricted to IE, and there's nothing you can do about it. It's
    simply how the browser (or OS, depending) renders the control.

    Mike

    --
    Michael Winter
    M.Winter@blueyo nder.co.invalid (replace ".invalid" with ".uk" to reply)

    Comment

    • Richard Cornford

      #3
      Re: Wierd zindex behavior

      Michael Winter wrote:[color=blue]
      > Razzbar wrote:[/color]
      <snip>[color=blue][color=green]
      >> set at 0. ...
      >> and it doesn't help. I minimize and restore the window,
      >> hoping it will redraw correctly, but no luck.[/color][/color]
      <snip>[color=blue]
      > It's not restricted to IE, and there's nothing you can do about it.
      > It's simply how the browser (or OS, depending) renders the control.[/color]

      One proposed strategy for dealing with the way form controls show
      through positioned DIVs is to set their visibility style property to
      "hidden" on the controls. Either hiding all of the controls on a page
      whenever the DIV is visible (which shouldn't be a problem if the DIV is
      acting as a modal dialog), or comparing the control positions with the
      offsets box of the DIV and hiding any controls that are overlapped by
      the DIV (quite a lot of work to implement cross-browser), and
      re-revealing them when uncovered.

      Netscape 4 rather ruins that plan as it is not possible to individually
      hide form controls and putting them in a positioned DIV/Layer and hiding
      that influences how they are interpreted as part of any containing form.

      Richard.


      Comment

      • Jim Ley

        #4
        Re: Wierd zindex behavior

        On Mon, 3 May 2004 15:43:28 +0100, "Richard Cornford"
        <Richard@litote s.demon.co.uk> wrote:
        [color=blue]
        >One proposed strategy for dealing with the way form controls show
        >through positioned DIVs is to set their visibility style property to
        >"hidden" on the controls. Either hiding all of the controls on a page
        >whenever the DIV is visible (which shouldn't be a problem if the DIV is
        >acting as a modal dialog), or comparing the control positions with the
        >offsets box of the DIV and hiding any controls that are overlapped by
        >the DIV (quite a lot of work to implement cross-browser), and
        >re-revealing them when uncovered.[/color]

        I tend to use IFRAME's as dividers, add to the DIV a firstChild which
        is an empty iframe sized to the same size as the DIV.

        Jim.
        --
        comp.lang.javas cript FAQ - http://jibbering.com/faq/

        Comment

        • Matt Kruse

          #5
          Re: Wierd zindex behavior

          Jim Ley wrote:[color=blue]
          > I tend to use IFRAME's as dividers, add to the DIV a firstChild which
          > is an empty iframe sized to the same size as the DIV.[/color]

          This is indeed the best solution I've found. Iframes will always show over
          select objects and other windows controls, so using them as "popups" seems
          to be the best solution all-around (for browsers which support them).
          I use this approach in a new version of a popup window library which I'm
          testing and refining:


          This solution tries to use the "best available" popup method if the user
          doesn't specify one. If the browser is able to create new objects, then it
          tries to create a DIV and populate it. Unless the page has select elements,
          in which cases it tries to create an IFRAME and use it. It's not perfect,
          and I haven't done full cross-browser testing, but I think in theory it will
          work well, and hide all the implementation mess from a user who simply wants
          a popup that behaves as expected.

          --
          Matt Kruse
          Javascript Toolbox: http://www.mattkruse.com/javascript/


          Comment

          • Jim Ley

            #6
            Re: Wierd zindex behavior

            On Mon, 3 May 2004 10:34:43 -0500, "Matt Kruse"
            <newsgroups@mat tkruse.com> wrote:
            [color=blue]
            >This solution tries to use the "best available" popup method if the user
            >doesn't specify one. If the browser is able to create new objects, then it
            >tries to create a DIV and populate it. Unless the page has select elements,
            >in which cases it tries to create an IFRAME and use it. It's not perfect,
            >and I haven't done full cross-browser testing, but I think in theory it will
            >work well, and hide all the implementation mess from a user who simply wants
            >a popup that behaves as expected.[/color]

            Ah, I don't use IFRAMES to actually hold the content, that makes
            adding script to them difficult and means you have to load stylesheets
            etc. into the IFRAME. I just use it as a divider:

            so you get something like this:

            <div>
            <iframe src="javascript :'<html></body></html>"
            style="position :absolute;z-index:-1;top:-1;left:-1;height:100px; width:100px;ove rflow:hidden;"> </iframe>
            Your popup content
            </div>

            Jim.
            --
            comp.lang.javas cript FAQ - http://jibbering.com/faq/

            Comment

            Working...