After I posted, I realized that first paragraph is a little
outdated... so disregard the stuff that doesn't seem to make sense.

On May 11, 3:05 pm, bhagany <[EMAIL PROTECTED]> wrote:
> Okay, I've been fooling around with this all day, and I think I have
> narrowed down the problem, but I'm not sure what to do about it.  It's
> actually a few problems, and it's mostly in Interface, but just in
> case anybody has the same problems, I'll post my solution here.
>
> I stepped through the script several times with Firebug, and
> eventually found this in the jQuery.fx.slide method in ifxslide.js,
> line 240:
>
> z.el.show();
>
> In this context, z.el is the element you want to slide, wrapped in a
> jQuery object.  I couldn't see any particular logic for having a
> show() here, so I commented it out.  It still works fine as far as I
> can tell, but the flicker persisted.  So, I dug deeper, into the
> jQuery.fx.buildWrapper method (which is called by jQuery.fx.slide),
> and found this on lines 109-112 of ifx.js:
>
> if (restoreStyle) {
>   t.hide();
>   es.visibility = oldVisibility;
>
> }
>
> t is your slide element wrapped in jQuery, and es is the style
> property of the same element.  Turns out the flicker happens when the
> element is set to display:block and visibility:none, restoreStyle is
> true, and oldVisibility is "visible".  In this situation the hide
> method doesn't actually do anything, because the first thing it does
> is a filter(":visible"), which filters out our element because the
> visibility is set to none.  What we actually want in this situation is
> for display to get set to none.  So, I just replaced
>
> t.hide();
>
> with
>
> es.display = "none";
>
> This works like a charm, no more flicker.  However, I'm not sure if
> this breaks things in other situations.  I'll be heading over to the
> Interface site to address this issue, and see if we can get a
> permanent fix into official release.
>
> Brent
>
> On May 11, 10:00 am, Equand <[EMAIL PROTECTED]> wrote:
>
> > the divs, u should look into divs position, position them absolutely,
> > or add another div with a strict size which doesn't slide, because on
> > relative position when it slides - it's height or width changes, so
> > the previous div gets into place...
>
> > On May 11, 4:49 pm, bhagany <[EMAIL PROTECTED]> wrote:
>
> > > I've spent awhile searching for a solution in the archives, but have
> > > been unable to find one, so I finally bit the bullet and joined the
> > > group to ask about it.
>
> > > Here's the situation: I've got two divs, one starts out set to
> > > display:none, the other is display:block.  When a link is clicked, I
> > > want the visible div to slide out, and the previously hidden div to
> > > slide in in the same spot.  This works, except for a flicker that
> > > happens only some of the time.  Usually, the div that should be
> > > sliding in appears for a split second, and then disappears again when
> > > it starts the slide.  You can see the page I'm working on 
> > > athttp://hagany.homeip.net:10480/draft/makeDraft.php.  I've slowed the
> > > slide down to highlight the flicker - remember you may have to click
> > > the link a few times to see the flicker.
>
> > > I am already using 1.1.2.  Also, I found a thread that suggested that
> > > perhaps the problem was with Interface, and not jQuery itself, but the
> > > thread was a few months old, and not very clear.  If I should be
> > > directing this question elsewhere, just let me know.
>
> > > Thanks,
> > > Brent

Reply via email to