JQuery Columnizerプラグイン(http://welcome.totheinter.net/columnizer-jquery-plugin/)を使用してブログの記事ビューを作成し、コンテンツの列化とページ付けを自動化しようとしています。これが私のこれまでの仕事のJSFiddleです:http://jsfiddle.net/opanitch/YY9x3/1/
基本的なHTMLは次のようになります。
<div id="wrapper">
<div class="page_template"><!-- Begin Paginate Template -->
<div class='content'></div>
</div><!-- End Paginate Template -->
<div class="page">
<div id="articleHeading">
<p class="articleReturn"><a href="#">« Back to Newsroom</a></p>
<h2 class="articleTitle">Article Title</h2>
<p class="articleSubTitle">Subtitle</p>
<div class="newsHR"></div>
<div class="articlePic"></div>
</div>
<div id="articleContainer">
<div id="articleBody">
<p class="articleCopy">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus luctus dictum felis id ultrices. Etiam nisi augue, porttitor ac rhoncus non, vulputate eget elit. Donec mollis justo in mauris lobortis semper. Fusce eleifend cursus tincidunt. Vivamus vitae nibh ante, a vestibulum elit. Pellentesque id varius mi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean lacus lectus, porttitor eget eleifend at, eleifend eget urna. Maecenas in urna lobortis nisl facilisis tempus sed non ante. Sed in eros egestas magna posuere auctor eu ac nisl.
</p>
</div>
</div>
<div class="clear"></div>
<div class="articleNav">
<p id="prevArticle" class="articlePagination"><a href="#">« Previous page</a></p>
<p id="nextArticle" class="articlePagination"><a href="#">Next page »</a></p>
</div>
</div>
</div>
プラグインのページ付けの例を使用して、このJQuery呼び出しを介して流動的な列/ページを実現しています。
function buildNewsletter() {
if($('#articleBody').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:first").clone().addClass("newsPost").css("display", "block");
// fun stuff, like adding page numbers to the footer
$("#articleContainer").append($page);
// here is the columnizer magic
$('#articleBody').columnize({
columns: 2,
target: ".newsPost:last .content",
overflow: {
height: pageHeight,
id: "#articleBody",
doneFunc: function(){
console.log("done with page");
buildNewsletter();
}
}
});
}
}
初期化では正常に実行されますが、ウィンドウのサイズが変更されるとすぐに、columnizerはより多くの「ページ」を作成し、ランダムに冗長なコンテンツでそれらを埋めます。誰かがこれが起こっている理由を理解するのを助けることができますか?まだ明らかでない場合、私の望ましい結果は、コンテンツの複製の問題がなく、流動的な列を持つページ(つまり、サイズ変更時にコンテンツが再配布されることを意味します)です。流動的な部分を落としたようですが、余分なコンテンツが問題になっています。ありがとう!