Bonjour,
Je cherche à faire un fond grisé autour d'un div(div_fenetre) contenu dans un div (div_conteneur).
Pour ca j'utilise 4 div (nord,est,ouest,sud) qui sont situés au nord,est,ouest et sud du div div_fenetre.
En gros le div fenetre peut se déplacer et se redimensionner.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <div id="conteneur"> <img src="image.jpg" id="img_fond"> <div id="div_nord" style="position:absolute;"></div> <div id="div_est" style="position:absolute;"></div> <div id="div_fenetre" style="position:absolute;"></div> <div id="div_ouest" style="position:absolute;"></div> <div id="div_sud" style="position:absolute;"></div> </div>
Donc il faut recalculer à chaque déplacement et chaque redimensionnement les tailles et positions des 4 div (nord,sud,est,ouest)...
Voici les fonction que j'ai fait pour recalculer:
Le debugeur js de mozilla firefox me renvoit l'erreur suivante:
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 function change_div_nord() { var nouv_haut_nord=parseInt(document.getElementById('img_fond').style.height)-(parseInt(document.getElementById('div_sud').style.height)+parseInt(document.getElementById('div_fenetre').style.height)); document.getElementById('div_nord').style.height=parseInt(nouv_haut_nord)+"px"; } function change_div_est() { var nouv_top_est=parseInt(document.getElementById('div_nord').style.height); document.getElementById('div_est').offsetTop=parseInt(nouv_top_est)+"px"; var nouv_larg_est=parseInt(document.getElementById('div_nord').style.width)-(parseInt(document.getElementById('div_fenetre').style.width)+parseInt(document.getElementById('div_ouest').style.width)); document.getElementById('div_est').style.width=parseInt(nouv_larg_est)+"px"; var nouv_haut_est=parseInt(document.getElementById('div_fenetre').style.height); document.getElementById('div_est').style.height=parseInt(nouv_haut_est)+"px"; } function change_div_ouest() { var nouv_top_ouest=parseInt(document.getElementById('div_nord').style.height); document.getElementById('div_ouest').offsetTop=parseInt(nouv_top_ouest)+"px"; var nouv_left_ouest=parseInt(document.getElementById('div_est').style.width)+parseInt(document.getElementById('div_fenetre').style.width); document.getElementById('div_ouest').offsetLeft=parseInt(nouv_left_ouest)+"px"; var nouv_larg_ouest=parseInt(document.getElementById('div_nord').style.width)-(parseInt(document.getElementById('div_est').style.width)+parseInt(document.getElementById('div_fenetre').style.width)); document.getElementById('div_ouest').style.width=parseInt(nouv_larg_ouest)+"px"; var nouv_haut_ouest=parseInt(document.getElementById('div_fenetre').style.height); document.getElementById('div_ouest').style.height=parseInt(nouv_haut_ouest)+"px"; } function change_div_sud() { var nouv_top_sud=parseInt(document.getElementById('div_nord').style.height)+parseInt(document.getElementById('div_fenetre').style.height); document.getElementById('div_sud').offsetTop=parseInt(nouv_top_sud)+"px"; var nouv_haut_sud=parseInt(document.getElementById('img_fond').style.height)-(parseInt(document.getElementById('div_nord').style.height)+parseInt(document.getElementById('div_fenetre').style.height)); document.getElementById('div_sud').style.height=parseInt(nouv_haut_sud)+"px"; }
Pour la ligne suivante:Erreur*: setting a property that has only a getter
Qu'est ce qui est en cause?var nouv_top_est=parseInt(document.getElementById('div_nord').style.height);
document.getElementById('div_est').offsetTop=parseInt(nouv_top_est)+"px";
Si vous avez une meilleure idée pour le calcul des positions et des tailles je suis preneur...
Partager