2016-09-20 1 views
1

Ich habe einen einfachen Bild-Slider mit Javascript und JQuery erstellt, der Code läuft gut in Safari sowohl lokal als auch online, aber in Chrome läuft es nicht. Chrome wirft auch keine Fehler in der Konsole auf, daher fällt es mir schwer, das genaue Problem genau zu bestimmen. Mir ist klar, dass ich in das Problem hineingelesen habe, dass ich meine Skripte vielleicht anders herum haben sollte, also geht die slider.js zuerst dann die Ajax aber wenn ich das Skript mache und daher Bilder nicht in Safari oder Chrome laden. Prost.Javascript-Code läuft nicht auf Chrome

Ich habe den folgenden HTML-Code:

<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> 

Und 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

laden Sie die Seite mit einem Server oder nur mit dem os-Dateisystem? –

+0

Ich habe versucht, sowohl die Datei lokal zu laden, indem Sie mit Chrome öffnen, aber auch online auf meine Webseite hochladen, wo es auch –

+0

Ihren Code lädt, funktioniert im Wesentlichen für mich in jedem Browser - das einzige, was ich musste do (auf jsfiddle zu testen) ist die gesamte js in '$ (function() {..Ihr Code hier ..});' - wickeln, aber das war, damit es mit jedem Browser bei jsfiddle funktioniert - versuchen Sie das, sehen, ob es hilft –

Antwort

0

Sie haben wahrscheinlich nicht die Timeout-Zeitgeber gelöscht, denke ich.

+0

Warum sollte das geklärt werden? –

Verwandte Themen