Avatar billede kazz Nybegynder
14. maj 2002 - 11:52 Der er 5 kommentarer og
1 løsning

Aktive tekstlinks

Hmmm - hvordan får jeg mine tekstlinks til at blive ved med at være aktive indtil der trykkes på et andet tekstlink - ligesom med grafik links. Altså f.eks at definere en style som vedbliver at være aktiv indtil et af de andre tekstlinks aktiveres.

Hilsen Kazz
Avatar billede z42cool Nybegynder
14. maj 2002 - 11:54 #1
Hvad mener du med et "aktivt" tekstlink?
Avatar billede kazz Nybegynder
14. maj 2002 - 11:58 #2
Hmm ;)

Jeg mener at hvis jeg f.eks. har en style til når linket er aktivt og der er blevet trykket på linket - ja så ønsker jeg at denne style skal vedblive med at være den style som linket vises med indtil et andet link trykkes hvor den så skal give slip på denne style og bare bruge den som er default...

Kazz
Avatar billede jakoba Nybegynder
14. maj 2002 - 15:58 #3
Det du ønsker er at omdefinere betydningen af :active til at betyde :sidstklikket.

Med en anderledes betydning af ordet kan du ikke lægnere bruge de prædefinerede CSS ord til stylign af links, du kommer til at foretage den styling selv, fx med javascript.

mvh JakobA
Avatar billede jakoba Nybegynder
14. maj 2002 - 16:16 #4
fx:
<script type='text/javascript'> <!-- //

var normalOver = 'red';
var normalOut  = 'blue';
var klikketOver = 'green';
var klikketOut  = "black";

var sidstKlikket = null;

function doOnKlik( linkStyle ) {
    if ( linkStyle != sidstKlikket ) {
        if ( sidstKlikket != null ) {
            sidstKlikket.color = normalOut;
        }
        linkStyle.color = klikketOver;
        sidstKlikket = linkStyle;    // nu er det denne der er sidst klikket
    }
}; //end doOnKlik( Style Object );

function doOnOver( linkStyle ) {
    if ( linkStyle == sidstKlikket ) {
        linkStyle.color = klikketOver;
    } else {
        linkStyle.color = normalOver;
    }
}; //end doOnOver( Style Object );

function doOnOut( linkStyle ) {
    if ( linkStyle == sidstKlikket ) {
        linkStyle.color = klikketOut;
    } else {
        linkStyle.color = normalOut;
    }
}; //end doOnOut( Style Object );

// --> </script>


dit link bliver så:

<a href="destination.html"
  onclick="doOnKlik( this.style );"
  onmouseover="doOnOver( this.style );"
  onmouseout="doOnout( this.style );">klikketeks der ændres farve på.</a>

Di kan stadig have CSS a la

a:hover {
    text-decoration: underline;
}
a:active {
    text-decoration: ...osv

men fordi det nu er javascript der tager sog af fontfarven bør du ikke længere næven den i de style definitioner.
hvis du udvider programmet så det også ændrer text-decoratione, må du så heller ikke nævne den.

mvh JakobA
Avatar billede jakoba Nybegynder
14. maj 2002 - 16:17 #5
Ps. eksemplet ovenover vil ikke virke i NS4.
Avatar billede kazz Nybegynder
15. maj 2002 - 08:37 #6
Jeg takker ydmygest for hjælpen :)

Jakoba - I bow to you oh mighty one...

Hilsen Kazz
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