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 :

[DOM] Dom, javascript et insert before


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut [DOM] Dom, javascript et insert before
    Bonjour,

    J'aimerais générer une div qui se placerait au dessus d'un site comme ci-dessous :

    -------------------------------------------------------------------------
    MA DIV SERAIT AFFICHE LA
    -------------------------------------------------------------------------
    LE SITE SERA AFFICHE LA



    -------------------------------------------------------------------------

    Sachant que ce code de création de cette div devra être généré sur un site distant, le site distant exécutera un script javascript sur mon serveur et devra affiché une div contenant du texte au dessus de ce site distant sans caché le contenu de ce site
    J'ai essayé avec les méthodes insertbefore mais çà ne marche pas
    Je vous colle mon code d'essai :
    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
    document.write('<style type="text/css">\n'+
     '#haut \n'+
     '	{\n'+
     '	position:absolute;\n'+
     '	width:\n'+700+'px;\n'+
     '	height:20px;\n'+
     '	top:0px;\n'+
     '	left:0px;\n'+
     '  background:white;\n'+
     '  z-index:999999898;\n'+
     '	}\n'+
     '</style>');
     
     var div = document.createElement('div');
     div.id = 'haut';
     var b = document.getElementsByTagName("body")[0];
     if (b.firstChild != null)
    		b.insertBefore(div, b.firstChild);
    		else	
    		b.appendChild(div);
    Merci de me dire si vous voyez un problème majeur dans mon code

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ça ne marche pas ???
    erreur retourné ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    b = document.getElementsByTagName("body")[0];
    pourquoi pas directement :
    pour le reste je ne vois pas d'erreur de code

    hormis un immonde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    document.write('<style type="text/css">\n'+
     '#haut \n'+
     '	{\n'+
     '	position:absolute;\n'+
     '	width:\n'+700+'px;\n'+
     '	height:20px;\n'+
     '	top:0px;\n'+
     '	left:0px;\n'+
     '  background:white;\n'+
     '  z-index:999999898;\n'+
     '	}\n'+
     '</style>');

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    Il n'y a pas d'erreurs affichées
    Ma div s'affiche mais passe par dessus le site et donc le cache de la hauteur de la div au lieu de se placer au-dessus
    Sinon le code immonde que tu dis, tu veux faire comment pour le remplacer car je dois générer du javascript et dedans j'ai besoin de css donc...
    Voilà

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    plusieurs choses , si tu ne souhaites pas que ta div recouvre ton site , supprime la position absolute.

    ensuite :

    tu affectes ta classe css a un seul élément #haut ( référence un objet via son id )

    donc autant utiliser le style directement sur ton objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    tonobjet.style['cssText'] = "tout le style" //pour IE
    tonobjet.setAttribute('style', "tout le style") //FF et autre :)

  5. #5
    Membre éclairé
    Inscrit en
    Décembre 2006
    Messages
    411
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 411
    Par défaut
    Effectivement en enlevant la position absolute çà ne se met plus par dessus c'est déjà çà
    Par contre, avec le code que j'ai tapé où se place le code dans le source ?
    Avant la balise <body> ou après ???
    <div></div>
    <body>

    ou

    <body>
    <div></div>

    Car la solution doit être la seconde la div doit être juste après

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653

Discussions similaires

  1. [DOM] Dom(javascript) et php5
    Par lilibellule dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 19/07/2007, 15h58
  2. [DOM] fonction javascript dans html
    Par nopnop dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/04/2007, 09h53
  3. [DOM][PHP] Problème d'insertion de caractère spécial
    Par Oscar Hiboux dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 09/01/2007, 16h25
  4. [DOM] Probleme JAVASCRIPT XML STRING DOM
    Par seb0634 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/11/2006, 17h53

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