IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Ancre avec javascript


Sujet :

JavaScript

  1. #1
    Membre tr�s actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Juillet 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 174
    Par d�faut Ancre avec javascript
    Bonjour,

    j'ai un �v�nement qui sert afficher plus d'article quand on clique sur bouton plus.

    voici mon code.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var plus = document.querySelector('.plus');
    var row2 = document.querySelector('.row2');
    plus.addEventListener('click',function(e) {
        row2.style.display = 'block';
    },false);
    la classe row2 est un bloc au debut il a un display : none quand je clique sur le bouton plus il s'affiche tout fonctionne bien jusqu'a maintenant.

    ma question c'est que je veux ajouter un autre evenement en meme temps quand je clique sur plus il affiche le row2 et en meme temps le scroll descend vers le bas

    J'ai test� cela mais sa ne fonctionne pas.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    plus.addEventListener('click',function() {
            window.scrollTo(0,document.body.scrollHeight);
        },false);
    mais quand j'ai rajout� setTimeout() a la fonction windows.scrollTo() sa fonctionne bien.

    donc je veux savoir si c'est possible de faire cela sans mettre un temp manuellement et merci.

  2. #2
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    normal

    lorsque tu click le div n'est pas affich� le scroll s'ex�cute donc jusqu'au bas de la page qui ne contient pas le div.

    peut �tre par l�
    https://davidwalsh.name/detect-node-insertion
    A+JYT

  3. #3
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut
    Quel est le comportement de :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    plus.addEventListener('click',function(e) {
      row2.style.display = 'block';
      window.scrollTo(0,document.body.scrollHeight);
    },false);

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  4. #4
    Membre tr�s actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Juillet 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 174
    Par d�faut
    @sekaijin
    je sais mais moi je cherche une solution pour ne pas donner un timeout manuellement le syst�me d�tecte si y'a le div ou pas.

    @danielhagnoul
    Le row2 s'affiche mais le scroll ne descend pas il reste fix
    mais si je fais cela
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    plus.addEventListener('click',function(e) {
      row2.style.display = 'block';
      setTimeout(function(){ window.scrollTo(0,document.body.scrollHeight); }, 10);
    },false);
    le scroll descend apr�s 10ms.

  5. #5
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    Citation Envoy� par MR-SMOOT Voir le message
    @sekaijin
    je sais mais moi je cherche une solution pour ne pas donner un timeout manuellement le syst�me d�tecte si y'a le div ou pas.
    ...
    le lien que je t'ai donn� traite justement de la detection du changement dans le DOM
    en clair il r�agit lorsque le DOM est modifi� I.E. le DIV est ajout�.

    le principe est comme toujours avec le DOM la programmation �v�nementielle.
    lorsque l'utilisateur clique sur faire ceci
    lorsque le DOM est modifi� faire cela
    ect.

    A+JYT

  6. #6
    Membre tr�s actif
    Homme Profil pro
    �tudiant
    Inscrit en
    Juillet 2014
    Messages
    174
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 30
    Localisation : Maroc

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 174
    Par d�faut
    j'ai pas bien compris le tuto
    j'ai test� cela mais sa ne fonctionne pas
    mon js
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var row2 = document.querySelector('.row2');
    plus.addEventListener('click',function(e) { 
        row2.style.display = 'block';
    },false);
     
    var insertListener = function(e){
    	if (e.animationName == "nodeInserted") {
    		 window.scrollTo(0,document.body.scrollHeight);
    	}
    }
     
    document.addEventListener("webkitAnimationStart", insertListener, false);
    mon css
    Code css : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    .row2
    {
        display: none;
        animation-duration: 2s;
        animation-name: nodeInserted;
    }

Discussions similaires

  1. Stopper le scroll sur une ancre avec javascript
    Par rocketter dans le forum G�n�ral JavaScript
    R�ponses: 23
    Dernier message: 07/05/2014, 15h10
  2. Lire #ancre de l'url avec javascript
    Par Are-no dans le forum G�n�ral JavaScript
    R�ponses: 3
    Dernier message: 12/12/2008, 14h44
  3. Defilement de la fenetre avec JavaScript
    Par black is beautiful dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 28/09/2004, 10h21
  4. Lien ASP avec javascript
    Par RATIER dans le forum ASP
    R�ponses: 3
    Dernier message: 15/07/2004, 08h54
  5. R�ponses: 4
    Dernier message: 27/04/2004, 14h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo