Opened 8 years ago

Closed 8 years ago

Last modified 8 years ago

#6245 closed bug (fixed)

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

Reported by: cosmicnet 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 8 years ago by Corey Frang

Status: newopen

comment:2 Changed 8 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 8 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 8 years ago by Scott González

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