2017-07-03 10 views
0

J'essaie d'obtenir un gif en arrière-plan lorsque je passe la souris sur un lien, et je le réinitialise et le joue lorsque vous le survolez à nouveau. Il fonctionne exactement comme je le veux dans ce jsFiddle. Lorsque j'écris mon code dans les parenthèses, j'obtiens cet avertissement -> $ 'était utilisé avant qu'il ne soit défini. $("#hover").hover(function() {

J'ai inclus le Javascript dans la tête de mon code HTML comme:

<head> 
<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="main.js"></script> 

<head> 

Le code HTML, CSS et JavaScript sont les mêmes que dans le jsFiddle.

Enregistré dans le navigateur aussi, ne fonctionne pas. j'obtiens cet avertissement --->imain.js: 10 Uncaught ReferenceError: $ n'est pas défini à main.js: 10 On peut voir ma page dans son intégralité ici. jepen84.github.io/github.io

+0

Vérifiez si jQuery est chargé. Vous pouvez le voir dans l'onglet "réseau" des outils de développement de Chrome. – Sveta

+0

Cela ne fonctionne-t-il pas aussi dans le navigateur, ou est-ce juste un avertissement d'éditeur? – JJJ

+1

Oui, ce n'est pas une erreur d'exécution. Il est peu probable que Brackets sache que vous utilisez jQuery. Je ne connais pas l'éditeur, mais il est probable qu'un paramètre inclue des "variables globales connues" ou quelque chose comme ça. –

Répondre

1

Vous obtenez l'erreur car jQuery ne se charge pas.

Pour charger jQuery, vous avez utilisé: <script type="text/jquery" src="jquery-3.2.1.js"></script>

jQuery est pas un langage de programmation. C'est uniquement une bibliothèque javascript fournissant quelques fonctionnalités pratiques.

Dans votre <script> -tag, modifiez type="text/jquery" à type="text/javascript" et il va charger le fichier.

+0

Semble avoir supprimé l'avertissement, mais le gif ne s'affiche toujours pas lorsque vous passez le lien. Aucune suggestion? –

+0

rien ne se passe parce que vous avez lié le '.hover()' sur le 'span' qui a zéro hauteur de sorte que techniquement vous ne pouvez pas le planer. Soit, mettez 'span' à' display: block' ('inline-block' ou donnez simplement du contenu fonctionnera aussi) ou utilisez' $ ("# hover a") 'au lieu de' $ ("hover a span") ' –