J'ai réaliser ce tuto de A à Z et le sommaire se crée mais pas le déroulement vers un titre. Quelqu'un peut m'aider ?
J'ai fait un copier coller du .js et j'ai bien crée la class container dans une div puis une id sommaire dans une div et toujours rien.

10 réponses


As tu compris ce que tu as copier coller ?
As tu des erreurs dans ta console ?

Peut-etre est tu capable de cibler un peu d'ou vient l'erreur et nous montrer le code concerné

Picot
Auteur

Bah oui j'ai suivi, écouté et copié. Je n'ai aucune erreur, mais ce qui est bizarre cest que le menu se fait

L'event dans la methode bindScroll est appelé lors du click sur un lien ?

Picot
Auteur

Ceci ? --->
// Au clic sur le a on scroll vers le titre
Sommaire.prototype.bindScroll = function(a, title) {
a.addEventListener('click', function(e){
e.preventDefault();
document.body.scrollTop = title.offsetTop;
});
};

Oui.
Si je comprend bien ce que Grafikart a fait lors du click sur un lien du somaire l'eventListener est déclenché.
Esct-ce ien le cas chez toi ? (Ajoute un alert ou un console.log dans l'eventListener)

Picot
Auteur

j'ai fait ceci :
Sommaire.prototype.bindScroll = function(a, title) {
a.addEventListener('click', function(e){
e.preventDefault();
document.body.scrollTop = title.offsetTop;
console.log(title.offsetTop); //le console log
});
};

Le console log m'affiche bien des valeurs comme ceci :
1528 Sommaire.js:46:7
1124 Sommaire.js:46:7
861 Sommaire.js:46:7
533 Sommaire.js:46:7

Picot
Auteur

Une idée ?

"Inexperienced programmers who copy code often do not fully understand the pre-written code they are taking. As such, the problem arises more from their inexperience and lack of courage in programming than from the act of copying and pasting, per se. The code often comes from disparate sources such as friends' or co-workers' code, Internet forums, code provided by the student's professors/TAs, or computer science textbooks. The result risks being a disjointed clash of styles, and may have superfluous code that tackles problems for which new solutions are no longer required."
https://en.wikipedia.org/wiki/Copy_and_paste_programming

Bonjour Picot,

Je pense que tu ne donne pas assez de détails pour que l'on puisse t'aider. Quand tu dis qu'il ne se passe rien c'est assez vague, essaye d'être plus préçit sur l'erreur, de décrire le comportement de ton code... plus tu donneras de détail plus tu auras de chances de trouver une solution.

Quand tu crées ton lien dans ton code es-tu bien sur de créer un lien vers une ancre ou un lien mort ? ton problème vient peut etre de là.

Tu as quelque chose qui ressemble à ça ? :

//création du lien
var a = document.createElement('a');

//création de l'attribut 'href' du lien vers une ancre, en l'occurence: #title
a.setAttribute('href', '#titre' );

Copier/coller un code ne suffit pas même si tu écoute et tu suis un tuto, si tu veux réellement apprendre il faut réécrire et comprendre ce que tu écris, il n'y a pas de secrets...

Sur ce, bonne chance et bon courage.
A plus !

Bonjour.

Bah oui j'ai suivi, écouté et copié.

Ce n'est pas parce que tu regarde et écoute un tutoriel vidéo et que tu copies/colles une partie des sources, que tu comprend forcément ce qui est contenu dans le tutoriel.
S'il suffisait de regarder des tutoriels qu'il soit en vidéo ou non pour tous les comprendre, tout le monde maîtriserait tout, que ce soit dans le développement web ou autre chose et ce genre de forum n'existerait pas.
Il y a une nette différence entre se documenter et comprendre, nous ne comprennons pas forcément tout ce que nous pouvons lire/visionner.