jQuery:滑动元素并替换它

时间:2013-07-19 20:17:16

标签: javascript jquery web

我正在尝试使用jQuery来实现它,这样当我点击一个元素时,它会向上滑动,并创建一个新的元素,然后向下滑动到它的位置。

我的代码在这里:http://jsfiddle.net/V4SVt/474/

$('.grab_button').click(function () {
    $(this).slideUp(function () {
        $(this).parent().append($('<span class=" grabbed">grabbed</span>').hide());
        $(this).parent().children('.grabbed').slideDown();
        $(this).remove();
    });
});

当我点击元素时,它会完美地滑出,然后创建新元素,但不会向下滑动。它出现了。如果我然后隐藏元素,然后通过WebKit控制台向下滑动它,它会正确动画。这有什么不对?

1 个答案:

答案 0 :(得分:5)

滑动内联元素存在问题,特别是如果它们是动态插入的,没有位置,大小或其他任何内容。

试试这个:

$('.grab_button').click(function () {
    var assGrab = $('<span />', {'class':'grabbed', text:'grabbed', style:'display:inline-block;'});
    $(this).slideUp(function () {
        $(this).replaceWith(assGrab.hide());
        assGrab.slideDown()
    });
});

FIDDLE