2013-06-11 10 views
7

Ich erhalte diese Fehlermeldung beim Versuch, einen JQuery-Image-Slider zu erstellen.

Uncaught ReferenceError:$ is not defined

Hier ist meine neue Codierung (Hinweis, dass ich das Skript die von der Seite verschoben haben, diese von Adobe vorgeschlagen wurde.):

<!doctype html> 
<html> 

<head> 
<meta charset="utf-8"> 
<title>Green Cold-Formed Steel | Home</title> 
<style type="text/css"> 

body,td,th { 
    font-family: Tahoma, Geneva, sans-serif; 
    font-size: 10px; 
    color: #000; 
    text-align: left; 
} 
body { 
    background-color: #999; 
} 
a:link { 
    color: #999; 
    text-decoration: none; 
} 
a:visited { 
    text-decoration: none; 
    color: #060; 
} 
a:hover { 
    text-decoration: underline; 
    color: #FFF; 
} 
a:active { 
    text-decoration: none; 
} 
h1 { 
    font-size: 14px; 
    color: #060; 
} 
h2 { 
    font-size: 12px; 
    color: #999; 
} 
h3 { 
    font-size: 9px; 
    color: #FFF; 
} 
#next { 
    background-image: url(Assets/slideshow/r_arrow.png); 
    background-repeat: no-repeat; 
    background-position: center center; 
    display: block; 
    float: right; 
    height: 500px; 
    width: 100px; 
    position: relative; 
    z-index: 99; 
} 
#slideshowwrapper { 
    display: block; 
    height: 500px; 
    width: 1000px; 
    margin: auto; 
} 
#container { 
    background-color: #FFC; 
    display: block; 
    float: left; 
    height: 500px; 
    width: 1000px; 
    overflow: auto; 
} 
#prev { 
    background-image: url(Assets/slideshow/L_arrow.png); 
    background-repeat: no-repeat; 
    background-position: center center; 
    display: block; 
    float: left; 
    height: 500px; 
    width: 100px; 
    position: relative; 
    z-index: 99; 
} 
#slider { 
    display: block; 
    float: left; 
    height: 500px; 
    width: 1000px; 
    overflow: hidden; 
    position: absolute; 
} 
#NavBar { 
    display: block; 
    height: 50px; 
    width: auto; 
    position: relative; 
    padding-bottom: 5px; 
    float: none; 
    vertical-align: middle; 
} 
</style> 
</head> 

<body bgcolor="#999999" text="#000000"> 

<table width="100%" height="583" border="0" cellspacing="0" cellpadding="0px"> 
    <tr> 
    <th height="132" align="left" scope="col">&nbsp;</th> 
    <th scope="col"><div class="spacer" id="spacer"></div> 
     <div class="Header" id="header"><a href="index.html"><img src="Assets/Logo/GFCS_Logo_NoBckgnd.png" width="288" height="108" alt="GCFS"></a></div> 
    <hr></th> 
    <th scope="col">&nbsp;</th> 
    </tr> 
    <tr> 
    <th width="5%" align="left" scope="col">&nbsp;</th> 
    <td width="85%" align="left" valign="top" scope="col"> 
    <div class="Navigation Bar" id="NavBar"><img src="Assets/navigation/navbutton_static_green.png" width="100" height="50" alt="Navi_Home"> <img src="Assets/navigation/navbutton_static_green.png" width="100" height="50" alt="Navi_Solutions"> <img src="Assets/navigation/navbutton_down.png" width="100" height="50" alt="navi_down"></div> 

    <div id="slideshowwrapper"> 
     <div id="container"> 
     <div class="controller" id="prev"></div> 
     <div id="slider"> 
      <img src="Assets/slideshow/hyatt_apts.png" width="1000" height="500" alt=   "Hyatt Apartments"> 
      <img src="Assets/slideshow/mccommas.png" width="1000" height="500" alt="McCommas"> 
      <img src="Assets/slideshow/park_4200.png" width="1000" height="500" alt="Park 4200"> 
      <img src="Assets/slideshow/quail_run.png" width="1000" height="500" alt="Quail Run"> 
      <img src="Assets/slideshow/roofdale.png" width="1000" height="500" alt="Roofdale Roof"> 
      <img src="Assets/slideshow/tri_truss.png" width="1000" height="500"> </div> 
     <div class="controller" id="next"></div> 
     </div> 
    </div></td> 
    <th width="10%" scope="col">&nbsp;</th> 
    </tr> 
</table> 
<p>&nbsp;</p> 
<script type="text/javascript" src="JS/jquery-1.10.1.min.js"></script> 
<script type="text/javascript" src="JS/jquery.cycle.all.js"></script> 
<script> 
$(function(){ 
     $('#slider').cycle({ 
     fx:  'scrollHorz', 
     speed: 'fast', 

     next: '#next', 
     prev: '#prev' 
    }); 
}); 
</script> 
</body> 
</html> 

zum JS Ordner Eigene Ordner-Pfad für meine Website (lokal) sieht so aus: C: \ Benutzer \ Andrew \ Desktop \ GCFS \ JS

