Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#6245 closed bug (fixed)

position: absolute is lost when .stop() is used with .show('blind')

Reported by: Lyle Hopkins Owned by:
Priority: minor Milestone: 1.9.0
Component: ui.effects.core Version: 1.8.5
Keywords: Cc:
Blocked by: Blocking:

Description

Hello,

$('#hoverme-stop').hover(function() {

$(this).find('.help').stop(true, true).show('blind');

}, function() {

$(this).find('.help').stop(true, true).hide('blind');

});

Which works great unless your element is position: absolute. In which case it switches it to position: relative which starts pushing around any succeeding elements. Only happens when stop has an actual animation to stop. If you mouse in an out slowly it works fine. I tried re-adding the position: absolute with the hack:- $(this).stop(true, true).css({position: absolute}).fadeIn(); But this loses the position within the document flow, making it appear at the top of the page. Tested with normal .show() and .fadeIn() and could not replicate, so appears to be specific to using .stop with .show('blind') and .hide('blind').

Lyle

P.S. I already submitted this bug to JQuery, they said it's for you guys instead:- http://bugs.jquery.com/ticket/7362

Change History (4)

comment:1 Changed 12 years ago by Corey Frang

Status: newopen

comment:2 Changed 12 years ago by tomykaira

https://github.com/jquery/jquery-ui/pull/320

Here is a patch. Maybe this occurs only with "blind".

comment:3 Changed 12 years ago by tomykaira

Resolution: fixed
Status: openclosed

effects.blind: Save the wrapper status if already wrapped. Fixes #6245 - position: absolute is lost when .stop() is used with .show('blind').

Changeset: 129d5c75aca94ae636ba6396124c4938e43a50f3

comment:4 Changed 12 years ago by Scott González

Milestone: TBD1.9
Note: See TracTickets for help on using tickets.