请教大家,像小说阅读器之类的翻书页效果布局,它的文本数据是怎么处理的?
原始文本信息,如果不以翻书页效果呈现,假设信息量足够大,那么HTML展示出来必然是带有滚动条的。而采用翻书页效果展现,由于每一屏/页展示的数据有限,最终展现出来的必然是这样的结构: 每一页的文本信息+页码+翻页。
我想请教大家的是:
1 每一页需要展示出来多少行文本或者多少字,这个量是如何计算的。
2 下一页需要从哪个字开始展示,这个是如何计算出来的。
3 因为涉及到页码,必然涉及到总页数,由于原始文本信息固定,这个总页数怎么算出来的---因为页面字体是可以选择的,如果字体变化,每一页的文本信息会变化,会导致页码和总页数变化。
那就一行行地计算吧!
定义页面高度和宽度后,再一段段地读出,计算出有多少行,本段有多高也就出来了。
每段计算出来了。全文也出来了!
接口(例如flash,虽然我极讨厌这个),实际上就是限制了客户端的可视可调,变成按自己预定义格式
小说阅读器都有个加载的过程,就是按照它的字体尺寸设置和屏幕大小来决定每页显示多少字,然后从整个内容里拆分出每页的内容。第一次得出每页的文字量后,以后就可以利用这个数量直接从总量里截取。
至于怎么计算的,总宽/字体宽度(一般都是选用等宽字体)就是行文字量,总高/字体高度就是行数了。其它问题都是这样自己想想就应该很清楚的。