JS 通过 dir 解析 php 脚本添加空白图像名称

有一个带有无限滚动画廊的页面,它工作正常,但在脚本末尾它附加了 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


      }

  

  }


慕码人8056858
浏览 109回答 2
2回答

MM们

问题出在 putImages Javascript 函数中,如下所示:for(i=0;&nbsp;i<=files.length;&nbsp;i++){这个 for 循环运行了太多次,因为你有“i 小于或等于files.length”。因为我从零开始,所以你在这里只需要“小于”。IE:for(i=0;&nbsp;i<files.length;&nbsp;i++){因为它进行了额外的循环,所以 files[i] 返回“未定义”。Undefined 不是空字符串,因此它传递了 if 语句并尝试输出。

慕斯709654

发现问题了!而不是这个&nbsp;resp=resp.replace("\r", ""); &nbsp;resp=resp.replace("\n", ""); 它需要像这样resp=resp.replace("/(\r\n|\n|\r|↵)/gm", ""); &nbsp;resp=resp.replace("/(\r\n|\n|\r|↵)/gm", "");
打开App,查看更多内容
随时随地看视频慕课网APP