对浮动元素怎么才可以使用sortable?

yinz_SE jQuery UI Widge... 最后由 极客学院_ASMITA 于2015年05月25日回复

  • 1 回答
  • 2.4k 浏览

比如我对一个瀑布流的效果想实现sortable

需要如何操作?

主要能否提供一些思路,另外sortable的原理其实不太懂,

所以自己完全没有思路

  • 极客学院_ASMITA 2015年05月25日 回答 #1楼
  • 最简单的示例

    如果你要在瀑布流中做sortable,接受完毕后需要在调用一次瀑布流的function,你可以参考bootstrap,里面默认就允许这样操作。

    其次如果需要把拖动排序的结果保存起来,还是比较麻烦的,

    需要遍历所有元素,并且存储元素的位置,以便下次调用

    结合上面例子,我给你一个遍历的示例代码

    .each($(".column"), function(m) {} 
    
    再找每个column下的portlet; 
    
    $.each($(".column"), function(m) { 
    $.each($(this).children(".portlet"), function(d) { 
    } 
    
    function saveLayout(){ 
    var list = ""; 
    $.each($(".column"), function(m) { 
    list  = $(this).attr('id')   ":"; 
    $.each($(this).children(".portlet"), function(d) { 
    list  = $(this).attr('id')   "@"; 
    }) 
    list  = "|"; 
    }) 
    $.cookie("list", list)} 
    

    这样就把list存到cookie里面了

    然后再修改开始的监听事件

    $(".column").sortable({ 
    connectWith: '.column', 
    stop: saveLayout 
    }); 
    

    stop就是说排序结束后调用保存事件,你应当在保存事件中执行瀑布流样式格式化,然后再记录

  • 0 评论