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