Avatar billede bluegene Nybegynder
11. august 2003 - 20:34 Der er 16 kommentarer og
1 løsning

Hide/block spørgsmål

Jeg har lavet følgende, problemet er dog at lige meget hvad jeg gør vil min celle i midten ikke blive hidden - hvad kan jeg gøre anderledes for det kommer til at virke ?

<script>
function B_D_S(Nr,Bs,Ha,Tx) {

if (Bs == "") {
IStat = "none";
}
else{
IStat = "";
}

document.write("<Div style=\"display\:\'",IStat,"\'\"><tr><td height="+Ha+" ID=MI_Con>"+Tx+"</td></tr><tr><td ID=MI_L></td></tr></div>");
}

           
            </script>
<table Class=MI_T>
            <Script>
            //Test box 1
            BSpace();
            BLine();
            BHead("1","Test");
            BLine();
           
            //Content start test
            B_D_S("1","","100","wolla min fætter");

           

            </Script>
</table>
Avatar billede mm12010 Nybegynder
11. august 2003 - 20:42 #1
document.write("<Div style=\"display\:\'"+IStat+"\'\"><tr><td height="+Ha+" ID=MI_Con>"+Tx+"</td></tr><tr><td ID=MI_L></td></tr></div>");
Avatar billede bluegene Nybegynder
11. august 2003 - 20:45 #2
mm12010 > virker desværre ikke - lige testet :-/
Avatar billede bluegene Nybegynder
11. august 2003 - 20:48 #3
lige meget hvad jeg skriver i min anden variabel i min funktion "B_D_S()" vil boksen altid blive vist :-s, det skulle jo gerne være hidden hvis der ikke var angivet nogen værdi
Avatar billede bluegene Nybegynder
11. august 2003 - 20:52 #4
har fundet løsningen, <div>'s ikke midt i tabel :-s
Avatar billede mm12010 Nybegynder
11. august 2003 - 20:53 #5
document.write("<Div style=\"display:'"+IStat+"'\"><tr><td height='"+Ha+"' ID='MI_Con'>"+Tx+"</td></tr><tr><td ID='MI_L'></td></tr></div>");
Avatar billede roenving Novice
11. august 2003 - 23:08 #6
Sådan:

<script>
function B_D_S(Nr,Bs,Ha,Tx) {

if (Bs == "") {
IStat = "none";
}
else{
IStat = "";
}

document.write("<tr style=\42display:"+IStat+"\42><td height='"+Ha+"' ID=\42MI_Con\42 style='background:#556677'>"+Tx+"</td></tr><tr><td ID=\42MI_L\42></td></tr>");
}

           
            </script>
<table Class=MI_T>
            <Script>
            /*Test box 1
            BSpace();
            BLine();
            BHead("1","Test");
            BLine();
            */
            //Content start test
            B_D_S("1","block","100","wolla min fætter");

           

            </Script>
</table>
Avatar billede roenving Novice
11. august 2003 - 23:09 #7
Du kan _ikke_ bruge kommaer til konkatenering, jeg tror det var den som lavede ged i det ...

-- men indrømmet, så snart det virkede kom det her, så måske kan der komme andre fejl !-)
Avatar billede bluegene Nybegynder
12. august 2003 - 00:26 #8
roenving > Har lige ændret lidt imellem tiden...

<Script>
function BSpace() {document.write("<tr><td ID=MI_S></td></tr>");}
function BLine() {document.write("<tr><td ID=MI_L></td></tr>");}
function BHead(i,n) {document.write("<tr><td ID=MI_Hed>&nbsp\;"+n+"</td></tr>");}

function BTHead(i,n) {
document.write(
"<tr><td ID=MI_S></td></tr>"
+"<tr><td ID=MI_L></td></tr>"
+"<tr><td ID=MI_Hed>&nbsp\;"
+"<img src=\""+App_GfxPath+"Menus/arrow.down.png\">"
+""+n+"</td></tr>"
+"<tr><td ID=MI_L></td></tr>");
}


function B_D_S(Nr,Bs,Ha)
{
if (Bs == "") {
IStat = "none";
}
else{
IStat = "";
}

document.write(
"<tr style=\42display:"+IStat+"\42><td height='"+Ha+"' ID=\42MI_Con\42>"
+"<p ID=MI_Box>");

}
function B_D_E(){
document.write("</td></tr> <tr><td ID=\42MI_L\42></td></tr>");
}

</script>


