Menu javascript : probleme avec IE7

Menu javascript : probleme avec IE7 - HTML/CSS - Programmation

Marsh Posté le 01-10-2007 à 14:33:21    

Voilà j'ai pu constater que de nombreux menus en javascript buguent avec internet explorer 7. C'est également mon cas mais je n'ai pas pu trouver la solution dans les différents forums.
 
Le site que je gère a un menu en javascript (je ne maitrise pas du tout ce langage...), il fonctionne très bien avec ie6 et Firefox mais pas avec ie7.
 
Le problème : c'est un menu déroulant, lorsque j'approche la souris de l'intitulé de la rubrique sur laquelle je souhaite cliquer pour faire apparaître les sous rubriques, impossible de cliquer, il n'y a pas de lien. Si je place mon curseur juste à côté alors je peux cliquer, mais sur le texte c'est impossible.
 
Voici un bout de code, je ne sais pas si le problème se situe à ce niveau là :
 

Code :
  1. function collapseMenuBuild(){
  2. this.css = '#'+this.name+'Container {position: absolute; left:'+this.x+'px; top:'+this.y+'px; width:'+this.width+'px; height:300px; visibility: visible; z-index:10}\n'
  3. bg = (is.ns4) ? 'layer-background-color: #FFFFFF;' : 'background-color: #FFFFFF;'
  4. this.css += '#'+this.name+'Mask {position: absolute; left:0px; top:0px; width:'+this.width+'px; height:300px; visibility: visible; z-index:1005; '+bg+'}\n'
  5. this.div = '<div id="'+this.name+'Container">\n'
  6. for (var i=0;i<menutable.length;i++){
  7.  tst1 = (menutable[i][2]) ? menutable[i][2] : 1
  8.  tst2 = (menutable[i][2]) ? menutable[i][3] : null
  9.  navigation.add(i,menutable[i][1],tst1,tst2,menutable[i][0])
  10. }
  11. this.div += '<div id="'+this.name+'Mask"><table cellspacing=0 cellpadding=0 border=0><tr><td width='+this.width+' align="center" class="navnormal"><br><br>Loading...</td></tr></table></div>\n'
  12. this.div += '</div>\n'
  13. }
  14. function collapseMenuBlock(i,txt){
  15. tstW = this.width-this.indent*(this.items[i].path.length-1)
  16. str = '<table cellpadding=0 cellspacing=0 border=0 width='+tstW+'><tr><td width='+tstW+' colspan=2><img src="'+this.imgpath+'dot.gif" width='+tstW+' height=1></td></tr>'
  17. str += (!this.items[i].gothere) ? '<tr><td width=16 align=center valign=middle><img src="'+this.imgpath+this.imgmore+'" name="'+this.items[i].name+'Roll"></td>' : '<tr><td width=16><img src="'+this.imgpath+'transp.gif" width=16 height=1></td>'
  18. str += '<td width='+eval(tstW-16)+' class="navnormal">'+txt+'</td></tr><tr><td width='+tstW+' colspan=2><img src="'+this.imgpath+'dot.gif" width='+tstW+' height=1></td></tr></table>'
  19. return str
  20. }
  21. function collapseMenuAdd(value){
  22. i = parseInt(arguments[0])
  23. this.items[i] = new collapseItem(this.obj,i)
  24. this.items[i].path = arguments[4].split('x')
  25. for (var t=0;t<this.items[i].path.length; t++) this.items[i].path[t] = parseInt(this.items[i].path[t])
  26. if (this.items[i].path.length==1) this.rubs[this.items[i].path[0]] = i
  27. if (arguments[2]>0) {
  28.  this.items[i].childArray = new Array()
  29.  this.items[i].childSelect = -1
  30.  this.items[i].childheight = this.margin
  31. } else {
  32.  this.items[i].gothere = arguments[2]
  33.  this.items[i].tgt = arguments[3]
  34. }
  35. this.items[i].rubRef = null
  36. this.items[i].selected = false
  37. tstW = this.width-this.items[i].path.length*this.indent
  38. this.css += '#'+this.name+'CollapseItem'+i+' {position: absolute; left:'+eval((this.items[i].path.length-1)*this.indent)+'px; top:0px; width:'+tstW+'px; z-index:'+eval(1001-this.items[i].path.length)+'; visibility:hidden; background-color:#FFFFFF;}\n'
  39. this.css += '#'+this.name+'CollapseItem'+i+'Txt {position: absolute; left:0px; top:0px; width:'+tstW+'px;}\n'
  40. this.css += '#'+this.name+'CollapseItem'+i+'Get {position: absolute; left:0px; top:0px; width:'+tstW+'px;}\n'
  41. this.div += '<div id="'+this.name+'CollapseItem'+i+'">\n'
  42. this.div += '<div id="'+this.name+'CollapseItem'+i+'Txt">'+this.block(i,arguments[1])+'</div>\n'
  43. this.div += '<div id="'+this.name+'CollapseItem'+i+'Get">'
  44. this.div += ((is.ie55)||(is.ie6)|(is.ie7))? '<img src="images/transp.gif" width=141 height=50></div>\n' : '</div>\n'
  45. this.div += '</div>\n'
  46. }


 
Merci pour votre aide

Reply

Marsh Posté le 01-10-2007 à 14:33:21   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed