Div-Element wird nicht ausgeblendet

kurland

Mitglied
Guten Morgen allerseits,

Mit meiner Funtion «ausblendenBold()» versuche ich ein Div-Element auszublenden. Wenn ich die Funtion mit onclick über einen Button aufrufe es einwandfrei, bei einem Text-Link klappt es jedoch nicht.
Ich poste mal die komplette HTML-Seite und hoffe, dass mir jemand einen Tip geben kann.

Gruss Roli

Code:
<html>

<head>

<title>Grösse 7 Pixel</title></head>
<body>

<script type='text/javascript' language="JavaScript">

var NRB;

function einblendenBold(bo){
    NRB = bo;
    document.getElementById("Div4").style.visibility = "visible";
}

function Boldtrans(Gro){
    einblendenBold(NRB);
    document.getElementById('boldi' + NRB ).value = Gro;
}

function ausblendenBold(){
    document.getElementById("Div4").style.visibility = "hidden";
}

</script>
<div id="Div4" style="border:solid 1px black; position: absolute; left: 273px; top: 93px; width: 65px; height: 80px; visibility: hidden"> 
  <table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" width="42%" bgcolor="#FFFFFF" height="62">
    <tr onMouseOver="this.bgColor = '#cccccc'" onMouseOut="this.bgColor = '#e8e8e8'" bgcolor="#e8e8e8"> 
      <td width="100%" align="left" height="11" bordercolor="#FFFFFF"> 
        <p align="left"><a href="#" onClick="ausblendenBold();return Boldtrans('normal');">normal</a> 
      </td>
    </tr>
    <tr onMouseOver="this.bgColor = '#cccccc'" onMouseOut="this.bgColor = '#e8e8e8'" bgcolor="#e8e8e8"> 
      <td width="100%" align="left" height="2" bordercolor="#FFFFFF"><a href="#" onClick="ausblendenBold();return Boldtrans('bold');">bold</a></td>
    </tr>
    <tr onMouseOver="this.bgColor = '#cccccc'" onMouseOut="this.bgColor = '#e8e8e8'" bgcolor="#e8e8e8"> 
      <td width="100%" align="left" height="2" bordercolor="#FFFFFF"><a href="#" onClick="ausblendenBold();return Boldtrans('bolder');">bolder</a></td>
    </tr onMouseOver="this.bgColor = '#cccccc'" onMouseOut="this.bgColor = '#e8e8e8'" bgcolor="#e8e8e8">
    <tr onMouseOver="this.bgColor = '#cccccc'" onMouseOut="this.bgColor = '#e8e8e8'" bgcolor="#e8e8e8"> 
      <td width="100%" align="left" height="12" bordercolor="#FFFFFF"> 
        <div align="center"> 
          <input  type="Button" value="schliessen" onClick="ausblendenBold();" name="button3" size="30">
        </div>
      </td>
    </tr>
  </table>
</div>
<input id="boldi1" type="text" name="TTSS_new" size="7">
<input id="BtnBold" type=button value="" onClick="einblendenBold(1);" name="buttonBold"  style="width:100%;border:solid 1px black">
</body>

</html>
 
Hi,

kein Wunder:
Code:
<a href="#" onClick="ausblendenBold();return Boldtrans('bolder');">bolder</a>
Du rufst zuerst die Funktion "ausblendenBold()" auf, und direkt danach "Boldtrans('bolder')" - eine Funktion, die unter Anderem "einblendenBold(NRB)" aufruft. Somit wird das DIV "Div4" direkt nach dem Ausblenden wieder eingeblendet...

Gruß
 
Hallo Datic

Achja, Du hast recht. Dann müsste es logischerweise andersrum funktionieren, wenn ich bim klick auf den Link zuerst die Funktion Boldtrans('bolder') aufrufe und dann die Funktion ausblendenBold(). Etwa so:

Code:
<a href="#" onClick="return Boldtrans('normal'); ausblendenBold();">

Aber das funktioniert genau gleich wenig.

Gruss Roli
 
Lass mal das "return" weg - kann sein, dass "ausblendenBold" gar nicht mehr aufgerufen wird... "boldTrans" gibt sowieso nichts zurück; wozu also das "return"?

Das Ein- und sofortige wieder Ausblenden des DIVs halte ich auch nicht für unbedingt ratsam. Schreib lieber noch eine Funktion, die das selbe macht wie "boldTrans", ohne das DIV einzublenden.

Gruß
 
Zuletzt bearbeitet:
Ok, es hat geklappt. Habe lediglich das 'return' vor der Funktion Boldtrans enfernt .


Code:
<a href="#" onClick="Boldtrans('normal'); ausblendenBold();">

Danke, Gruss Roli
 

Neue Beiträge

Zurück