2010-06-19 2 views
0

в jQuery, будет ли следующее не так гладко?В jQuery есть preend(). Hide(). FadeIn() не так гладко?

$('<a href= ... ><img src= ... /></a>').prependTo($('#someDiv')).hide().fadeIn() 

Будет ли он на самом деле показывать добавленный элемент на долю секунды, а затем скрыть его, а затем fadeIn?

Будет ли анимация не такой гладкой?

Есть ли лучший способ?

Или следующее?

$('<a style="display:none" href= ... ><img src= ... /></a>').prependTo($('#someDiv')).fadeIn() 

или

$('<a href= ... ><img src= ... /></a>').hide().prependTo($('#someDiv')).fadeIn() 

Update: оригинал был

$('#someDiv').prepend('<a href= ><img src /></a>').hide().fadeIn() 

, который на самом деле может скрываться за #someDiv, а затем угасание его?

ответ

5

вы можете изменить его немного, используя .prependTo(), как это:

$('<a href= ... ><img src= ... /></a>').hide().prependTo('#someDiv').fadeIn(); 

Это позволяет вызывать .hide(), прежде чем добавить, так что нет визуального Арти факты.

+0

ах, поэтому preendTo ("# someDiv") совпадает с prependTo ($ ('# someDiv')) ?? –

+1

@Jian - Да, он может взять селектор напрямую :) –

+0

это очень круто ... –

0

Скрытие и выцветания его, как бегая вокруг стола :) Используйте второй метод и установить FadeIn с параметром «медленный», например, так:

$('#someDiv').prepend('<a style="display:none" href= ><img src /></a>').fadeIn("slow"); 

И должно быть очень гладко :)

0

Как насчет того, чтобы сначала выцветать, а затем добавить его и показывать только тогда, совершенно гладко?

$('#someDiv').fadeOut("fast").prepend('<a style="display:none" href= ><img src /></a>').fadeIn("slow");