我正在使用 jQuery columnizer 的时事通讯示例 10 http://welcome.totheinter.net/columnizer-jquery-plugin/
这可以很好地创建一个时事通讯样式的 HTML 页面,其中包含来自内容的 2 列段落#newsletterContent
我现在需要将另一个带有 id bios 的 div 的内容添加到内容结束的最后一页的列末尾,但仅跨越一列而不被拆分。
我尝试添加jQuery('#bios').columnize({columns:1,target: ".page:last .content"});
到我的 javascript 的末尾,但因为 bios div 标签在#newsletterContent 中,它作为一列继续,但在#newsletterContent 的右侧列中。所以它基本上被放置在内容末尾的最后一页的最后一列中。
使用 jQuery appendTo 是我想到的,并将 bios div 标签放在 newsletterContent div 标签之外,但是我不知道如何在时事通讯内容结束时让它的内容继续,并且如果 bio 的字段在上面运行,也可以创建页面到两页。
HTML
jQuery jQuery(document).ready(function ($) { //var firstpage = $("div.first_page").html(); //alert(firstpage);
var content_height = 800; // the height of the content, discluding the header/footer
var page = 1; // the beginning page number to show in the footer
function buildNewsletter(){
if($('#newsletterContent').contents().length > 0){
// when we need to add a new page, use a jq object for a template
// or use a long HTML string, whatever your preference
$page = $("#page_template").clone().addClass("page").css("display", "block");
// fun stuff, like adding page numbers to the footer
$page.find(".footer span").append(page);
$("body").append($page);
page++;
// here is the columnizer magic
$('#newsletterContent').columnize({
columns: 2,
target: ".page:last .content",
overflow: {
height: content_height,
id: "#newsletterContent",
doneFunc: function(){
console.log("done with page");
buildNewsletter();
}
}
});
}
}
setTimeout(buildNewsletter, 0);
});
** 编辑 ** 我尝试使用它来将 bios 溢出附加到最后一页的页脚并且不会生成新页面。我注释掉的 css 更改在一列中创建了 bio,但是当它溢出时生成了同样的问题而不是额外的页面。我可以更改什么以使其创建页面?
else {
$(".page:last .last.column").append($("#bios"));
//$('#bios').columnize({columns:1});
//$("#bios").parents(".last.column").css( "width", "100%" );
if ($(".page:last .last.column").height() > 800) {
buildNewsletter();
}
}