2016-09-20 88 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

爲什麼需要清除? –