2016-09-20 64 views
1

我已经使用Javascript和JQuery创建了一个简单的图像滑块,代码在本地和在线Safari浏览器中运行正常,但是在Chrome中它未运行。 Chrome在控制台中也没有发现错误,所以我很难找出确切的问题。我意识到已经读过这个问题,我应该让我的脚本反过来,所以slider.js首先是Ajax,然后当我这样做时,脚本以及图像不会在Safari或Chrome中加载。 干杯。未在Chrome上运行的Javascript代码

我有以下的HTML代码:

<body> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
    <div id="slider"></div> 
    <script src="slider.js" type="text/javascript"></script> 
</body> 

和JS

slideShow(); 
var imgArray = [ 
    'Images/image1.jpg', 
    'Images/image2.jpg', 
    'Images/image3.jpg', 
    'Images/image4.jpg', 
    'Images/image5.jpg', 
    'Images/image6.jpg', 
    'Images/image7.jpg', 
    'Images/image8.jpg' 
    ], 
curIndex = 0; 
imgDuration = 5000; 

function slideShow() { 
$("#slider") 
    .fadeOut('slow', function() { 
     var img = $("<img />") 
      .attr('src', imgArray[curIndex]) 
      .on('load', function() { 
       $("#slider") 
        .html(img) 
        .fadeIn('normal', function() { 
         curIndex++; 
         if (curIndex == imgArray.length) { 
          curIndex = 0; 
         } 
         setTimeout(slideShow, imgDuration); 
        }); 
      }); 
    }); 
} 
+0

你使用服务器或只是os文件系统加载页面? –

+0

我试过在Chrome上打开本地加载文件,但也上传到我的网页,它也不会加载 –

+0

你的代码,实质上,在任何浏览器中为我工作 - 我必须do(在jsfiddle中测试)是将整个js包装在'$(function(){..你的代码在这里......});' - 但是这是为了让它在jsfiddle中的任何浏览器上都能正常工作 - 看看它是否有帮助 –

回答

0

你可能没有清理超时定时器,我认为。

+0

为什么需要清除? –