2013-06-11 18 views
7

Viene visualizzato questo messaggio di errore quando si tenta di creare un dispositivo di scorrimento immagine JQuery.

Uncaught ReferenceError:$ is not defined

Qui è il mio nuovo codice (NOTA che mi sono mosso lo script per il della pagina, questo è stato suggerito da Adobe.):

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

Il mio percorso cartella alla cartella JS per la mia il sito Web (localmente) è simile a questo: C: \ Users \ Andrew \ Desktop \ GCFS \ JS

Sono nuovo nel mondo della codifica, ma quello che sto cercando di ottenere è abbastanza semplice. Per quanto ne so non ho bisogno di avere una funzione pronta e il javascript dovrebbe essere eseguito automaticamente. Grazie per l'aiuto!

Da commento

Quando ho provato questo ha anche fallito

<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

Sei sicuro che jQuery 1.10 è dove pensi che sia? – Blazemonger

+0

sì, sto utilizzando Dreamweaver per creare questo sito, quindi il file era essenzialmente "collegato" e il codice è stato scritto per me. – MasterFuel

+0

(1) Scopri come utilizzare il [pannello di rete] (https://developers.google.com/chrome-developer-tools/docs/network) in modo da poter vedere se c'è un errore nella richiesta di 'jquery-1.10.1 .min.js'. (2) Scopri come utilizzare la [Console] (https://developers.google.com/chrome-developer-tools/docs/console) in modo da poter seguire il consiglio di Rag. Questo sito non può aiutarti se non impari ad aiutare te stesso :) – benastan

risposta

9

La soluzione:

1) Utilizzare Google CDN per caricare jQuery

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

2) Per quanto ne so il plugin Cycle, E 'compatibile con jQuery v1.5- v1.7 perché la maggior parte dei metodi era deprecata in jQuery 1.8+. Questo è il motivo per cui ho usato la v1.5 di jQuery di Google CDN al punto 1. La maggior parte degli esempi sul plugin di ciclo usa jquery 1.5.

3) Cancella La cache del browser, è il principale colpevole il più delle volte.

4) Verificare il caricamento del jquery usando il codice seguente

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

Maggiore Edit:

La ragione per l'errore è abbastanza semplice:

Hai chiamato il ciclo metodo prima che il jquery sia caricato.

chiamata plug-ciclo sul DOM pronto ..

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

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

questo era il problema! Grazie mille per il tempo e l'aiuto di tutti! Siete tutti salvavita! – MasterFuel

+0

Felice di sapere che ha funzionato .. :) – writeToBhuwan

9

2 problemi.

Sembra che il tuo jQuery non sia stato caricato correttamente.

In genere questo errore

Uncaught ReferenceError:$ is not defined 

quando jQuery non è stato adeguatamente incluso nella pagina.

Prova utilizzando jQuery da CDN e dovrebbe risolvere il tuo problema

Sostituire

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

con quello da CDN

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

NOTA: se si prova dal file system, è necessario aggiungere http: all'URL sopra riportato o fallirà

Successivamente il file di script è prima dello HTML. Quindi è necessario contenere il codice nel gestore DOM Ready.

$(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.

No, non è. Se lo script è stato incluso poco prima del corpo, non è possibile includerlo nel gestore Ready. Ma nel tuo caso è presente nella testa. Così, quando lo script inizia a funzionare quel particolare elemento non è ancora presente nel DOM

Check Fiddle

+0

Oh, quindi dopo aver tentato il tuo aiuto, non vedo ancora positivo risultati .. Acciaio a freddo di colore verde | Home @sushanth – MasterFuel

+0

Sì, questo è solo un guazzabuglio di codice .. dovresti rivedere la tua domanda sopra se hai cambiato il tuo codice. – benastan

+0

Funziona bene su http://jsfiddle.net/sushanth009/UVWwW/ –

3

Ci potrebbero essere due problemi:

1) Il JQuery non potrebbe essersi caricati correttamente. Puoi testarlo utilizzando Chrome. Digitare $ o jQuery per verificare se è stato caricato correttamente. Chrome Console

2) Questo è basato sulla mia esperienza in alcuni jquery.js che avrebbe ottenuto in bundle con altre librerie JS, dove $ non sarà supportato e si è costretti ad utilizzare jQuery invece di $ Partenza per la sotto la riga nel file js che hai caricato nel tuo progetto.

window.jQuery = window.$ = jQuery; 

vedo che utilizzando http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js non ha funzionato per me, ma ho usato http://code.jquery.com/jquery-1.7.2.min.js

Di seguito è l'unica parte nel codice che ho modificato e ha cominciato a lavorare bene per me.

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
+0

Come menzionato @Rag, sostituisco $ con jQuery, l'errore non viene più su, tuttavia lo script non è ancora in esecuzione. e quando lo eseguo nella console jQuery non è definito, viene restituito come un errore – MasterFuel

+0

sicuro, Ora il mio errore è RiferimentoErrore: jQuery non è definito Grazie TUTTI per la vostra pazienza e gentilezza, lo so e sono stupido quando si tratta di queste cose. Ma sto facendo del mio meglio, voi ragazzi siete fantastici in quello che fate! – MasterFuel

+0

Potresti modificare la domanda precedente che hai pubblicato con l'ultimo codice? – Raghav

1

Come un'aggiunta. Se stai usando $ (Jquery) nel tuo file .js. Logicamente tutte le librerie o i framework dovrebbero essere prima di quel file .js.

<script type="text/javascript" src="jquery-2.1.3.min.js"></script> 
<script type="text/javascript" src="app.js"></script> 
0

Ho avuto questo problema ma la causa era molto diversa dagli scenari sopra riportati. Il mio sito funzionava ovunque tranne che sul mio vecchio Android (2.2). Si è scoperto che questo dispositivo stava rifiutando il certificato https sul CDN code.jquery.com, quindi non stava caricando JQuery. La soluzione consisteva nel caricare le risorse JQuery dal https Google CDN (usando gli URL nominati da altri sopra).

Problemi correlati