首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用jquery平滑过渡到div排序

使用jquery平滑过渡到div排序
EN

Stack Overflow用户
提问于 2016-11-14 02:46:43
回答 1查看 148关注 0票数 2

我正在尝试为我正在使用jquery排序的div添加一个平滑过渡。

排序可以正常工作,但不会添加平滑的过渡。我使用了定义了速度的animate,但没有区别。

Jquery代码:

代码语言:javascript
运行
复制
$("body").on('click tap', '.sort-arrows .fa-arrow-down', function(e) {
  e.preventDefault();
  var pos = $(this).parent().index();
  var elem = $(this).closest("div").parent();
  elem.next().after(elem).animate(1000);
});
$("body").on('click tap', '.sort-arrows .fa-arrow-up', function(e) {
  e.preventDefault();
  var pos = $(this).parent().index();
  var elem = $(this).closest("div").parent();
  elem.prev().before(elem).animate(1000);
});

演示-- https://jsfiddle.net/gvyoj63a/4/

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

发布于 2016-11-14 03:28:24

通过这篇文章得到了一个解决方案-- Re-ordering div positions with jQuery?

我的代码--

代码语言:javascript
运行
复制
$("body").on('click tap', '.sort-arrows .fa-arrow-down', function(e) {
  e.preventDefault();
  var pos = $(this).parent().index();
  var elem = $(this).closest("div").parent();
  alert(elem.index());
if (elem.index() <= (elem.siblings('div').length - 1)){
    elem.fadeOut('slow', function() {
      //elem.next().after(elem).fadeIn('slow');
      elem.insertAfter(elem.next('div')).fadeIn('slow');
    });
 }

});
$("body").on('click tap', '.sort-arrows .fa-arrow-up', function(e) {
  e.preventDefault();
  var pos = $(this).parent().index();
  var elem = $(this).closest("div").parent();
  alert(elem.index());
   if (elem.index() > 0) {
    elem.fadeOut('slow', function() {
      // elem.prev().before(elem).animate(1000);
      elem.insertBefore(elem.prev('div')).fadeIn('slow');
    });
  }
});

我的演示是-- https://jsfiddle.net/gvyoj63a/5/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40577485

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档