具有静态高度和动态内容的jQuery寻呼机

时间:2011-03-31 18:36:13

标签: jquery dynamic pager

我的页面需要从CMS获取用户内容,并显示在具有静态高度的页面上,溢出分为前端页面。

我查看了各种jQuery寻呼机插件,它们都需要一个特定的标记来定位(p,div,li),在我的情况下,我不知道用户输入CMS的标签。

var content = $("#weekly-features").children();
var pageHeight = 0;
var nextHeight = 0;
var pageCount = 0;
var start = 0;

    // loop through and wrap p's with page divs
for (var i = 0; i < content.length; i++) {

        pageHeight += $(content[i]).outerHeight();

        if ((i + 1) < content.length) {
nextHeight = $(content[i + 1]).outerHeight();
}

        if ((pageHeight + nextHeight) >= 400) {
pageCount++;
$(content.slice(start, i)).wrapAll('<div class="page' + pageCount + '" />');
pageHeight = 0;
start = i;
}
}

    // wrap remaining page
if (start < content.length) {
pageCount++;
$(content.slice(start)).wrapAll('<div class="page' + pageCount + '" />');
}

    // show first page
$("#weekly-features div").each(function() {
if ($(this).attr('class') == "page1") { return; }
else { $(this).hide(); }
});

    buildPagerNav(pageCount);
}

有什么想法吗?

  • 编辑更具体 - 问题在于静态高度要求:我的html看起来像这样:

第1段(简称)

第2段(简称)

第3段(长)

      
  • list 1
  •   
  • list 2
  •   
  • list 3
  •   
  • list 4
  •   
  • list 5

第4段(简称)

      
  • list 1
  •   
  • list 2
  •   
  • list 3
  •   
  • list 4
  •   
  • list 5

短段落将在同一页面上,长列表需要分成单独的页面...有点像在Word中插入动态分页符我猜...

1 个答案:

答案 0 :(得分:1)

您是否考虑使用$(“*”)选择器?这将选择任何可用的标签

确切地说,你可以做这样的事情

$(“#contentCMS *”)。pager();

OR

$( “#contentCMS”)找到(*)寻呼机();