Aller au contenu
  • Veuillez ne pas poster de message pour but d'insulter, incitation à la haine, propos sexuels et tout autre qui ne respecte pas nos conditions générales !

js > aide


achrafmaziz

Messages recommandés

class portfolio {
    constructor (selector) {
        this.activeContent = null
        this.activeItem = null
        this.container = document.querySelector(selector)
        if (this.container === null) {
            throw new Error('L\'élement ${selector} n\'éxiste pas')
        }
        this.children = Array.prototype.slice.call(this.container.querySelectorAll('.js-item'))
        this.children.forEach((child) => {
            child.addEventListener('click', (e) => {
                e.preventDefault()
                this.show(child)
            })
        })
    }

    show(child) {
        let offset = 0
        if (this.activeContent !== null) {
            this.slideUp(this.activeContent)
            if (this.activeContent.offsetTop > child.offsetTop) {
                offset = this.activeContent.offsetHeight
            }
        }
        if (this.activeItem === child) {
            this.activeContent = null
            this.activeItem = null
        } else {
            let content = child.querySelector('.js-body').cloneNode(true)
            child.after(content)
            this.slideDown(content)
            this.scrollTO(child, offset)
            this.activeContent = content
            this.activeItem = child
        }
    }

    slideDown(element) {
        let height = element.offsetHeight
        element.style.height = '0px'
        element.style.transitionDuration = '.5s'
        element.offsetHeight 
        element.style.height = height + 'px'
        windows.setTimeout(function () {
            element.style.height = null
        }, 500)
    }

    slideUp(element) {
        let height = element.offsetHeight
        element.style.height = height + 'px'
        element.offsetHeight 
        element.style.height = '0px'
        windows.setTimeout(function () {
            element.parentNode.removeChild(element)
        }, 500)
    }

    scrollTO (element, offset = 0) {
        window.scrollTO ({
            behavior: 'smooth',
                left: 0,
                top: element.offsetTop - offset
        })
    }

}

new portfolio('#js-portfolio')

Ecmascript js

 

 

Problème:

Pour avoir accès à cette image, merci de vous connecter.

 

 

 

 

Lien à poster
Partager sur d’autres sites

Salut,

 

Merci de faire un sujet présentable sous 48 heures.

Si ce dernier n'est pas effectué, le sujet sera supprimé.

 

Ceci est un message automatique.

Mon message est utile ? Laisse un j'aime


Les règles sont importantes, ne les oubliez pas, cliquez ICI
Besoin d'aide à l'utilisation d'inshare ? Cliquez ICI

Lien à poster
Partager sur d’autres sites

Il y a 1 heure, achrafmaziz a dit :

c'est toujours le même problème,

le scroll down/up ne s'effectue pas

On règle l'erreur que tu as fourni, tu précises rien on peut pas t'aider mec 

JavaScript for ever

Lien à poster
Partager sur d’autres sites

  • Administrateur
    Salut achrafmaziz ,
    Ton sujet a été déplacé pour une des deux raisons suivantes :

    - Ta demande a été résolue.

    - Ton sujet se trouvait dans la mauvaise catégorie.

        
      Ceci est un message automatique.

J'essaie de m'adoucir, mais l'humain me rend noir.

Lien à poster
Partager sur d’autres sites

  • 1 an plus tard...
  • Administrateur
    Salut achrafmaziz ,
    Ton sujet a été déplacé pour une des deux raisons suivantes :

    - Ta demande a été résolue.

    - Ton sujet se trouvait dans la mauvaise catégorie.

        
      Ceci est un message automatique.

⠀⠀Founder of Inshare.fr

⠀⠀Baylife moderator

⠀⠀Twitch channel moderator

⠀⠀French translator Trucksbook.eu

𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡

—————————————————

╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord   ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲

 

signature.png

Lien à poster
Partager sur d’autres sites

  • Administrateur
    Salut achrafmaziz ,
    Ton sujet a été déplacé pour une des deux raisons suivantes :

    - Ta demande a été résolue.

    - Ton sujet se trouvait dans la mauvaise catégorie.

        
      Ceci est un message automatique.

⠀⠀Founder of Inshare.fr

⠀⠀Baylife moderator

⠀⠀Twitch channel moderator

⠀⠀French translator Trucksbook.eu

𝐹𝑒𝑒𝑙 𝑓𝑟𝑒𝑒 𝑡𝑜 𝑤𝑟𝑖𝑡𝑒 𝑎 𝑐𝑜𝑚𝑚𝑒𝑛𝑡

—————————————————

╱⠀⠀⠀⠀⠀⠀⠀⠀⠀Règlements⠀⠀ //⠀⠀Abonnements⠀⠀ //⠀⠀ Discord   ⠀⠀⠀⠀⠀⠀⠀⠀⠀╲

 

signature.png

Lien à poster
Partager sur d’autres sites

Invité
Ce sujet ne peut plus recevoir de nouvelles réponses.
×
×
  • Créer...