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

Bibliothèques & Frameworks Discussion :

Il vaut mieux un exemple../) [Prototype]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Il vaut mieux un exemple../)
    bonjour,
    je suis confronte a petit probleme
    (code au minimum)
    dans ma var j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var defaultOptions = {
      hum: $H({top:'-20px',left:'0px'})
    };
    dans ma class pour attribuer le positionnement je fais cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var Sv = Class.create();
    Sv.prototype = {
      buildSV: function() {
       this.el.setStyle({
    				position:'absolute',
    				top: this.options.hum.values().first(),
    				left: this.options.hum.values().last()
    			});
     }
    };

    donc comment remplacer top et left dans le setstyle par :
    this.options.hum.keys().first();
    this.options.hum.keys().last();
    Cela plante lamentablement (missing after id ).

    (l' intitulé est navrant mais je ne voyait pas comment le resumer)

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Salut,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    top: this.options.hum.top,
    left: this.options.hum.left
    ne marche pas ?
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    re:

    desole, j'ai du mal m'exprimer.
    Voila le code que je voudrai mettre en place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    var Sv = Class.create();
    Sv.prototype = {
      buildSV: function() {
       this.el.setStyle({
    				position:'absolute',
    				this.options.hum.keys().first(): this.options.hum.values().first(),
    				this.options.hum.keys().first(): this.options.hum.values().last()
    			});
     }
    };
    en gros changer les proprietes du setStyle en fonction des positions declarées dans defautoptions.

    J ai bien essayé ton exemple mais il ne fonctionne pas.

  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 : 53
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Tu oublies de préciser les unités.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    this.options.hum.keys().first(): this.options.hum.values().first() + 'px',
    this.options.hum.keys().first(): this.options.hum.values().last() + 'px'
    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é
    Avatar de gwyohm
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    var Sv = Class.create();
    Sv.prototype = {
      buildSV: function() {
       this.el.setStyle({
    				position:'absolute',
    				this.options.hum.keys().first(): this.options.hum.values().first(),
    				this.options.hum.keys().last(): this.options.hum.values().last()
    			});
     }
    };
    Mais je ne vois pas pourquoi tu passes par un hash...
    Pourquoi ne pas faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var defaultOptions = {
      hum: {top:'-20px',left:'0px'}
    };
    this.el.setStyle(Object.extend(Object.clone(defaultOptions), {position:'absolute'}));
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    re bonjour, merci pour les rep: ta solution gwyohm marche nickel donc merci....mais je ne comprends pas la difference...

    pour vous repondre a tous les deux :
    1. les px etaient deja mentionnés /
    2. je passe par un hash car je cite :
      prototype>setStyle
      Modifies element’s CSS style properties. Styles are passed as a hash of property-value pairs in which the properties are specified in their camelized form.
    3. de plus mon defaultoptions est deja étendu comme ceci:
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      this.options = Object.clone(defaultOptions);
      Object.extend(this.options, options || {});



    donc en gros ce code :
    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
     
     
    var defaultOptions = {
      hum: $H({top:'-20px',left:'0px'}),
      bla:false,
      blabla: true
    };
     
    var SV = Class.create();
    SV.prototype = {
     
    	initialize : function(element, options){
     
    		this.el = $(element);
    		this.options = Object.clone(defaultOptions);
    			Object.extend(this.options, options || {});
               },
     
               buildSV: function(){
                           //ne fonctionne pas
                           //pas de messages d'erreurs,style du div est egal a nul
                             this.el.setStyle(this.options.hum);
                           //en enlevant le hash 
                           //this.el.setStyle(Object.extend(Object.clone(defaultOptions.hum), {position:'absolute'}));
                           //fonctionne
               }
    }

    gwyohm ou quelqun d'autre peut m expliquer la difference d'approche
    en tout cas merci ....
    je flagg resolu a la fin de la semaine

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

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Points : 1 333
    Points
    1 333
    Par défaut
    Je ne suis pas sur d'avoir compris ce qui fonctionne et ne fonctionne pas, mais le problème que tu vas avoir avec $H(), c'est qu'à partir de la version 1.6 de prototype, quand tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var monH = $H({foo:"bar"});
    tu ne peux plus faire
    tu dois faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(monH.get("foo"));
    et je pense que c'est ca qui pose problème...

    Pour revenir à setStyle, il est vrai que la doc est un peu confusante, mais l'exemple d'utilisation est très clair...
    http://prototypejs.org/api/element/setStyle ... pas besoin de $H
    on ne dit pas "ça ne marche pas" on dit "je suis incapable de faire fonctionner correctement les outils mis à ma disposition"
    Pas de question technique par MP

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/06/2007, 23h31
  2. Réponses: 2
    Dernier message: 11/04/2007, 14h35
  3. [MySQL] mieux vaut 1 grande table ou 2 petites?
    Par Anarianthe dans le forum Requêtes
    Réponses: 4
    Dernier message: 12/11/2005, 23h00
  4. vaut il mieux utiliser ArrayList ou implémenter collection?
    Par irnbru dans le forum Framework .NET
    Réponses: 17
    Dernier message: 05/11/2005, 12h51
  5. Qu est ce qu il vaut mieux faire.
    Par rvzip64 dans le forum Requêtes
    Réponses: 7
    Dernier message: 03/06/2004, 16h04

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