This is with the console.log大家好,我的JavaScript代码有问题。我单击按钮时尝试制作动画,但是出现此错误:无法读取未定义的属性“ add” 我不知道出什么问题了!
import {
Util
}来自“ ./Util.js”
export class Introduction {
/**
* Classe permettant de créer et d'animer une introduction
* @param {object} o - contient l'ensemble des mots d'intro
* @param {DOMElement} elementParent - Conteneur de l'animation
* @param {function} fonction - l'adresse de la fonction à exécuter après l'animation
}}
*/
constructor(o, elementParent, fonction) {
//Récupérer les valeurs passées en paramètre
this.titrePrincipal = o.titrePrincipal;
this.titreSecondaire = o.titreSecondaire
this.titreTernaire = o.titreTernaire
this.description = o.description
this.elmParent = elementParent
this.integrerIntro()
this.fonction = fonction
}
integrerIntro() {
/* Création des élément DOM qui seront animés.
Les éléments seront intégré dans le conteneur elmParent
*/
console.log('introduction')
let elmConteneur = this.creerElement(this.elmParent,
'section',
'',
'introduction')
let elmPrincipale = this.creerElement(elmConteneur,
'div',
this.titrePrincipal,
'rectangle')
let elmSecondaire = this.creerElement(elmConteneur,
'div',
this.titreSecondaire,
'rectangle')
let elmTernaire = this.creerElement(elmConteneur,
'div',
this.titreTernaire,
'rectangle')
let elmDescription = this.creerElement(elmConteneur,
'div',
this.description,
'rectangle')
let elmBouton = this.creerElement(elmConteneur,
'button',
'Commencer',
'bouton')
/* On garde une référence sur la fonction terminerIntro */
let refTerminerIntro = this.terminerIntro.bind(this)
elmBouton.addEventListener('mousedown', this.terminerIntro.bind(this))
}
creerElement(elmParent, balise, contenu, classCSS) {
console.log(balise)
let noeud = document.createElement(balise)
if (contenu != '') {
noeud.innerHTML = contenu
}
noeud.classList.add(classCSS)
elmParent.appendChild(noeud)
return noeud
}
terminerIntro(evt) {
this.elmParent.firstChild.classList.add('deplacementContenuIntro')
this.elmParent.firstChild.addEventListener('animationend', this.passerVersAnimationSuivante.bind(this))
}
passerVersAnimationSuivante(evt) {
Util.detruireTousLesNoeud(this.elmParent, this.elmParent)
this.fonction()
}
}
我也有这个文件:我认为我的querySelector有问题,但我不知道:/
import {contenuIntro} from './contenuIntro.js' // le contenu de l'intoduction */
import {Introduction} from './Introduction.js' //
import {AnimLettre} from './AnimLettre.js' //
/* l'élement de la page qui contiendra les éléments créés dynamiquement */
let elmHeader = document.querySelector('.header')
let intro = new Introduction(contenuIntro, elmHeader, animationLettre)
console.log(document.querySelector('.header'))
// debutQuestionnaire()
function animationLettre()
{
/* Une fois que l'animation des mots est terminé la fonction animLettre s'exécutera */
console.log('debut animation lettre')
const lesLettres = 'Veille-technologique'
let monAnimLettre = new AnimLettre(lesLettres, elmHeader, finAnim)
}
function finAnim()
{
console.log('animation terminée')
}
感谢您的帮助!