<table Class=MI_T>
<Script>BTHead("1","Test");B_D_S("1","1","100");</script>
Test test test<br>
<script>B_D_E();</script>
</table>

Hvordan får jeg den til at skjule de dele som ligger i funktionen B_D_E() hvis eks det i B_D_S() er skjult ?
Avatar billede roenving Novice
12. august 2003 - 00:37 #9
Skal det være skjult samtidigt ?-)

-- og B_D_E udføres efter B_D_S ...

-- så er det absolut nemmest at lave en variabel med værdien:

var IStat="";
function B_D_S(Nr,Bs,Ha)
{
if (Bs == "") {
IStat = "none";
}
else{
IStat = "";
}

...

function B_D_E(){
document.write("</td></tr> <tr style='display:"+IStat+";'><td ID=\42MI_L\42></td></tr>");
}
Avatar billede roenving Novice
12. august 2003 - 00:39 #10
Du kan forøvrigt komprimere din kode betydeligt ved at bruge javascript shortcut til simple if-sætninger:

var IStat="";
function B_D_S(Nr,Bs,Ha){
IStat = (Bs == "")?"none":"";
}
Avatar billede bluegene Nybegynder
12. august 2003 - 02:46 #11
Ser ud til at virke, dog en ting mere hvis du har tid :) Jeg skal have en knap som kan vise / skjule boxen ved klik ;)
Avatar billede roenving Novice
12. august 2003 - 02:54 #12
Så skal den have en id, som vi kan bruge for at tage fat i den:

<tr id='MI_Row' style ...

-- og knappen:
<button onclick="st=document.getElementById('MI_Row').style.display;st=(st=='none')?'block':'none'">Vis/skjul box</button>
Avatar billede bluegene Nybegynder
12. august 2003 - 11:32 #13
Har lige prøver sidst nævnet *S*

- Dog sker der intet når jeg klikker på knappen :-/ har jeg gjort anything wrong ?

<Script>
function BSpace() {document.write("<tr><td ID=MI_S></td></tr>");}
function BLine() {document.write("<tr><td ID=MI_L></td></tr>");}
function BHead(i,n) {document.write("<tr><td ID=MI_Hed>&nbsp\;"+n+"</td></tr>");}

function BTHead(i,n) {
document.write(
"<tr><td ID=MI_S></td></tr>"
+"<tr><td ID=MI_L></td></tr>"
+"<tr><td ID=MI_Hed>&nbsp\;"
+"<img src=\42"+App_GfxPath+"Menus/arrow.down.png\42>"
+""+n+"</td></tr>"
+"<tr><td ID=MI_L></td></tr>");
}


var IStat="";
function B_D_S(Nr,Bs,Ha){
IStat = (Bs == "")?"none":"";

document.write(
"<tr id='MI_Row' style=\42display:"+IStat+"\42><td height='"+Ha+"' ID=\42MI_Con\42>"
+"<p ID=MI_Box>");

}

function B_D_E(){
document.write("</td></tr> <tr style='display:"+IStat+";' ><td ID=\42MI_L\42></td></tr>");
}
</script>


<table Class=MI_T>
<Script>BTHead("1","Test");B_D_S("1","1","100");</script>
noget første<br>noget andet
<script>B_D_E();</script>
</table>

<button onclick="st=document.getElementById('MI_Row').style.display;st=(st=='none')?'block':'none'">Vis/skjul box</button>
Avatar billede roenving Novice
12. august 2003 - 13:37 #14
Man kunne åbenbart ikke få fat i display-property'en som et objekt, så:

<button onclick="st=document.getElementById('MI_Row').style;st.display=(st.display=='none')?'block':'none'">Vis/skjul box</button>
Avatar billede bluegene Nybegynder
12. august 2003 - 15:10 #15
roenving > Det ser ud til at virke nu :)
Mange tak for hjælpsomheden med denne kode - er meget taknemmelig ;-)

- Ligger du lige et svar :)
Avatar billede roenving Novice
12. august 2003 - 15:40 #16
Velbekomme '-)
Avatar billede roenving Novice
12. august 2003 - 17:08 #17
-- og tak for points ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

Seneste spørgsmål Seneste aktivitet
I dag 16:10 Tomt felt i Start Af ErikHg i Windows
I går 23:00 Hyperlink til tekst Af Nanarsi i Excel
18/0121:03 Forlænge ringetid Af 1Dorte i Apps til Android
17/0117:38 Video ikoner Af Malm i Windows
17/0117:27 Video ikoner Af logbuilders i Windows