begin process at 2012 02 14 08:59:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Etrangeté avec Prototype + Mon Code


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Etrangeté avec Prototype + Mon Code

jeudi 25 décembre 2008 à 01:09:51 | Etrangeté avec Prototype + Mon Code

DakM

La classe:


var DialogsIDContainer = new Array();


var DialogManager = Class.create();
DialogManager.prototype = {
   
    menuID : null,
    DIDC   : null,

    // quelques fonctions inutiles dans mon probleme !
    visible: function() {
        $(this.menuID).style.visibility='visible';
        this.show();
    },
    hide: function() {
        $(this.menuID).fade({
            duration: 0.3,
            from: 1,
            to: 0
        });
    },
    show: function() {
        $(this.menuID).fade({
            duration: 0.3,
            from: 0,
            to: 1
        });
    },
    count: function() {
        return DialogsIDContainer.length;
    },
    fillContainer: function(c) {
        $append($(DialogsIDContainer[this.DIDC].containerID),c);
    },
    find: function(name) {
        found = null;
        i = 0;
        while(!found && i < 100) {
            if(DialogsIDContainer[i].name == name) {
                found = true;
                break;
            }
            ++i;
        }
        return (!found) ? false : i;
    },
    getHandle: function(name) {
        return DialogsIDContainer[this.find(name)].handle;
    },
    center: function() {
        pos = Element.cumulativeOffset($(this.menuID));
        sizes = getSizes(this.menuID);
        center = getCenter();
        alert("going from (left:"+pos.left+",top"+pos.top+") to (left:"+(center.left-(pos.left+sizes.width/2))+",top"+(center.top-(pos.top+sizes.height/2))+")");
        new Effect.Move(this.menuID, {
            x: (center.left-(pos.left+sizes.width/2)), //
            y: (center.top-(pos.top+sizes.height/2)), //-
            transition: Effect.Transitions.spring
        });
    },
    resetPos: function() {
        pos = Element.cumulativeOffset($(this.menuID));
        new Effect.Move(this.menuID, {
            x: pagerect.left-pos.left, //
            y: pagerect.top-pos.top, //-
            transition: Effect.Transitions.spring
        });
    }
}
function getCenter() {
    var ret = new Object();
    ret = {
        'left' : Math.floor((pagerect.left+pagerect.width)/2),
        'top'  : Math.floor((pagerect.top+pagerect.height)/2)
        };
    return ret;
}
function getSizes(id) {
    var ret = new Object();
    ret = {
        'width' : $(id).getWidth(),
        'height': $(id).getHeight()
        };
    return ret;
}


Donc ca creer des petits dialogs, comparable a une window ... avec graphics, bref !
Quand ma page est chargée, ceci est executé:

dlgLogin = new DialogManager("login","menu-login","login","menu-login-container");
//
dlgLogin.visible();
dlgLogin.center();
dlgChanSelect = new DialogManager("chselect","menu-chselect","chselect","menu-chanselect-container");
dlgChanSelect.resetPos();

Donc jai mon dialog de login qui vient vers le "centre" (Centre acceptable).
Et le dialog ChanSelect qui va aux positions initiales (en gros: left:0; top:0;)
Apres quelques lignes de JS, j'ai

dlgLogin.hide();
dlgChanSelect.visible();
dlgChanSelect.center();

Et a ce moment la, au lieu d'aller vers le centre comme prevu, Prototype me l'envoie en dehors de l'ecran (top negatif)

Quelqu'un a une idee ?

nico.
jeudi 25 décembre 2008 à 01:23:51 | Re : Etrangeté avec Prototype + Mon Code

DakM

Ajout:
Pour voir le probleme: http://nicolasderoche.co.cc/projects/game-beta/
ID: test
password: test
jeudi 25 décembre 2008 à 01:42:25 | Re : Etrangeté avec Prototype + Mon Code

DakM

Réponse acceptée !
Problème résolu

j'ai changé le style de mes div
position:relative
à
position:absolute

:)


Cette discussion est classée dans : function, left, top, pos, menuid


Répondre à ce message

Sujets en rapport avec ce message

Un div qui suit le curseur [ par xavier1041 ] Bonjour, je cherche de plus près de 3h un script permettant de placer un div en fonction du curseur : je voudrai que le div suive le curseurmais j'ai .left et .top [ par Vincentsoft ] Salut,Voilà, j'ai un problème avec un script.En fait, je veux faire un menu qui s'ouvre quand on passe dessus. Il marche très bien sur Internet Explor mes div ne font pas ce que je leurs dis !#? sale gosses :) [ par frvfrvfrvfrv ] voici a quoi resemble mon script :une partie est ok...... grace a vous tous...... MERCI !donc: html chgt de style suivant la resolution ? [ par seabird ] Salut, J'ai optimisé mes pages pour un affichage en 1024x 768.J'ai donc rajouté un div pour la centrer si éventuellement la résolution est plus grande top et left [ par papipsycho ] Bonjourvoila je chercher recuprer le top et le left de la page j'ai tester avec document.body.style.top mais sa ne me retourne rien --==Papi Psycho==- Probleme de refresh [ par MrCapo ] Je développe un site et je rencontre un problème.Mon problem est : comment rafraichier deux page à la fois.L'index.php contient trois frames : topFram Player multi format sécuriter java & php [ par c2bomb ] bonjour a tous,je cherche a afficher mon player,dans une fenetre style popup,mais hélas je suis vraiment nulle en javascript...si quelq'un peut m'aide positionner une div à top=0 et la centrer [ par sagat06 ] Bonjour, j'ai un soucis qui me semble tout bête mais m'énerve comme c'est pas permis Voilà, je souhaite placer sur mon site une sorte de bandeau tout Drag and Drop [ par Drazounet ] Bonjour à tous !Je suis actuellement en train de développer un ascenseur horizontal en Drag and Drop. En fait, rien de bien compliqué, voici un bout d Problême affichage menu sous chrome et firefox. [ par stef1010 ] Bonjour, j'ai décidé de franchir le grand pas : créé mon site. J'ai récupéré un code sources de se site avec un menu qui réagis quand la souris se pos


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,137 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales