[javascript] ça marche 1 fois/2 ?? help

blbg Messages postés 302 Statut Membre -  
blbg Messages postés 302 Statut Membre -
bonjour,

je suis en stage, et je doit réaliser le site d'une entreprise, ..
& j'éssai de faire un design sobre & complex à réaliser tout de même ... car il s'adapte instantanément a la taille de l'écran ... en même si on modifie la dimention de la fenêtre lors de la visite, ...

pr l'instant, il y a :
le nom de la boite qui défile (ça s'adapte tjs à la taille de l'écran pr qu'il y ai un petit bout de la premiére & derniére lettre soit caché lors de la remise en position initiale ... ) ça, ça marche ... (suis content !!! )

mais, j'ai un beug avec le titre, ...
il est composé de 2 partie une image avc le nom de l'entreprise & le logo & d'un trait (c'est aussi une image) qui prolonge l'image, ...
& là le truc chaud c'est que l'image avec le logo doit tjs être au milieu, & il doit tjs avoir la même distance de trait de chaque coté, ...
ça à l'aire simple comme ça, .. mais en fait non, car l'ombre qui défile est sur toute la hauteur, dans une autre frame, le logo & le trait sont donc répartie sur 2 frames & ça doit être invisible, ...

j'ai l'aire d'avoir fait qqe chose qui doit être pas mal pr le probléme
car ça marche, ... sauf que ça marche qu'une fois sur 2 ...

à mon avis, ça vien du fait que des info circulent entre les 2 frames, dans les 2 sens, ... mais je vois pas comment faire autrement ...

pour voir ce que ça donne ..
http://www.activetech.fr/active/cadre.php
(il faut peu être actualiser plusieur fois pour voir le script fonctionner normalement, svt il y a un beug ds le coins haut gauche)
vous pouvez aussi redimentionner votre fenêtre ~ en 800*600 on, voit mieu, car il y a en plus du trait, le logo aussi de coupé ...

& voici mes source :
<html>
<head>
<?php 
/**************************************************************************
 * pour modifier les paramettre de l'ombre défilante, aller dans jsBody.php
 * dans ce fichier, il y a aussi la gestion du logo pour le menu
 **************************************************************************/

include('head.php'); // meta tags
include('jsHead.php'); // pr l'ombre defilante
?>

<script language="JavaScript"> 
<!--
/********************* mise à jour taille de la fenêtre **************/
var hMenu;
var lMenu;
function tailleMenu(){
	ie = document.all;
	if (ie){
		hMenu = document.body.clientHeight;	// + document.body.scrollTop;
		lMenu = document.body.clientWidth;	// + document.body.scrollLeft;
	}else{
		hMenu = window.innerHeight;
		lMenu = window.innerWidth;
	}	// en pix
}
///////////////////////////////////////// logo centré //////////////////////////////////

var hTitre=160;
var lTitre=500;
var hLogo=500;
var lLogo=100;
var largLogo2;
var leftLogo2;

function positionLogo2(){
	tailleMenu();
	if(parent.titre.lTitre) { lTitre = parent.titre.lTitre; }
	if(parent.titre.hTitre) { hTitre = parent.titre.hTitre; }
	if(parent.titre.hLogo) { hLogo=parent.titre.hLogo; }
	if(parent.titre.lLogo) { lLogo=parent.titre.lLogo; }
	
	topLogo2 = hTitre-hLogo;
	largLogo2 = (((lMenu+lTitre)*0.90)/((lMenu+lTitre)/lMenu));
	leftLogo2 = ((lMenu+lTitre-lLogo)/2);

//alert("lTitre: "+lTitre+"\nhTitre: "+hTitre+"\nleftLogo "+leftLogo2+"\nlargLogo "+largLogo2);
}

function placeLogoTitre2(){
	positionLogo2();
	window.document.getElementById("tabFondLogo22").style.width =largLogo2;
	window.document.getElementById("Logo2").style.left =leftLogo2+1;
	window.document.getElementById("tabFondLogo21").style.left =lMenu-largLogo2+1;
}



//-->
</script>

</head>
<body>
<?php 
include('jsBody.php'); // tjs pr l'omnre 
?> 

<script language="JavaScript"> 
<!--

///////////////////////////////////////// logo centré //////////////////////////////////

//function iniLogo2(){ // attend 10ms pour avoir toutes les infos de titre
	positionLogo2();
	document.write('<table border=0 cellSpacing=0 cellPadding=0 name="tabFondLogo21" style="position: absolute; top: '+topLogo2+'px; left: '+(lMenu-largLogo2)+'px;">');
	document.write('<tr><td background="img/traitB.gif"><img src="img/espaceur.gif" name="tabFondLogo22" style="height: '+hLogo+'; width: '+largLogo2+'"></td></tr></table>');
	document.write('<img src="img/ActiveTechL.gif" name="Logo2" style="position: absolute; top: '+topLogo2+'px; left: '+leftLogo2+'px; height: '+hLogo+'; width:'+lLogo+';">');
	var logoTMP2 = setInterval('placeLogoTitre2()',100);
//}
//b=setTimeout("iniLogo2()",20);

//-->
</script>

</body>
</html>

je n'ai mis que celle du menu, pour ne pas surcharger le post,
& aussi car la souce est plus dure à lire (il y a l'ombre en plus) & plus dure à attraper, .. il faut attendre le blanc entre les 2 ombre pr être sur de pas cliquer sur l'image ...

d'autre part, ... il met aussi une erreur, dans un des :
window.document.getElementById("tabFondLogo21").style.left =lMenu-largLogo2+1;

mais je vois pas pourqoi ...

bref, .. si vous voyer où ça coince, pourquoi & surtout si vous avez de quoi le faire disparaitre, ... je suis preuneur ... :o)

merci d'avance à ceux qui se casseront la tête dessus, ...
car franchement, là ... j'ai chché mais je ne vois pas de solution ...

++blbg

3 réponses

blbg Messages postés 302 Statut Membre 10
 
à oui,...

il y a un beug de transparence, qd l'image du logo est sur l'ombre, ... mais ça c'est pas grave, ... suffit juste de mettre de la transparence dans la gif ...
0
blbg Messages postés 302 Statut Membre 10
 
personne ne voit comment corriger ce beug ??

car, je débute ds le dhmtl, et le javascript en général ...
0
blbg Messages postés 302 Statut Membre 10
 
eu une autre petite question qui pourrait simplifier la chose, ...

c'est possible d'avoir une div, ou autre au dessus des 2 frames & donc d'éviter la découpe ???
car dans ce cas ... ça serait cool ... plus de probléme ... (enfin normalement !)
0