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 :

Effet scrolling obligatoirement en jouant sur les border ?


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut Effet scrolling obligatoirement en jouant sur les border ?
    Bonjour,

    Encore moi

    J'en viens a vous pour essayer de mettre en place un scrolling vertical avec JQuery.

    J'en ai crée un horizontal sans trop de soucis mais en ce qui concerne le vertical je pense que ma méthode horizontal n'est pas très adaptée.

    Pour le horizontal, je jous avec les bordures tout simplement.

    Pour le vertical montant , çà marche presque : j'augmente la bordure top avec une valeure negative et j'augmente le height de la div d'autant, ce qui fait que ce qui etait en overflow:hidden passe en visible.

    Mais pour l'inverse, c'est une autre histoire.

    Peut on realiser un effet de scrolling sans forcement jouer sur les border ?

    Pour avoir l'apercu, cliquez sur une image dans le bandeau :
    >>> click me <<<

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut
    j'ai trouvé. De plus la méthode est bcp plus simple : scrollTop

    Pour faire monter le contenu caché de la DIV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $("#bottomBox").bind("click", function(e){
    	$("#middleBox").stop().animate({
    		scrollTop: "+=50px"
    	},500);
    });
    Pour faire descendre le contenu caché de la DIV :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $("#topBox").bind("click", function(e){
    	$("#middleBox").stop().animate({
    		scrollTop: "-=50px"
    	},500);
    });
    De plus quand il arrive en fin de contenu de cette DIV, le scrollTop n'agit plus et donc pas besoin de calculer les tailles de div pour éviter les scrolls sur zone sans contenu (probleme que j'aurais rencontré avec les marges).

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut
    Es il possible de connaitre le scrollTop maximum ?

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut
    Bon bah comme j'aime bien me repondre a moi même, voici la solution :

    memoriser la position actuelle puis Incrementer le scrolltop jusqu'a ce que celle ci soit egale a la position actuelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    scrollTopMax = 1;
    scrollTopPas = 0;
    lastScrollTop = 0;
     
    while ( scrollTopMax > lastScrollTop ) {
    	scrollTopPas+= 30;
    	lastScrollTop = $("#projectDescription").scrollTop();
    	$("#projectDescription").scrollTop(scrollTopPas);
    	scrollTopMax = $("#projectDescription").scrollTop();
    }
     
    alert('scrollTopMax = '+scrollTopMax);

  5. #5
    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
    Bonsoir.

    Plus simplement en demandant un scroll gigantesque et en prenant le scroll réel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert($("#testID").scrollTop(1000000).scrollTop());

    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.)

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 233
    Par défaut
    Oui j'avais aussi le choix entre ma méthode et celle ci, je n'aime pas trop le coté "bricolage" de celle ci même si , je l'avoue, fonctionne très bien.

    Sinon je me suis aperçu d'un probleme de placement d'un element sous IE8.

    lorsque je fixe les opacité de mes fleches Haut et Bas, j'ai la flèche du bas qui se retrouve decallée a droite (alors qu'elle apparait au bon endroit si je ne touche pas a son opacité). De plus çà fait buger l'animation de retour.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#upArrow, #downArrow").stop().animate({opacity: 0});
    Ce problème n'est lié qu'a IE8. tous les autre browser fonctionnent sans aucun soucis.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 23/10/2014, 17h39
  2. Réponses: 7
    Dernier message: 23/09/2009, 10h25
  3. Effet de transition de couleur sur les liens avec jQuery
    Par Bovino dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 16/09/2009, 13h31
  4. [CSS] border-collapse sur les TR mais pas sur les TD.
    Par hpfx dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 03/04/2005, 16h16
  5. [VB6][impression]Comment faire des effets sur les polices ?
    Par le.dod dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 08/11/2002, 10h31

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