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

jQuery Discussion :

Javascript et scroll


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 84
    Points : 48
    Points
    48
    Par défaut Javascript et scroll
    Bonjour à tous !

    J'ai ce script qui permet de se rendre sur une section de la page à la place de scroller mais mon menu passe par dessus la <div>
    Il faudrait que je puisse enlever 50 pixels.

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(document).ready(function() {
    	$('.js-scrollTo').on('click', function() { // Au clic sur un élément
    		var page = $(this).attr('href'); // Page cible
    		var speed = 750; // Durée de l'animation (en ms)
    		$('html, body').animate( { scrollTop: $(page).offset().top }, speed ); // Go
    		return false;
    	});
    });
    Un truc dans ce genre la :

    Voila mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(document).ready(function() {
    	$('.js-scrollTo').on('click', function() { // Au clic sur un élément
    		var page = $(this).attr('href') - 50px; // Page cible
    		var speed = 750; // Durée de l'animation (en ms)
    		$('html, body').animate( { scrollTop: $(page).offset().top }, speed ); // Go
    		return false;
    	});
    });
    Merci

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    .arrivee,.js-scrollTo{position:absolute}
    .arrivee{top:100px}
    .js-scrollTo{margin-top:300%}
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <a class='js-scrollTo' href="destination">Animer</a>
    <div class='arrivee' id="destination">Destination</div>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $(document).ready(function() {
    	$('.js-scrollTo').on('click', function() { // Au clic sur un élément
    		var Hrefpage = $(this).attr("href"); // Page cible
    		var speed = 750; // Durée de l'animation (en ms)
    		$("html,body").animate( { scrollTop: $("#"+Hrefpage).offset().top-50 }, speed ); // Go
    		return false;
    	});
    });

  3. #3
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    Merci mais cela ne fonctionne pas, tout le site est décallé,

    Il n'hexiste pas de solution juste dans le javascript en le modifiant ?

    Merci

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    le site est décalé par-ce-que peut être tu as utilisé le css de cet exemple, et les éléments .arrivee et .js-scrollTo sont en position absolue.
    n'utilise pas le css de cet exemple.
    Le plus important c'est d'avoir un ID pour chaque destination
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
     <div class='arrivee' id="destination">Destination</div>
    , sinon tu passe par l'index().

  5. #5
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2013
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2013
    Messages : 84
    Points : 48
    Points
    48
    Par défaut
    Tous les id sont différents, j'ai donc bien repris le JS mais cela le décallage de 50px ne fonctionne pas chez moi.

    De puis j'ai perdu l'effet d'animation qui fait que la base scrool toute seule doucement.

    Merci

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    bonsoir,
    aucun problème ici https://jsfiddle.net/Toufi9/q16f3k85/
    N.B:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("html,body").animate();
    : pas la peine d'ajouter html dans le sélecteur, $("body") est suffisante.

Discussions similaires

  1. Détecter la présence d'un scroll bar dans un tableau via javascript
    Par hastiok dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/12/2009, 15h52
  2. positionner un scroll dans un tableau en javascript
    Par air75 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/05/2009, 13h47
  3. scrolling en javascript
    Par martoune dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/07/2007, 16h59
  4. [javascript] Déplacer scroll
    Par lenoil dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/05/2007, 14h13
  5. [javascript] Scroll avec une image
    Par Salih-du-91 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/10/2005, 07h46

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