簡體   English   中英

分頁:如何將長文本顯示為書頁?

[英]Pagination: How to display a long text as book pages?

我的文字很長,我想將其顯示為網頁上的書。 用戶將使用箭頭鍵以與翻動書頁相同的方式來回移動。

撇開頁面的過渡,如何使用jQuery來實現呢?

我以為是要計算將占據一頁空間的文本量,然后將整個文本分成這些頁面然后顯示它們。 但這似乎是一個壞主意,因為即使我們修復字體,占用的空間也將取決於平台。

我在使用空間計算方法時遇到的另一個問題是由於CSS合理地顯示了文本。

有人在網頁上做過這樣的事嗎?

以漂亮的書頁格式布置長字符串。 您需要獲取確切的字符串部分。 您可以使用此功能。

function get_page($text, $page_index, $line_length=76, $page_length=40){
    $lines = explode("\n", wordwrap($texxt, $line_length, "\n"));
    $page_lines = array_slice($lines, $page_index*$page_length, $page_length);
    return implode("\n", $page_lines);
}

$line_length = 70;
$lines_per_page=50;
$page = 3;
$longtext= "...";

$page_text = get_page($longtext, $page-1, $line_length, $page_length);

請參閱演示

PHP

$longtext = "..."; // it can be retrieved from sql as well.
$index=is_int($_GET['page'])? intval($_GET['page']): 1;
$line_length = 70;
$lines_per_page=50;
$longtext= "...";

$page_text = get_page($longtext, $index-1, $line_length, $page_length);
echo json_encode(array('text'=>$page_text));

JQuery的

var nextPage=2;
$.get("getpage.php", { page: nextPage }, function(data){
   alert("text is "+data.text;
   // show the text data.text
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM