Probleme inconnue

Résolu/Fermé
adelin - 23 mars 2015 à 19:38
 Utilisateur anonyme - 24 mars 2015 à 12:05
Bonjour, je me suis mis a js pour effectuer un smoothscroll sur mon site longpage avec la librairie JQuery. Je suit actuellement un tuto sur graphikart qui explique à merveille, sauf que j'ai un problème et je sais pas d'où il viens.
j'ai pourtant bien importé les librairies jQuery sur ma page html :
<head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <title>Mon Site</title><!-- titre -->
        <link rel="icon" type="image/png" href="logoombrev2.png" />
        <souligne><script type="text/javascript" src="jquery.js"></script></souligne>
        <script type="text/javascript" src="scroll.js"></script>
    </head>

Car lorsque dans mon scroll.js je met une alerte quelconque, elle me l'affiche, actuellement j'ai ce bout de code dans mon scroll.js:

$(document).ready(function(){
	$("a[href^='#']" ).click(function(){
		alert('test')
	});
});


Ce qui sur mon site doit normalement m'afficher une alerte (test) quand je clique sur un lien (a) qui commence (^=) par :#

Or rien ne s'affiche.
Le liens du tuto pour les intéressés:http://www.grafikart.fr/tutoriels/jquery/scrolling-anime-44
A voir également:

4 réponses

Utilisateur anonyme
24 mars 2015 à 08:47
Bonjour

Tout d'abord, le point virgule n'est pas nécessaire à la fin des instructions en PHP : un passage à la ligne suffit. Tu peux retirer celui du alert et ceux des }), ou les laisser, ça ne fait pas de différence.

Chez moi, ton script marche. La seule ligne que j'ai modifiée c'est
<script type="text/javascript" src="jquery.js">
pour l'adapter au chemin de la bibliothèque (et non pas librairie !) jquery.
Je soupçonne donc que le problème vient de l'accès à cette bibliothèque.
1 - sais-tu vérifier avec la console javascript de ton navigateur s'il y a une erreur à ce niveau-là (ou à un autre d'ailleurs) ?
2 - si dans
$(document).ready(function(){
tu fais directement un alert, est-il bien exécuté ?
1
c'est la première fois que je fait du JS
Si tu croyais que les routes de la programmation étaient parsemées de pétales de roses, bienvenue dans le monde réel ;)
et ça ne fonctionne pas sans aucune raison :/ Quand tu auras compris qu'il y a toujours une raison, et que quand ça ne marche pas c'est toujours ta faute, tu pourras commencer à faire des progrès.
Ce n'est pas de la philosophie à deux balles, c'et une réalité dont il vaut mieux que tu prennes conscience le plus tôt possible.
0
adelin > Utilisateur anonyme
24 mars 2015 à 10:27
Pas la peine d'être aussi agressif, c'est la première fois que je fait du JS mais pas la première fois que je fait de la programmation, j'ai jamais crus que c'était parsemé de pétales de roses, des problèmes apparaissent et il faut se creuser la tête pour les résoudre.
Et le: ça ne fonctionne pas sans aucune raison :/ voulais dire aucune raison apparente et pour lequel j'ai un niveau trop faible pour l'instant pour repérer cette erreur. Je sais bien que le programme ne créé pas des bug comme il lui plais sans raison logique et que c'est moi le problème, mais j'aimerais justement découvrir ce que j'ai mal fait. Et c'est pourquoi je suis venus sur un forum d'aide.
0
Utilisateur anonyme
24 mars 2015 à 10:41
Désolé que tu aies pris ça pour de l'agressivité, j'avais pourtant mis un ;)
Quant à ma remarque sur le fait que c'est toujours le programmeur qui a tort, c'est que par expérience sur ce forum, les gens privilégient trop souvent l'hypothèse que c'est quelque chose d'extérieur qui ne va pas : version de logiciel, configuration chez l'hébergeur ...Ça peut arriver, mais c'est rarement le cas.
J'avais quand même pris le temps d'essayer ton script et de faire une réponse qui se voulait constructive. As-tu quelque chose à répondre à mes points 1 et 2 ?
0
J'avais répondu mais j'ai du me loupé sur l'envoi, je retape donc du coup ;)
Donc, je ne sait pas comment vérifier avec la console javascript de mon navigateur s'il y a une erreur malheureusement.
Sinon quand je fait le :
$(document).ready(function(){
alert('yolo')
})

Rien ne se passe.
Mais pourtant quand je fait juste un: alert('test') dans mon scroll.js, l'alerte apparaît.
Après je me suis dit que peut être cela venais de ma page HTML, j'ai donc repris celle du tuto de graphikart (qui fonctionne) et ça ne fonctionne toujours pas.
0
C'est donc presque à coup sûr qu ta bibliothèque jQuery n'est pas chargée.
1 - As-tu bien un fichier jquery.js dans le même répertoire que ta page html ?
2 - Si tu remplaces
<script type="text/javascript" src="jquery.js"></script>

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

est-ce que ça marche ?
1
Oooh, merci, ça fonctionne, j'avais bien mon jquery.js mais j'ai du me chié avec.
Donc la si je comprend bien ça va chercher la librairie a l'adresse: "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" plutôt que mon jquery.js.
Bon merci milles fois dieux le père ;)
0
bg62 Messages postés 23666 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 2 janvier 2025 2 392
24 mars 2015 à 11:57
alors= +100 pour 'lepère' et merci de mettre le sujet en 'résolu' ;)
0
Donc la si je comprend bien ça va chercher la librairie a l'adresse: "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" plutôt que mon jquery.js.
Oui, tout à fait (sauf que c'est une bibliothèque, pas une librairie), mais ça devrait pouvoir marcher aussi avec ton jquery.js s'il existe bien et que tu donnes son url correctement.
Le lien de chez google que je t'ai mis est vieux, regarde là :
https://developers.google.com/speed/libraries#jquery ce qu'ils proposent de plus récent
1
Mirzo Messages postés 75 Date d'inscription mercredi 15 décembre 2010 Statut Membre Dernière intervention 14 octobre 2015 16
23 mars 2015 à 21:28
Bonsoir adelin,

Essai avec le point virgule à la fin de ton alert, je pense que ça viens de là ;). Fais bien attention à mettre des points virgules à la fin de tes lignes/functions...

$(document).ready(function(){
	$("a[href^='#']" ).click(function(){
		alert('test'); //Point virgule
	});
});


Bonn continuation !
--
0
Ça ne fonctionne toujours pas malheureusement. Je suis vraiment dépité, c'est la première fois que je fait du JS et ça ne fonctionne pas sans aucune raison :/
0