How to remove an element slowly with jQuery?

前端 未结 8 1057
失恋的感觉
失恋的感觉 2020-12-12 13:49

$target.remove() can remove the element,but now I want the process to be down with some feel animation,how to do it?

8条回答
  •  旧巷少年郎
    2020-12-12 14:41

    I'm little late to the party, but for anyone like me that came from a Google search and didn't find the right answer. Don't get me wrong there are good answers here, but not exactly what I was looking for, without further ado, here is what I did:

    $(document).ready(function() {
        
        var $deleteButton = $('.deleteItem');
    
        $deleteButton.on('click', function(event) {
          event.preventDefault();
    
          var $button = $(this);
    
          if(confirm('Are you sure about this ?')) {
    
            var $item = $button.closest('tr.item');
    
            $item.addClass('removed-item')
            
                .one('webkitAnimationEnd oanimationend msAnimationEnd animationend', function(e) {
              
                    $(this).remove();
            });
          }
          
        });
        
    });
    /**
     * Credit to Sara Soueidan
     * @link https://github.com/SaraSoueidan/creative-list-effects/blob/master/css/styles-4.css
     */
    
    .removed-item {
        -webkit-animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards;
        -o-animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards;
        animation: removed-item-animation .6s cubic-bezier(.55,-0.04,.91,.94) forwards
    }
    
    @keyframes removed-item-animation {
        from {
            opacity: 1;
            -webkit-transform: scale(1);
            -ms-transform: scale(1);
            -o-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -webkit-transform: scale(0);
            -ms-transform: scale(0);
            -o-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    
    @-webkit-keyframes removed-item-animation {
        from {
            opacity: 1;
            -webkit-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -webkit-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    
    @-o-keyframes removed-item-animation {
        from {
            opacity: 1;
            -o-transform: scale(1);
            transform: scale(1)
        }
    
        to {
            -o-transform: scale(0);
            transform: scale(0);
            opacity: 0
        }
    }
    
    
    
      
      
      JS Bin
      
    
    
      
      
    id firstname lastname @twitter action
    1 Nour-Eddine ECH-CHEBABY @__chebaby
    2 John Doe @johndoe
    3 Jane Doe @janedoe

提交回复
热议问题