问题描述:
在打开页面的时候因为,同时要做两件事:从服务器端加载内容,并且对所加载内容进行修改。
出现的问题就是压根不执行替换的行为.......
原因:
其实原因很简单,就是js在执行的时候,内容尚未完全加载成功,所以无法完成。
失败的方法:
从服务器提取内容采用ready函数;加载js用load函数——失败,明显二者时间差没那么长。
正确方法:
加延迟。在执行js时判断内容是否已经加载,如果没有就延迟执行——OK!
上代码(只有js部分):
function hxx() {
var xingxing=document.getElementsByName("xingji");
//由于书籍的内容加载耗时,常常没有加载完成就会到这一步,于是没办法执行该function
if (xingxing.length==0){
setTimeout('hxx()',500);
}
//不用for是因为每次第一个都会被替换,总数和次序都会变化;取到的次序总是错的
while(xingxing.length!=0){
var j=parseInt(xingxing[0].value);
var xx='';
for (var k=0;k<j;k++){
xx=xx+'<img src="./images/st