一次在DOM中维护5个部分
Maintain five section in DOM at a time
我正在创建电子书阅读器,现在我想从链接中获取电子书的部分:
http://tmaserv.scem.uws.edu.au/chapters/?n=0 It will fetch Section number 0
http://tmaserv.scem.uws.edu.au/chapters/?n=1 It will fetch Section number 1
..
so on
章节数可从url http://tmaserv.scem.uws.edu.au/chapters获取
现在,我能够获取一个部分,但我想要的是阅读器应该在DOM中随时维护文档的5个部分。而且我们一次只能取一个section。文档加载时会先获取5个部分,然后在请求时获取其他部分。
代码:<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EBook</title>
<script>
var requestNum = 0;
// assume I had fetched the number of sections in varibale say sectionCount
function do_exercise () {
var x = new XMLHttpRequest();
// adjust the GET URL to reflect the new n value and request as before
x.open('GET', 'http://tmaserv.scem.uws.edu.au/chapters/?n=' + requestNum, true);
x.onreadystatechange = function() {
if (x.readyState == 4 && x.status ==200) {
obj = (x.responseText);
JSON.parse(x.responseText);
obj = JSON.parse(obj);
document.getElementById("section1").innerHTML = obj.data;
requestNum++;
}
}
x.send(null);
}
</script>
<body>
<nav>
<button onclick="do_exercise();">Next section</button>
</nav>
<section id = "section1">
</section>
</body>
</html>
我应该使用一些数组来获得5节并维护它们吗?
你想做这样的事情吗?
http://jsfiddle.net/28gtdyot/var cacheSize = 5;
var chapters = [];
var requestNum = 0;
function fetchChapter() {
var x = new XMLHttpRequest();
// adjust the GET URL to reflect the new n value and request as before
x.open('GET', 'http://tmaserv.scem.uws.edu.au/chapters/?n=' + requestNum++, true);
x.onreadystatechange = function() {
if (x.readyState == 4 && x.status == 200) {
obj = (x.responseText);
JSON.parse(x.responseText);
obj = JSON.parse(obj);
chapters.push(obj.data);
if (chapters.length > cacheSize) {
chapters.shift();
}
for (var i = 0; i < chapters.length; ++i) {
document.getElementById("section" + i).innerHTML = chapters[i];
}
}
}
x.send(null);
}
相关文章:
- 如何使用url加载程序在webpack中导入多个图像
- 多个单选按钮组相互干扰
- 下拉选择可自动更改第二个下拉选择
- onkeyup无法动态创建多个文本区域
- JQuery合并了keyup和focusout两个函数
- 正在验证8个真/假复选框或复选框中的2个
- 借助asp.net验证或java脚本对多个文本进行验证
- 如何在不必维护每个文件的两个版本的情况下,将通用JavaScript和映像部署到两个不同的EAR
- 跨节点服务器上的多个 API 请求维护数据
- 如何在应用程序的多个组件中维护一个 js 文件而不会出现任何错误
- 如何在运行时使用css更改和维护多个颜色主题
- 如何在sails.js中维护多个API版本
- 如何维护noConflict并在Bootstrap 3.2中包含2个版本的jQuery
- 跨两个jsp页面维护该值
- 如何在html中维护单个字段的两个值
- Knockout JS模式用于同一页面中的多个视图模型,维护DOM结构
- Colorbox -不能在没有错误的情况下维护多个组
- 维护多个版本的 API Rest
- 如何在主干中维护多个集合和视图实例
- 一次在DOM中维护5个部分