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 :

défilement horizontal d'un tableau


Sujet :

JavaScript

  1. #1
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut défilement horizontal d'un tableau
    Bonsoir,

    Je cherche à faire une présentation d'un tableau sur mon formulaire sous forme de colonne.

    Mon tableau fait n colonnes. La 1ère contient les intitulés de chaque ligne de tableau, la dernière contient le total de chaque ligne.

    Les colonnes intermédiaires contiennent le détail.

    J'affiche très bien mon tableau en html, mais je voudrai figer le nombre de colonne de detail à 4 et paginer horizontalement pour voir les colonnes suivantes ou précédentes.

    C'est faisable j'en suis convaincu. J'ai regardé du côté de jquery sans succès.

    Avez-vous une piste ?

    Merci d'avance

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut Paginer vs Défiler
    Bonjour,

    Vous désirez une pagination ou bien un défilement. Je m'explique, la pagination, pour moi, c'est afficher 4 par 4 vos colonnes. Si vous appuyer sur le bouton "colonnes suivantes", les 4 qui sont alors affichées disparaissent et sont remplacées par 4 nouvelles. Ou bien une par une, tant qu'il n'y en a que 4 d'affichées.
    Si par contre vous prenez le défilement, ce sera une barre en bas du tableau pour faire apparaitre au fur et à mesure la colonne suivante, avec la première colonne qui disparait à la même vitesse.

  3. #3
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Bonjour Vermine,

    Très bonne question.

    Quel est le plus souple pour l'utilisateur ?

    Un scroll ou 2 boutons précédent/suivant.

    Personnellement je crois que je préfère les 2 boutons et un décalage 4 par 4

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    313
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 313
    Par défaut
    Bonjour,

    Ce sujet a été abordé il y a quelques mois, pour les deux solutions : défilement au pixel ou à la colonne.

  5. #5
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Par défaut
    sans défilement en masquant les colonnes qui ne doivent pas être affichées
    display:none sur toutes les colonnes, sauf les 4 à afficher (display:block)
    les boutons servent à passer aux 4 suivantes ou précédentes (boucler sur les colonnes pour modifier le style de façon adéquate)

  6. #6
    Membre éprouvé Avatar de lodan
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 064
    Par défaut
    Citation Envoyé par bigboomshakala Voir le message
    sans défilement en masquant les colonnes qui ne doivent pas être affichées
    display:none sur toutes les colonnes, sauf les 4 à afficher (display:block)
    les boutons servent à passer aux 4 suivantes ou précédentes (boucler sur les colonnes pour modifier le style de façon adéquate)
    Mais oui, mais c'est bien sur.

    C'est simple à mettre en oeuvre.

    Merci beaucoup.

    Voici ce que j'ai fait :

    Mon html :
    Code : 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
     
    <h4>12 catégories disponibles sur 4 pages</h4>
    <input style="margin: 0px" type="button" name="PagePrecedente" id = "PagePrecedente" onclick= "cacherPage('page', document.getElementById('numpage').value); afficherPage('page', document.getElementById('numpage').value, 'precedente');" value="Page Précédente" class="button">
    page:	<input type="input" name="numpage" value="1" id = "numpage" readonly = "readonly" size = 1 style="text-align:right">/4	
    <input style="margin: 0px" type="button" name="PageSuivante"
    onclick="cacherPage('page', document.getElementById('numpage').value); afficherPage('page', document.getElementById('numpage').value, 'suivante');" value="Page Suivante" class="button">
     
    <table width="100%">
    <tr id="page0" style="display:block; vertical-align:top;">
    <td>
    	<table width="160px">
    		<tr style = 'height:50px;'>
    			<td>
    			</td>
    		</tr>
    	</table>
    </tr>
    <tr id="page1" style="display:none; vertical-align:top;">
    .....
    </tr>
    <tr id="page2" style="display:none; vertical-align:top;">
    .....
    </tr>
    <tr id="page3" style="display:none; vertical-align:top;">
    .....
    </tr>

    Mon javascript :

    Code : 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
    28
    29
    30
    31
    32
    function cacherPage(id, numpage)
    {
    page = Math.abs(numpage - 1);
    var identifiant = id+page;	document.getElementById(identifiant).setAttribute("style","display:none; vertical-align:top;");
    }
    function afficherPage(id, numpage, sens)
    {
    var page = parseFloat(numpage);
    if(sens === "suivante")
    {numpage = Math.abs(page + 1);
    }
    if(sens === "precedente")
    {
    if(numpage == 1)
    {
    page = 0;
    numpage = 1;
    }
    else
    {
    numpage = Math.abs(page - 1);
    page = Math.abs(page - 2);
    }
    }
    if(numpage > 4)
    {
    page = Math.abs(4 - 1);
    numpage = 4;
    }
    var identifiant = id+page;								document.getElementById(identifiant).setAttribute("style","display:block; vertical-align:top;");
    if(sens = "suivante") document.getElementById("numpage").value = numpage;
    }
    Bien sûr dans mon script PHP je calcul mon nombre de page en fonction du nombre de catégories à afficher, sachant que j'affiche 3 catégories à la fois dans des tableaux me permettant de faire des colonnes.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/04/2010, 12h33
  2. [JScrollPane] Pb défilement horizontal et vertical
    Par rems033 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 03/07/2007, 16h11
  3. Défilement horizontal en manuel seulement!
    Par Martyin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 23/01/2007, 09h47
  4. Récuperation evenement molette / défilement horizontal
    Par kalan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/10/2006, 14h40
  5. Défilement horizontal d'image
    Par Eome dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/09/2006, 19h50

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