我想在.content元素之前添加.item元素,但它只是簡單地將.item從之前的位置移除,並追加到.content之前。如何在jQuery中使用.before動畫元素
我想要的是使用一些動畫,從原始位置緩慢移除.item元素,並在其新位置緩慢出現。我該怎麼做?
$Item = $('.item');
$('.content').before($Item);
問候。
我想在.content元素之前添加.item元素,但它只是簡單地將.item從之前的位置移除,並追加到.content之前。如何在jQuery中使用.before動畫元素
我想要的是使用一些動畫,從原始位置緩慢移除.item元素,並在其新位置緩慢出現。我該怎麼做?
$Item = $('.item');
$('.content').before($Item);
問候。
你的意思是這樣的: jsFiddl Link
你的代碼似乎對我來說很好,因爲它使用了一些動畫..但它沒有使用.before方法..我必須做的才能使它使用.before而不是appendTo –
這就是我想要的。 http://jsfiddle.net/eQEPw/ –
怎麼是這樣的:
$Item = $('.item');
$Item.fadeOut(1000, function() {
$('.content').before($Item);
$Item.fadeIn(1000);
}
的.fadeOut()
method消失在指定的時間因素(以毫秒爲單位),並在完成調用函數然後移動元素並將其淡入。
演示:
試試這個,
$(function() {
$('#btnMove').on('click', function() {
$Item = $('.item').fadeOut('slow', function() {
$('.content').before($Item);
$Item.fadeIn('slow');
})
});
});
你也可以使用jQuery的hide
和show
- 方法來實現滑動效果。我還會將轉換封裝在自己的方法中,以便它可以重用,所以您不必多次編寫相同的代碼。
var smoothLikeSilk = function(mover, before) {
$item = $(mover);
$content = $(before);
$item.hide('slow', function() {
$content.before($item);
$item.show('slow');
});
}
$(function(){
$('#btnMove').on('click',function(){
smoothLikeSilk('.item', '.content');
});
});
爲什麼不去整個豬,寫'smoothLikeSilk()'作爲插件?這將是大約相同數量的代碼... – nnnnnn
@鄰省:將你能夠做出一個的jsfiddle演示鏈接。 – Shakti
http://jsfiddle.net/9gGAT/2/這是我正在嘗試。我想慢慢地從上面的區域隱藏項目,並顯示在緩慢之前。內容 –