Re-ordering div positions with jQuery?

前端 未结 2 428
野的像风
野的像风 2020-12-17 07:27

I\'m trying to mimic the vote-up vote-down system that is on this website. Is there an easy way to move the position of a div in jquery (with animations)?

Say I have

相关标签:
2条回答
  • 2020-12-17 07:36

    Something like this perhaps:

    $('.move-up').click(function(e){
        var $div = $(this).closest('div');
    
        // Does the element have anywhere to move?
        if ($div.index() > 0){
            $div.fadeOut('slow',function(){
                $div.insertBefore($div.prev('div')).fadeIn('slow');
            });
        }
    });
    
    $('.move-down').click(function(e){
        var $div = $(this).closest('div');
    
        // Does the element have anywhere to move?
        if ($div.index() <= ($div.siblings('div').length - 1)){
            $div.fadeOut('slow',function(){
                $div.insertAfter($div.next('div')).fadeIn('slow');
            });
        }
    });
    

    Demo

    Basically:

    1. Grab the element you want to move ($div)
    2. Fade it out (give a nice UI effect with fadeOut())
    3. Move it either before or after the previous/next item (with insertBefore() or insertAfter())
    4. re-fade it back in (another UI effect with fadeIn())
    0 讨论(0)
  • 2020-12-17 07:48

    Yes there is by changing its css styles. Modify its position http://api.jquery.com/position/ also you can try this How to position one element relative to another with jQuery?

    0 讨论(0)
提交回复
热议问题