我正试图模仿本网站上的投票结果投票系统。是否有一种简单的方法可以在jquery中移动div的位置(带动画)?
说我有以下项目:
<div id="items">
<div id="item1">item 1</div>
<div id="item2">item 2</div>
<div id="item3">item 3</div>
</div>
我希望能够调用一个能够将项目3平稳地移动到一个位置的功能:
<div id="items">
<div id="item1">item 1</div>
<div id="item3">item 3</div>
<div id="item2">item 2</div>
</div>
有没有简单的方法在jQuery中执行此操作?
答案 0 :(得分:6)
或许这样的事情:
$('.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');
});
}
});
基本上:
$div
)fadeOut()
提供良好的用户界面效果)insertBefore()
或insertAfter()
)fadeIn()
的另一个UI效果)答案 1 :(得分:0)
是的,通过更改其CSS样式。修改其位置http://api.jquery.com/position/,您也可以尝试此How to position one element relative to another with jQuery?