11548 sujets

JavaScript, DOM et API Web HTML5

bonjour à tous,
j'ai fait une petite fonction javascript qui habille les slot automatiquement. Le problème c'est que sous ie si je rafraichis plusieurs fois d'affilé la même page parfois elle s'affiche bien, parfois les bordures y sont mais le contenu a disparu. petite explication:
au chargement de la page un slot ressemble à ça :


<div class="bord content_menu" id='radio'>

contenu

</div>



une fois que la fonction s'est exécuter :


<div id="" class="bord parent_content_menu"><div class="bg_hg"/><div class="bg_h"/>

contenu

</div><div class="bg_bg"/><div class="bg_b"/><div class="bg_bd"/></div>



Cette fonction s'exécute avant l'appel au code de tracking google, c'est à dire avant la fin du chargement de la page ( à prioris ).
Je viens de réécrire cette fonction pour utiliser le DOM mais ça ne change rien.
Pour info voici la fonction :




function loadBorder(){

	var div_array = document.getElementsBySelector('div.bord').concat(document.getElementsBySelector('div.bord_top'));

	for(i=0;i<div_array.length;i++){

		if(div_array[i].innerHTML != '' && div_array[i]!=undefined){ 

		var bord = new Array();

		bord['bg_hg'] = document.createElement('div');

		bord['bg_h'] = document.createElement('div');

		bord['bg_hd'] = document.createElement('div');

		bord['bg_bg'] = document.createElement('div');

		bord['bg_b'] = document.createElement('div');

		bord['bg_bd'] = document.createElement('div');

		bord['bg_hg'].className = 'bg_hg';

		bord['bg_h'].className = 'bg_h';

		bord['bg_hd'].className = 'bg_hd';

		bord['bg_bg'].className = 'bg_bg';

		bord['bg_b'].className = 'bg_b';

		bord['bg_bd'].className = 'bg_bd';

		var classs = div_array[i].className.split(' ');

		var tmp_div = div_array[i].cloneNode(true);

		div_array[i].innerHTML = '';

		div_array[i].id = '';

		div_array[i].className = classs[0]+' parent_'+classs[1];

		classs.shift();

		tmp_div.className = classs.join(' ');

		var br_temp = document.createElement('br');

		br_temp.className = 'clean';

		var br_end = document.createElement('br');

		br_end.className = 'clean';

		div_array[i].appendChild(br_temp);

		div_array[i].appendChild(bord['bg_hg']);

		div_array[i].appendChild(bord['bg_h']);

		div_array[i].appendChild(bord['bg_hd']);

		div_array[i].appendChild(tmp_div);

		div_array[i].appendChild(bord['bg_bg']);

		div_array[i].appendChild(bord['bg_b']);

		div_array[i].appendChild(bord['bg_bd']);

		div_array[i].appendChild(br_end);

		}

	}

}



si vous voulez des infos supplémentaires ou un problème similaires n'hésitez pas.
merci[/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i][/i]
Modifié par ekobol (27 Nov 2008 - 17:45)
je suis en train de tester un epu dans tous les sens ce qui peut causer ce "bug".
Apparemment ce serai lié à une propriété css du div que j'habille, il est en folat:left et position:relative.
Si j'enlève la propriété position:relative ça à l'air de ne plus bugué mais du coup mon affichage est à revoir.
Si quelqu'un a une idée....