HTMLstr += "<table width='100%'

Ketaine Messages postés 2 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 18 janvier 2010 - 16 janv. 2010 à 22:00
Ketaine Messages postés 2 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 18 janvier 2010 - 18 janv. 2010 à 19:49
Bonjour
J'ai un problème
j'ai récupéré un code pour faire un menu Statique avec un deroulant des menus
je mets width 100% et ça me donne qu'une partie de la largeur loerque j'ouvre mon IE et j'ai environ 500 pixels de large pouvez vous m'aider ?

HTMLstr += "\n\";

merci

Voila le code en totalité

if (document.all) {n=0;ie=1;ns6=0;fShow=\"visible\";fHide=\"hidden\";}
if (document.getElementById&&!document.all) {n=0;ie=0;ns6=1;fShow=\"visible\";fHide=\"hidden\";}
if (document.layers) {n=1;ie=0;ns6=0;fShow=\"show\";fHide=\"hide\";}

opr6=ie&&navigator.userAgent.indexOf(\"Opera\")!=-1

window.onerror=new Function(\"return true\")
////////////////////////////////////////////////////////////////////////////
// Function Menu() //
////////////////////////////////////////////////////////////////////////////
rightX = 0;
function Menu()
{
this.bgColor = menucolor;
if (ie) this.menuFont = \"bold 12px Arial\"; //Fixations de police par défaut. Ne changer pas. Au lieu de cela, modifiez la feuille de style dans la page MenuStatique.htm
if (n) this.menuFont = \"bold 12px Verdana\";
this.fontColor = \"black\";

this.addItem = addItem;
this.addSubItem = addSubItem;
this.showMenu = showMenu;
this.mainPaneBorder = 0;
this.subMenuPaneBorder = 0;

this.subMenuPaneWidth = submenuwidth;

lastMenu = null;

rightY = 0;
leftY = 0;
leftX = 0;

HTMLstr = \"\";
HTMLstr += \"<!-- MENU PANE DECLARATION BEGINS -->\n\";
HTMLstr += \"\n\";
if (ie||ns6) HTMLstr += \"
\n\";
// if (n) HTMLstr += \"<layer name='MainTable'>\n\";
HTMLstr += \"<table width='100%' bgcolor='\"+this.bgColor+\"' border='\"+this.mainPaneBorder+\"'>\n\";
HTMLstr += \"----
\";
if (n) HTMLstr += \"";
HTMLstr += "<!-- MAIN MENU STARTS -->\n";
HTMLstr += "<!-- MAIN_MENU -->\n";
HTMLstr += "<!-- MAIN MENU ENDS -->\n";
if (n) HTMLstr += ", \";
HTMLstr += \"\n\";
HTMLstr += "
\n";
HTMLstr += "\n";
HTMLstr += "<!-- SUB MENU STARTS -->\n";
HTMLstr += "<!-- SUB_MENU -->\n";
HTMLstr += "<!-- SUB MENU ENDS -->\n";
HTMLstr += "\n";
if (ie||ns6) HTMLstr+= "
\n";
// if (n) HTMLstr+= "</layer>\n";
HTMLstr += "<!-- MENU PANE DECALARATION ENDS -->\n";
}

function addItem(idItem, text, hint, location, altLocation)
{
var Lookup = "<!-- ITEM "+idItem+" -->";
if (HTMLstr.indexOf(Lookup) != -1)
{
alert(idParent + " already exist");
return;
}
var MENUitem = "";
MENUitem += "\n<!-- ITEM "+idItem+" -->\n";
if (n)
{
MENUitem += "";
MENUitem += "";
MENUitem += "| ";
MENUitem += text;
MENUitem += "";
MENUitem += "";
}
if (ie||ns6)
{
MENUitem += "<td>\n";
MENUitem += "
\n";
MENUitem += "";
MENUitem += "| \n";
MENUitem += text;
MENUitem += "\n";
MENUitem += "
\n";
MENUitem += "</td>\n";
}
MENUitem += "<!-- END OF ITEM "+idItem+" -->\n\n";
MENUitem += "<!-- MAIN_MENU -->\n";

HTMLstr = HTMLstr.replace("<!-- MAIN_MENU -->\n", MENUitem);
}

function addSubItem(idParent, text, hint, location, linktarget)
{
var MENUitem = "";
Lookup = "<!-- ITEM "+idParent+" -->";
if (HTMLstr.indexOf(Lookup) == -1)
{
alert(idParent + " not found");
return;
}
Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->";
if (HTMLstr.indexOf(Lookup) == -1)
{
if (n)
{
MENUitem += "\n";
MENUitem += "<layer id='"+idParent+"submenu' visibility=hide bgcolor='"+this.bgColor+"'>\n";
MENUitem += "\n\";
MENUitem += \"<!-- NEXT ITEM OF SUB MENU \"+ idParent +\" -->\n\";
MENUitem += "
\n";
MENUitem += "</layer>\n";
MENUitem += "\n";
}
if (ie||ns6)
{
MENUitem += "\n";
MENUitem += "
\n";
MENUitem += "\n\";
MENUitem += \"<!-- NEXT ITEM OF SUB MENU \"+ idParent +\" -->\n\";
MENUitem += "
\n";
MENUitem += "
\n";
MENUitem += "\n";
}
MENUitem += "<!-- SUB_MENU -->\n";
HTMLstr = HTMLstr.replace("<!-- SUB_MENU -->\n", MENUitem);
}

Lookup = "<!-- NEXT ITEM OF SUB MENU "+ idParent +" -->\n";
if (n) MENUitem = "<tr><td>"+text+"
</td></tr>\n";
if (ie||ns6) MENUitem = "<tr><td>"+text+"
</td></tr>\n";
MENUitem += Lookup;
HTMLstr = HTMLstr.replace(Lookup, MENUitem);

}

function showMenu()
{
document.writeln(HTMLstr);
}

////////////////////////////////////////////////////////////////////////////
// Private declaration
function displaySubMenu(idMainMenu)
{
var menu;
var submenu;
if (n)
{
submenu = document.layers[idMainMenu+"submenu"];
if (lastMenu != null && lastMenu != submenu) hideAll();
submenu.left = document.layers[idMainMenu].pageX;
submenu.top = document.layers[idMainMenu].pageY + 25;
submenu.visibility = fShow;

leftX = document.layers[idMainMenu+"submenu"].left;
rightX = leftX + document.layers[idMainMenu+"submenu"].clip.width;
leftY = document.layers[idMainMenu+"submenu"].top+
document.layers[idMainMenu+"submenu"].clip.height;
rightY = leftY;
} else if (ie||ns6) {
//alert(document.getElementById(idMainMenu+"submenu").id)
menu = ie? eval(idMainMenu) : document.getElementById(idMainMenu);
submenu = ie? eval(idMainMenu+"submenu.style") : document.getElementById(idMainMenu+"submenu").style;
submenu.left = calculateSumOffset(menu, 'offsetLeft');
// submenu.top = calculateSumOffset(menu, 'offsetTop') + 30;
submenu.top = menu.style.top+23;
submenu.visibility = fShow;
if (lastMenu != null && lastMenu != submenu) hideAll();

leftX = ie? document.all[idMainMenu+"submenu"].style.posLeft : parseInt(document.getElementById(idMainMenu+"submenu").style.left);
rightX = ie? leftX + document.all[idMainMenu+"submenu"].offsetWidth : leftX+parseInt(document.getElementById(idMainMenu+"submenu").offsetWidth);

leftY = ie? document.all[idMainMenu+"submenu"].style.posTop+
document.all[idMainMenu+"submenu"].offsetHeight : parseInt(document.getElementById(idMainMenu+"submenu").style.top)+parseInt(document.getElementById(idMainMenu+"submenu").offsetHeight);
rightY = leftY;
}
lastMenu = submenu;
}

function hideAll()
{
if (lastMenu !null) {lastMenu.visibility fHide;lastMenu.left = 0;}
}

function calculateSumOffset(idItem, offsetName)
{
var totalOffset = 0;
var item = eval('idItem');
do
{
totalOffset += eval('item.'+offsetName);
item = eval('item.offsetParent');
} while (item != null);
return totalOffset;
}

function updateIt(e)
{
if (ie&&!opr6)
{
var x = window.event.clientX;
var y = window.event.clientY;

if (x > rightX || x < leftX) hideAll();
else if (y > rightY) hideAll();
}
if (n||ns6)
{
var x = e.pageX;
var y = e.pageY;

if (x > rightX || x < leftX) hideAll();
else if (y > rightY) hideAll();
}
}

function operahide(){
if (opr6){
if (!MainTable.contains(event.toElement))
hideAll()
}
}

if (ie||ns6)
{
document.body.onclick=hideAll;
document.body.onscroll=hideAll;
document.body.onmousemove=updateIt;
}
if (document.layers)
{
window.captureEvents(Event.MOUSEMOVE);
window.captureEvents(Event.CLICK);
window.onmousemove=updateIt;
window.onclick=hideAll;
}

2 réponses

PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
17 janv. 2010 à 08:39
Bonjour,
En premier je pense qu'il est préférable que tu choisisses un script plus actuel, celui ci date un peu, à preuve les appels à document.layers.
A choisir aussi le bon DOCTYPE pour le document...
Ensuite il te faudra affiner au travers d'une feuille de style.
Plein de bon exemple sur javascript.fr, ou d'autre...
;O)
0
Ketaine Messages postés 2 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 18 janvier 2010
18 janv. 2010 à 19:49
je vous remerci pour votre réponse je vais suivre votre condeil
0
Rejoignez-nous