Autor Zpráva
Wrent
Profil
Zdravím,

zrovna jsem na svém webu http://wow.herniweb.cz spustil vlastní redakční systém, ale potřeboval bych poradit s jedním Javascript + CSS problémem v Opeře.

Na webu mám vysunovací menu - po kliknutí na nadpis nabídky se menu buď vysune nebo zasune a podle toho se také změní. V IE, FF i Chrome to funguje, ale v Opeře se sice menu vysune i zasune, ale po zasunutí zůstane pod menu mezera o velikosti menu, takže pak celá tato funkce ztrácí smysl. Navíc je menu v Opeře posunuté o prá pixelů výše a žádný CSS hack se mi nepodařilo pro novou Operu najít.

Přikládám potřebné části kódu:

  function vysun(menu)
    {
    var dotaz = "vysun"+menu;
    var dotaz2 = "menu"+menu;
    var element = document.getElementById(dotaz);
    var element2 = document.getElementById(dotaz2);
    //skryje
    if (element.style.display == "block")
      {
      element.style.display = "none"; //skryje
      element2.style.backgroundImage="url(pic/design/menu/"+menu+"+.gif)"; //zmeni nazev nabidky na +
      var nazevCookie = menu;
      var obsahCookie = "none";
      var datum = new Date();
      datum.setTime(datum.getTime()+604800000);
      var platnostDo = datum.toGMTString();
      var cesta= ";path=/";
      var meCookie = nazevCookie + "=" + obsahCookie + ";expires=" + platnostDo + cesta;//vytvori cookie, podle ktereho se znovu otevrou nabidky... ted neresime
      document.cookie = meCookie; 
      }
    else
      //zobrazi
      {
      element.style.display = "block";
      element2.style.backgroundImage="url(pic/design/menu/"+menu+"-.gif)";
      var nazevCookie = menu;
      var obsahCookie = "block";
      var datum = new Date();
      datum.setTime(datum.getTime()+604800000);
      var platnostDo = datum.toGMTString();
      var cesta= ";path=/";
      var meCookie = nazevCookie + "=" + obsahCookie + ";expires=" + platnostDo + cesta;
      document.cookie = meCookie; 
      }
    }


a

<div class="vysouvani_tlacitko" onClick="return vysun('1');">
      <li id="menu1" class="menu1"></li>
    </div>
    <div class="vysouvani_menu" id="vysun1">
  	   <li><a class="liche" href="news-novinky/1/">Novinky</a></li>
	     <li><a class="sude" href="seznam-clanku/1/">Články</a></li>
 ...
 </div>
	  


ještě přikládám CSS daných prvků:

div.vysouvani_tlacitko {
    cursor: pointer;
  }

div.vysouvani_menu  {
  display: none;
  }
.menu1
 {
	color: #FFFFCC;
	background-color: #FFFFCC;
 	width: 160px;
 	float: left;
	text-decoration: none;
	font-size: 14px;
	font-family: Arial, Helvetica, sans-serif; 
	background-attachment: scroll;
	background-position: left;
	background-repeat: no-repeat;
}

.menu1 {
	background-image: url(pic/design/menu/1+.gif);
	height: 25px;
}


Děkuji za radu
Chamurappi
Profil
Reaguji na Wrenta:
Koukám, že už je vyřešeno. Problém jsem zkoumal, ale na nic jsem nepřišel. Jak jsi to opravil?
Wrent
Profil
No... zvalidoval jsem to, měl jsem hroznej bordel v kódu :D

Vaše odpověď

Mohlo by se hodit

Nezapomeňte na odkaz na živou ukázku problému.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: