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 :

Griser une div et la rendre inactive aux interactions


Sujet :

Bibliothèques & Frameworks

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 8
    Points : 8
    Points
    8
    Par défaut Griser une div et la rendre inactive aux interactions
    Salut,
    voilà ma question est quasiment dans le titre: j'aimerais rendre inactive une zone div qui contient des liens et des zones de textes pendant le chargement d'une autre div (afin d'éviter les conflits).
    J'aimerais donc faire apparaître cette zone en grisé, et la rendre inactive à toute interaction.
    En sachant que j'utilise des float et des tailles en % pour placer cette div, je ne peux donc pas utiliser de position: absolute pour placer une div par-dessus...

    Je précise que j'utilise prototype (inclus dans le framework php symfony).

    Merci!

  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 : 54
    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
    Mets les zones de saisie en disabled et ajoute un return false aux liens pendant le chargement (via Event.observe) puis supprime ces événements lorsque ton contenu est chagé (Event.stopObserving).

  3. #3
    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
    Ou bien positionne une div en absolu par dessus ta div à protéger. Tu peux mettre ta div "protectrice" avec un fond noir et une opacité de 0.2

    Ca ressemblerait à ca:
    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
     
    var protectDiv = new Element("div", {style: "display:none;position:absolute;background-color:#000;z-index:1000;"});
    protectDiv.setOpacity(0.2);
    $(document.body).insert(protectDiv);
    function protectDiv(divToProtect) {
      var dim = divToProtect.getDimensions();
      var pos = divToProtect.cumulativeOffset();
      protectDiv.setStyle({
        width : dim.width + "px",
        height : dim.height+"px",
        top : pos.top + "px",
        left : pos.left + "px"
      });
      protectDiv.show();
    }
    function hideProtectDiv(){
      protectDiv.hide();
    }

  4. #4
    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
    Désolé j'ai lu trop vite le postulat de base comme quoi une div par dessus n'était pas envidagéable. Cependant, je me demande pourquoi ca ne marcherait pas quitte à observer le redimensionnement de la fenêtre pour repositionner et redimensionner la div protectrice.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    383
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 383
    Points : 658
    Points
    658
    Par défaut
    Je rejoins gwyohm!
    Si tu mets ta div principale en position relative.
    Une div en position absolute dans la div principale devrait fonctionner en farfouillant un peu...

    Cédric

Discussions similaires

  1. [MooTools] Rendre une div cliquable
    Par al3xzo dans le forum Bibliothèques & Frameworks
    Réponses: 16
    Dernier message: 23/05/2010, 10h53
  2. Griser une zone d'un div
    Par calitom dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 20/03/2009, 17h07
  3. rendre inactive une liste
    Par canary dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 02/03/2009, 15h46
  4. Rendre inactive une combobox selon la valeur choisie dans une 1er combobox
    Par The Molo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 14/12/2007, 13h34
  5. [CSS] - une div aux bords arrondis ?
    Par 10-nice dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 23/09/2005, 15h47

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