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 :

scrolling progressif accéléré


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut scrolling progressif accéléré
    Bonjour,

    Je souhaite développer une simple fonction qui fait un scrolling progressif depuis la position de la barre de scroll actuelle, vers une certaine coordonnée y.

    Donc cette fonction n'a qu'un paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function scroll(target_y){
     
    }
    Voilà je ne suis pas venu pour qu'on me mache le travail, simplement pour avoir un peu d'aide dans chaque étape de la programmation qui me pose pb.

    Pourriez vous juste me dire comment faire un moteur ? et après je pourrai me lancer dans l'implémentation

    Merci

  2. #2
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Re, j'ai programmé ma fonction et comme je reçoit pas mal d'aide sur ce site la moindre des choses c'est d'en faire profiter notre communauté :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
            speed = 1;
    	acc = 0.5;
    	histor_pos = new Array();
     
    	function deplace(final_pos){
     
    		document.documentElement.scrollTop += speed;
    		histor_pos.push(document.documentElement.scrollTop);
    		speed += acc;
     
    		if(histor_pos.length > 1){
    			if(document.documentElement.scrollTop > final_pos || histor_pos[histor_pos.length - 1] == histor_pos[histor_pos.length - 2]){
    				clearInterval(timer);
    				document.documentElement.scrollTop = final_pos;
    				speed = 1;
    				histor_pos = [];
    			}
    		}
     
    	}
     
    	...
     
            ...
     
    timer = setInterval('deplace(document.getElementById(\"previsualisation\").offsetTop)',25);


    histor_pos sert d'historique aux positions de la barre de scroll pour éviter de ne jamais sortir du setInterval (si le scroll na pas pu aller jusqu'à final_pos étant donné quil ny a pas assez de contenu sur la page) et donc de ne pas initialiser les variable de vitesse et acceleration entre chaque déplacement.

    Si on ne procède pas ainsi les déplacement vont être de plus en plus rapides si on les enchaine. on vérifie les 2 derniers index de histor_pos et s'ils ont la même valeur alors cest que la barre de scroll ne peut plus aller plus loin, du coup on fait clearInterval() + initialisation.

    Voilà pour un tween accéléré. Demain je vais faire un tween encore plus sympa car plus réaliste, à savoir accélération puis à mi chemin décélération

    A demain donc pour le dénouement de cette merveilleuse aventure

  3. #3
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    et un animate scrollTop avec un easing ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Que veux tu dire par là ?

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    Ben un petit script JQuery d'une ou deux lignes
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre très actif Avatar de guitz
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2006
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webdesigner

    Informations forums :
    Inscription : Juillet 2006
    Messages : 728
    Par défaut
    Oui j'aurais sans doute du faire ça mais maintenant c'est trop tard j'ai trop avancé dans mon code

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2008, 19h38
  2. Fenetre sans Scroll Bar
    Par nicolas78986 dans le forum MFC
    Réponses: 15
    Dernier message: 01/06/2007, 03h15
  3. le fameux scrolling
    Par tanmieu dans le forum DirectX
    Réponses: 4
    Dernier message: 27/05/2003, 23h25
  4. scrolling vertical et horizontal
    Par myriam dans le forum MFC
    Réponses: 2
    Dernier message: 24/01/2003, 17h06
  5. scroll dans un label
    Par Pretender dans le forum Composants VCL
    Réponses: 9
    Dernier message: 27/09/2002, 17h06

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