plan_B: Javascript-Problem. Hintergrund eines li-Elements fixieren

Beitrag lesen

Hallo,

habe es selber hinbekommen. Ich änder einfach die id des Elements mit:

document.getElementById('rollover').id='rollover_off';

Vllt. keine elegante Lösung, funktioniert aber ;-)

... erhälst du beim 2. Click auf das rollover-li keinen js-Fehler?
document.getElementById('rollover') ergibt dann doch undefined?

ich würde ein Flag definieren und am zugehörigen <ul>-Element festmachen, etwa so:

  
<ul>  
<li style="cursor:pointer"  
onmouseover="changeBackground(this, '#FFFFFF')"  
onmouseout ="changeBackground(this, '#EDEDED')"  
onClick="openPopUpImageType(); fix_li_bg(this);"> Open </li>  
<li>... </li>  
</ul>  

  
function fix_li_bg(li_elem) {  
 var ul=li_elem.parentNode;  
 if ( ul.nodeName != "UL" ) {  
  alert("erwartet wird ein UL-Element, es ist aber: "+ul.nodeName);  
  }  
 ul.fix_flag = true;  
 }  
  
function changeBackground(li_elem,farbe) {  
 var ul=li_elem.parentNode;  
 if ( !ul.fix_flag) {  
  // fix_flag ist false oder noch nicht definiert  
  li_elem.style.backgroundColor=farbe;  
  }  
 }  

Gruß plan_B

--
     *®*´¯`·.¸¸.·