我制作了一个简单的脚本,允许用户使用向上和向下按钮对div进行排序。
jsFiddle:http://jsfiddle.net/dZ6rC/5/
不幸的是,我尝试在鼠标单击时动画移动不会导致标记被移动。
这是我的代码:
$('.up').click(function(){
var previous = $(this).parent().parent().prev('.item');
$(this).parent().parent().insertBefore(previous).slideUp();
});
$('.down').click(function(){
var next = $(this).parent().parent().next('.item');
$(this).parent().parent().insertAfter(next).slideDown();
});
有人可以找出标签不移动的原因吗?
答案 0 :(得分:5)
在向下滑动元素之前,你没有隐藏元素,因此看不到效果:
您可以在.hide
之前添加.slideDown
。我想你可能想从那里稍微改进动画,但请记住这一点。
答案 1 :(得分:1)
我不完全确定你要完成什么,但链接3 parent()
个电话可能不是最佳方式。
我猜这解决了你的问题:
$('.up').click(function(){
$(this).parents('.item').slideUp();
});
$('.down').click(function(){
$(this).parents('.item').slideDown();
});
如果我错过了要求,请更新您的问题。
答案 2 :(得分:0)
只需添加一系列隐藏和显示:
jQuery(html_usr).insertBefore( "#log_row" ).hide().show('blind');