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 :

Débutant. Comment récupérer une hauteur pour positionner un élément


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut Débutant. Comment récupérer une hauteur pour positionner un élément
    Bonjour,
    J'essaye de faire un truc pas trop compliqué, mais sans succès.

    J'aimerai faire en sorte qu'un élément soit placé à la même hauteur qu'un autre, qui se trouve tous les deux, dans deux colonne différente d'un tableau.

    J'ai donc fait ceci
    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
     
    align_to('id_1','id_2');
    function align_to(source,target){ 
    // source est l'id d'un h2 ou d'un div ou de n'importe quel élément
    // target est l'id d'un autre élément devant se trouver à la meme auteur
     
    alert(source+'-'+target);  //Ceci m'affiche bien les deux id
    // Si je ne me trompe pas, ceci va voir si l'id_1 existe
    		if($(source).length>=1){
    			source_height=$(source).offset().top;
    			alert(source_height);
    		}
    		else
    		{alert('erreur, id existe pas')}
    };
    1) Mon problèe, c'est
    alert(source_height);
    n'est pas exécuté. Soit la condition
    if($(source).length>=1){
    n'est pas respectée.

    2) Comment puis-je position le deuxième élément, après avoir récupéré la hauteur du premier?

    Milles mercis

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    $, ça vient de quelle bibliothèque ? (A vue de nez, je dirais Prototype...)
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par défaut
    Bonjour,
    Citation Envoyé par pierrot10 Voir le message
    1) Mon problèe, c'est n'est pas exécuté. Soit la condition n'est pas respectée.
    Ou bien, une erreur survient entre temps

    Citation Envoyé par Bovino Voir le message
    $, ça vient de quelle bibliothèque ? (A vue de nez, je dirais Prototype...)
    Si c'est bien prototype, la méthode offset n'existe pas ; au choix cumulativeOffset, viewportOffset ou positionedOffset. Tu choisiras le bon en fonction du style absolute ou relative de target et source

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Oui, en fait, ce serait plutôt jQuery...
    Ceci dit, dans un cas comme dans l'autre, $() n'a pas à priori de propriété length
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Ben en fait je me suis inspiré d'un autre code qui utilise jQuery.
    Si je dois utiliser une librairire c'est celle-là que je souhaite utiliser et que j'utilise déjà, d'ailleur

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Je me suis inspiré de ce code (qui fonctionne)
    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
     
    $(document).ready(function(){
    	$('a[href^=#]').click(function(){
    		cible=$(this).attr('href');
    		if($(cible).length>=1){
    			hauteur=$(cible).offset().top;
    		}
    		else{
    			hauteur=$("a[name="+cible.substr(1,cible.length-1)+"]").offset().top;
    		}
    		$('html,body').animate({scrollTop:hauteur},1000)
    		return false;
     
    	});
    });
    et j'aimerais l'adapter pour récupérer la hauteur d'un id pour l'utiliser afin de position un autre

    je ne sais pas si j'ai bien fait d'emlever le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $(document).ready(function(){...
    car en fait j'ai pas besoin "de rester à l'écoute" d'une intervention, comme un click, puisque le deuximeme élément devra etre placé au chargement de la page, ou lorsque la qu'une fonction est "appelée"

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 167
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 167
    Par défaut
    Ben j'avance...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function align_to(source,target){
    	if($('#'+source).length>=1){
    			source_height=$('#'+source).offset().top;
    			alert(source_height);
    		}
    		else
    		{
    		}
    };
    J'arrive à afficher la hauteur d'un id.
    Je n'ai pas trop compris j'ai du mettre un "#".

    Aussi, quel fonction, pourrais-je utiliser pour positionner la hauteur, cette fois un autre id

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 05/05/2008, 15h35
  2. [Débutant] comment récupérer la valeur d'une requête?
    Par Athorus dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 27/02/2007, 17h59
  3. Réponses: 6
    Dernier message: 15/02/2007, 13h46
  4. [débutant] comment récuperer un int pour une hashtable
    Par mariafan dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 12/01/2007, 23h18
  5. Réponses: 27
    Dernier message: 19/09/2006, 09h51

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