0

我正在为我的项目使用 wookmark 插件,当 V 滚动到达底部时,我需要加载更多项目。插件网址:http : //www.wookmark.com/jquery-plugin 我使用的滚动功能:

function _scroll() {
    var v = false;
    $(document).scroll(function(e) {
        var t = document.height - (window.pageYOffset + window.innerHeight);
        if ((t <= 20) && ( !v)) {
            v = true;
            $.ajax({ type:"POST",
            data: {type:$("#type").val(),id:$("#pid").val(),lid:$("#lid").val()},
            async:true,
            cache:false,
            url:"fetchMore.php?v=18",
            success: function(d) {
                var t = d.split('{@}');
                if (parseInt($("#lid").val()) != t[1]) { 
                    $("#tiles").append(t[0]);
                    $("#lid").val(t[1]);
                    applyLayout();
                }
                v = false;
            } });
        }
    });
}

和 applylayout 函数:

function applyLayout() {
          $('#tiles').imagesLoaded(function() {
            // Destroy the old handler
            if ($handler.wookmarkInstance) {
              $handler.wookmarkInstance.clear();
            }
            $handler = $('#tiles li');
            $handler.wookmark(options);
          });
}

最后我的选项和排序功能:

function comparatorId(a, b) {
          return $(a).attr("id") > $(b).attr("id") ? -1 : 1;
        }
function _Animate() {
     $('#tiles').imagesLoaded(function() {
          options = {
          autoResize: true,
          container: $('#main'),
          offset: 2,
          itemWidth: 210,
          comparator: comparatorId,
          direction: 'right',
          fillEmptySpace: false
        };
        $handler = $('#tiles li');
        $handler.wookmark(options);
      });
}

问题是:当我要加载更多项目时,这些项目会随机重新排序,就像没有 compareId 函数一样。有什么解决方案吗?如果没有解决方案.. 我怎样才能做一个这样的布局 ul li 标签?我可以将它们并排放置,但我希望它们并排+彼此下方

4

1 回答 1

0

我已经解决了这个问题..它只是通过为 li 放置 data-id="{ID}" 标记并删除所有类

于 2013-10-05T09:18:19.250 回答