我的文字非常长,我希望将其显示为网页中的图书。用户将使用箭头键以相同的方式向前和向后移动,就像翻动书页一样。
将页面转换分开,如何使用jQuery实现?
我的想法是计算在一个页面上占据空间然后将整个文本分成这些页面然后显示它们的文本量。但是,即使我们修复字体,占用的空间也将是平台依赖的,这似乎是一个坏主意。
使用空间计算方法时我遇到的另一个问题是由于css合理显示文本。
有没有人在网页上做过这样的事情?
答案 0 :(得分:1)
以漂亮的书页格式布置长字符串。你需要得到确切的字符串部分。您可以使用此功能。
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);
请参阅Demonstration。
<强> 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
});