Ich bin neu in der Programmierwelt, aber was ich versuche zu erreichen, ist ziemlich einfach. Soweit ich weiß, brauche ich keine fertige Funktion und das Javascript sollte automatisch laufen. Vielen Dank für Ihre Unterstützung!

Von Kommentar

Als ich versuchte, das es auch nicht

<title>Green Cold-Formed Steel | Home</title> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
<script src="JS/jquery.cycle.all.js"></script> 
<script type="text/javascript"> 
$(function() { 
    $('#slider').cycle({ fx: 'scrollHorz', speed: 'fast', next: '#next', prev: '#prev' }); 
}); 
</script> 
+4

Sind Sie sicher, dass jQuery 1.10 wo Sie denken, dass es ist? – Blazemonger

+0

Ja, ich verwende Dreamweaver, um diese Site zu erstellen, also wurde die Datei im Wesentlichen "verlinkt" und der Code wurde für mich geschrieben. – MasterFuel

+0

(1) Erfahren Sie, wie Sie den [Netzwerkbereich] (https://developers.google.com/chrome-developer-tools/docs/network) verwenden, damit Sie feststellen können, ob ein Fehler bei der Anforderung von 'jquery-1.10.1 'vorliegt .min.js'. (2) Erfahren Sie, wie Sie die [Konsole] (https://developers.google.com/chrome-developer-tools/docs/console) verwenden, damit Sie den Ratschlägen von Rag folgen können. Diese Seite kann Ihnen nicht helfen, es sei denn, Sie lernen, sich selbst zu helfen :) – benastan

Antwort

9

Die Lösung:

1) Verwenden Sie Google CDN jQuery

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script> 

2) Soweit ich über den Zyklus Plugin kennen zu laden, ist es kompatibel mit jQuery v1.5- v1.7, weil die meisten Methoden in jQuery 1.8+ veraltet waren. Dies ist der Grund, warum ich v1.5 von Google CDN jquery in Punkt 1 verwendet habe. Die meisten Beispiele für das Zyklus-Plugin verwenden jquery 1.5.

3) Löschen Sie Ihren Browser-Cache, es ist der Hauptschuldige die meiste Zeit.

4) Bitte das Laden von jquery überprüfen Sie den Code unten

if(typeof jQuery!=='undefined'){ 
    console.log('jQuery Loaded'); 
} 
else{ 
    console.log('not loaded yet'); 
} 

Haupt bearbeiten mit:

Der Grund für den Fehler ist ziemlich einfach:

Sie den Zyklus aufgerufen haben Methode, bevor die Jquery geladen wird.

Rufzyklus Plugin auf DOM bereit ..

$(document).ready(function(){ 
    $('#slider').cycle({ 
     fx:  'scrollHorz', 
     speed: 'fast', 

     next: '#next', 
     prev: '#prev' 
    }); 
}); 
+0

das war das Problem! Vielen Dank für die Zeit und die Hilfe von allen! Sie sind alle Lebensretter! – MasterFuel

+0

Gut zu wissen, dass es funktioniert hat .. :) – writeToBhuwan

9

2 Fragen.

Sieht aus wie Ihre jQuery nicht ordnungsgemäß geladen wurde.

Sie sehen im Allgemeinen diesem Fehler

Uncaught ReferenceError:$ is not defined 

wenn jQuery nicht richtig auf Ihrer Seite enthalten war.

Versuchen jQuery von CDN verwenden und es sollte Ihr Problem

ersetzen

<script src="JS/jquery-1.10.1.min.js"></script> 

mit dem aus CDN

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 

HINWEIS lösen:, wenn Sie aus dem Dateisystem zu testen, Sie müssen die http: der obigen URL hinzufügen oder es wird

fehlschlagen

Als nächstes ist Ihre Skriptdatei vor der HTML. Also muss der Code in Handler enthalten sein.

$(function() { 
    $('#slider').cycle({ 
     fx:  'scrollHorz', 
     speed: 'fast', 
     next: '#next', 
     prev: '#prev' 
    }); 
}); 

As far as I know 'Slider' was referenced when I created the div Id.

Nein ist es nicht. Wenn Ihr Skript direkt vor dem Text eingefügt wurde, dürfen Sie es nicht in den Ready-Handler einschließen. Aber in deinem Fall ist es im Kopf vorhanden. Also, wenn das Skript zu laufen beginnt, dass bestimmte Element ist nach wie vor nicht in der DOM

Check Fiddle

+0

Oh ja nach dem Versuch, Ihre Hilfe, ich sehe immer noch nicht positiv Ergebnisse .. Grüner kaltumgeformter Stahl | Startseite

0

Ich hatte dieses Problem, aber die Ursache war sehr unterschiedlich zu den oben genannten Szenarien. Meine Seite funktionierte überall außer auf meinem älteren Android (2.2). Es stellte sich heraus, dass dieses Gerät das HTTPS-Zertifikat in der code.jquery.com-CDN zurückwies, sodass JQuery nicht geladen wurde. Der Fix bestand darin, stattdessen JQuery-Ressourcen von der https-CDN zu laden (unter Verwendung der von anderen oben genannten URLs).

Verwandte Themen