【问题标题】:Slidedown when Slideup is done jquerySlideup完成jquery时向下滑动
【发布时间】:2012-10-29 12:53:28
【问题描述】:

我正在制作一个图像浏览器,您可以在其中通过单击图像本身来编辑图像的名称。然后 tr 会出现在它的底部,并带有一个可以更改图像名称的表单。一切正常,除了幻灯片动画。

首先我检查是否有一个 editRow 已经显示。如果是,它会先上滑,然后从网站上删除。之后,我为单击的图像附加了一个新的 editRow。我必须有幻灯片动画。我怎样才能让它正常工作?现在幻灯片工作正常。它向上滑动并删除 editRow div。之后,什么都没有发生。

而且 div 只会在第一次出现。

$('.imgItem').click(function() {
        imgID = $(this).parent().find('div').attr('id').replace(/image/, '');;
        if($('.editRow').length){
            $('.editRow').slideUp(300, function(){
                $('.editRow').remove();
                $(this).parent().parent().parent().after('<tr class="editRow"><td class="editItem" colspan="4"></td></tr>');
                $('.editRow').hide();
                $('.editItem').load("ajax.editImage.php",{imgID:imgID});
                $('.editRow').slideDown().show();
            });         
        }else{
            $(this).parent().parent().parent().after('<tr class="editRow"><td class="editItem" colspan="4"></td></tr>');
            $('.editRow').hide();
            $('.editItem').load("ajax.editImage.php",{imgID:imgID});
            $('.editRow').slideDown().show();
        }
    });

【问题讨论】:

    标签: jquery slidedown slideup


    【解决方案1】:

    那是因为您要删除所有具有类 editRow 的元素。我想你需要:

    $('.editRow').slideUp(300, function(){
                ...
                $(this).remove();
    

    最后删除它,否则 $(this).parent() 什么都没有,因为 this 已从 DOM 中删除。

    【讨论】:

    • 不幸的是它不起作用。这样 .editRow 总是会在最后被删除。
    • 那有什么问题?只有当前的 editRow 将被删除。新的会留下来。
    • 对不起。我想我在订单中做错了什么。现在可以了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多