[HTML/JS] Element niet tonen zonder JavaScript *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
Voor een website waar ik nu aan werk heb ik het volgende nodig:

Als javascript aan staat moet hij een linkje tonen als het uistaat moet hij een input-knop tonen. Dit laatste is natuurlijk makkelijk op te lossen met <noscript>.

Als JavaScript uitstaat moet hij echter alleen de input-knop tonen, en niet de link. Iemand enig idee hoe ik dit voor elkaar krijg?

Mijn Google-search leverde in ieder geval niks op.

Acties:
  • 0 Henk 'm!

  • disjfa
  • Registratie: April 2001
  • Laatst online: 03-07 14:47

disjfa

be

Link tonen met javascript :? Standaart uit dus.

disjfa - disj·fa (meneer)
disjfa.nl


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Zet op je link een style display: none. En zet met JS de style op display inline bij onload. Voila.

Even uit de losse pols:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Untitled</title>
    <style type="text/css">
        a.js { display: none; }
    </style>
</head>

<body>
    <form name="foo" method="post" action="/">
        <input type="submit" value="knopje"> <a href="#" class="js">Linkje</a>  
    </form>
    <script type="text/javascript">
        var elems = document.getElementsByTagName('a');
        for (var i=0;i<elems.length;i++)
            if (elems[i].className=='js')
                elems[i].style.display='inline';
    </script>
</body>
</html>

[ Voor 103% gewijzigd door RobIII op 30-06-2009 11:34 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
RobIII schreef op dinsdag 30 juni 2009 @ 11:27:
Zet op je link een style display: none. En zet met JS de style op display inline bij onload. Voila.
Waarom kom ik daar nou zelf niet op |:(

Bedankt voor de tip en het scritp!

Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 19-09 22:18

chem

Reist de wereld rond

RobIII schreef op dinsdag 30 juni 2009 @ 11:27:
Zet op je link een style display: none. En zet met JS de style op display inline bij onload. Voila.

Even uit de losse pols:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>Untitled</title>
    <style type="text/css">
        a.js { display: none; }
    </style>
</head>

<body>
    <form name="foo" method="post" action="/">
        <input type="submit" value="knopje"> <a href="#" class="js">Linkje</a>  
    </form>
    <script type="text/javascript">
        var elems = document.getElementsByTagName('a');
        for (var i=0;i<elems.length;i++)
            if (elems[i].className=='js')
                elems[i].style.display='inline';
    </script>
</body>
</html>
Of;
Cascading Stylesheet:
1
2
3
4
5
6
#foo .js {
    display: none;
}
body.javascript #foo .js {
    display: inline;
}

en dan
JavaScript:
1
document.body.className = 'javascript';


Da's sneller dan alle elementen afstruinen :)

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 16-09 15:42

Sebazzz

3dp

Iets met Rome en meerdere wegen enzo ;)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
@chem: dat is inderdaad korter. Heb nu jouw manier gebruikt, alleen dan andere classnamen.

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
chem schreef op dinsdag 30 juni 2009 @ 11:58:
[...]

Of;
Cascading Stylesheet:
1
2
3
4
5
6
#foo .js {
    display: none;
}
body.javascript #foo .js {
    display: inline;
}

en dan
JavaScript:
1
document.body.className = 'javascript';


Da's sneller dan alle elementen afstruinen :)
Oeh; die's creatief :D

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10
Bij mij staat het er nu zo:

JavaScript:
1
2
3
function jsStatus() {
    document.body.className = 'js-enabled';
}


HTML:
1
2
3
<body onload="jsStatus();">
    <a href="#" class="js-submit">Link</a>
</body>


Cascading Stylesheet:
1
2
.js-submit {display:none;}
.js-enabled .js-submit {display:inline;}


Bedankt allemaal voor de reacties O+
Pagina: 1