有一个带有无限滚动画廊的页面,它工作正常,但在脚本末尾它附加了 1 个空白图像,使 1 个图像再次损坏。无法理解问题出在哪里:(是否有任何解决方案如何使用 JS 将其从 feed 中删除,或者使用 php 解析器存在 mystake ?JS代码 var contentHeight = 800; var pageHeight = document.documentElement.clientHeight; var scrollPosition; var n = 9; var xmlhttp; function putImages(){ if (xmlhttp.readyState==4) { if(xmlhttp.responseText){ var resp = xmlhttp.responseText.replace("\r\n", ""); resp=resp.replace("\r", ""); resp=resp.replace("\n", ""); var files = resp.split(";"); var j = 0; for(i=0; i<=files.length; i++){ if(files[i] != ""){ document.getElementById("container").innerHTML += ' <div class="masonry-brick" ><div class="item masonry-item"><img src="https://site.eu/img/'+files[i]+'" alt="Masonry Brick" class="masonry-content"/></div></div>'; j++; if(j == 3 || j == 6) document.getElementById("container").innerHTML += ''; else if(j == 9){ //document.getElementById("container").innerHTML += '<p>'+(n-1)+" Images Displayed | <a href='#header'>top</a></p><hr />"; j = 0; } } } } } } function scroll(){ if(navigator.appName == "Microsoft Internet Explorer") scrollPosition = document.documentElement.scrollTop; else scrollPosition = window.pageYOffset; if((contentHeight - pageHeight - scrollPosition) < 500){ if(window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); else } }
2 回答
MM们
TA贡献1886条经验 获得超2个赞
问题出在 putImages Javascript 函数中,如下所示:
for(i=0; i<=files.length; i++){
这个 for 循环运行了太多次,因为你有“i 小于或等于files.length”。因为我从零开始,所以你在这里只需要“小于”。IE:
for(i=0; i<files.length; i++){
因为它进行了额外的循环,所以 files[i] 返回“未定义”。Undefined 不是空字符串,因此它传递了 if 语句并尝试输出。
慕斯709654
TA贡献1840条经验 获得超5个赞
发现问题了!
而不是这个 resp=resp.replace("\r", ""); resp=resp.replace("\n", "");
它需要像这样
resp=resp.replace("/(\r\n|\n|\r|↵)/gm", ""); resp=resp.replace("/(\r\n|\n|\r|↵)/gm", "");
- 2 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消