Avatar billede kasseper Nybegynder
08. maj 2001 - 15:11 Der er 26 kommentarer og
1 løsning

CSS : En spøjs nød at knække.....

Hej med jer.

Jeg har et mærkeligt problem.

Først skal jeg lige sige at dette project kun skal kunne køre på IE 5.0+
Så ikke noget med NS osv.

Jeg skal lave noget tekst der skal opføre sig som et link.

Altså skal min tekst kunne ændre farve, når musen køres hen over og tilbage igen,
når musen køre ud. Den skal kunne eksekvere noget JS kode, når der klikkes på den.

Det har jeg lavet og det er lavet sådan her :

¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
<HTML>
<HEAD>
<TITLE></TITLE>
    <style>
        DIV.items
        {
            FONT-WEIGHT: bold;
            FONT-SIZE: 12px;
            MARGIN-LEFT: 2px;
            CURSOR: default;
            COLOR: #000099;
            FONT-FAMILY: Arial;
            POSITION: relative;
            BACKGROUND-COLOR: white
        }
    </style>
   
</HEAD>
<BODY>

<div class=\"items\" id=\"item_1\">link1</div>

<SCRIPT>
        for (var i = 0; i < document.all.tags(\'DIV\').length; i++)
        {
            if (document.all.tags(\'DIV\')(i).id.indexOf(\"item\") > -1)
            {
        MakeLink(document.all.tags(\'DIV\')(i));
            }
        }

        function MakeLink(div_obj)
        {
                // Create events and active-cursor for images
                div_obj.style.cursor = \'default\';
                div_obj.onmouseover = Link_MusOver;
                div_obj.onmouseout = Link_MusOut;
                div_obj.onmouseup = Link_Klik;
        }

        function Link_MusOver()
        {
                        this.style.color=\'#FF3300\';
        }

        function Link_MusOut()
        {
                        this.style.color=\'#000099\';
        }
        function Link_Klik()
        {
                        submitme(this.innerHTML);
        }

    </SCRIPT>
</BODY>
</HTML>
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤

Det der ikke må ske er at man kan highlighte og klikke også efter at musen,
har forladt div taget, hvis altså at musen kører ud til højre..........

Hvorfor det, og hvordan skal det så laves....

Lad mig for en go ordens skyld sige at jeg ikke har scriptet liggende i min
html fil, men includet (defered) i toppen, men det var for at i bare kan copy paste
koden ind for at se fejlen.....

Tak

Kasseper
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:12 #1
hov : submitme(a) er en anden funktion jeg ikke har taget med....:)
Avatar billede olebole Juniormester
08. maj 2001 - 15:17 #2
<ole>
Din array-notation er i hvert fald forkert.....det hedder:
              if (document.all.tags(\'DIV\')[i].id.indexOf(\"item\") > -1)
...skal også rettes de andre steder :)
/mvh
</bole>
Avatar billede olebole Juniormester
08. maj 2001 - 15:25 #3
Iøvrigt er \'document.all\' gammel standard, som måske forsvinder med den snarlig forestående udskiftning til IE6. Med IE5 indførtes den nye, standardiserede DOM, som bl.a. kalder med \'document.getElementById\'.
Hvis du vil gøre din side fremtidssikret, bør du bruge den DOM. Altså:

  document.all.tags(\'DIV\').length
...hedder så:
  document.getElementsByTagName(\'DIV\').length

  document.all.tags(\'DIV\')[i].id.indexOf(\"item\")
...hedder:
  document.getElementsByTagName(\'DIV\')[i].id.indexOf(\"item\")

/mvh
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:31 #4
tak for det olebole, men det løser desvære ikke problemet....
Jeg afviser pt. dit svar, så folk ikke tror at problemet er løst...
Det kan være at der falder lidt af, når problemet er løst, for din hjælpsomhed.....:)
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:34 #5
Hvis man sætter en width på style tagget, så virker det. Men det kræver at man tilpasser sin width til alle sine \'items\'. Er der ikke en metode til at lave sin width \'auto\' ????
Altså sådan at width på det pågældene tag, tilpasser sig det der står i taget...!
Avatar billede netsrac Praktikant
08. maj 2001 - 15:39 #6
Hvis det skal virke som et link men ikke eksekvere noget hvorfor bruger du så ikke bare
<style>
A.tekstnotlink:hover { text-decoration: underline; }
A.tekstnotlink { text-decoration: none; }
</style>


<a href=\"java script:void(null)\" class=\"tekstnotlink\">
teskt
tekst
tekst
tekst
</a>

Eller har jeg misforstået det helt ?
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:44 #7
Fordi det er en del af en meget større sammenhæng, som bliver besværliggjort betydeligt af at bruge links....Jeg startede selv med at bruge <a>, men det bliver noget juks efter noget tid.
Avatar billede olebole Juniormester
08. maj 2001 - 15:50 #8
Kan du ikke sætte:
  width:10px;
  white-space:nobreak;
på dine div\'s...? Bare en utestet tanke :o)
/mvh
Avatar billede olebole Juniormester
08. maj 2001 - 15:52 #9
Shit...!

  white-space:nowrap;

...selvfølgelig...!!!  :oD
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:52 #10
problemet ses i særdeleshed, når man sætter noget background på Stylesheetet....
Så er der jo fyldt helt ud også efter div tagget....!
Avatar billede kasseper Nybegynder
08. maj 2001 - 15:59 #11
Ha Ha olebole, du kan dine IE hacks...:)
Laver du lige et svar ????
Ved du så også hvorfor det sker ??????
Avatar billede olebole Juniormester
08. maj 2001 - 16:01 #12
Prøv nu at gøre, som jeg skrev...det har jeg lige gjort - og laver lige et nyt svar. Det får vi vist brug for ;o)
/mvh
Avatar billede olebole Juniormester
08. maj 2001 - 16:01 #13
Nå.....vi krydsede vist  :oD
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:04 #14
Ja for det virker jo som det skal. MEN hvorfor....?
Du får selvfølgelig dine point....
Men jeg ville bare også gerne lære lidt :)
Avatar billede olebole Juniormester
08. maj 2001 - 16:04 #15
Man bør faktisk altid sætte dimensioner på sine lag - det er en ikke ualmindelig ting, der sker. I NS er det endnu værre  :)
Avatar billede olebole Juniormester
08. maj 2001 - 16:07 #16
I virkeligheden siger standarden også, at du altid skal sætte både forgrunds- og baggrundsfarve, hvis blot du sætter den ene - så deeeeeeet... :o)
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:09 #17
PIIIIIISSSSSS: Du havde altså ikke svaret endnu....
Det virker ikke i IE 5.0, først fra IE 5.5....!
Satans...!
Findes der en anden mulighed...!
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:21 #18
halllooooo olebole, er du der...? eller gider du kun når der er point involdveret...!
Jeg kom jo sådan set til at acceptere dit svar for hurtigt, for det virker altså IKKE....!
Avatar billede olebole Juniormester
08. maj 2001 - 16:21 #19
<span> i stedet for <div> og uden mit \'hack\'. Det løser dit problem  :o)
Avatar billede olebole Juniormester
08. maj 2001 - 16:22 #20
Bare rolig.....jeg har dig ved hånden og giver ikke slip lige med det samme  :o)
Avatar billede olebole Juniormester
08. maj 2001 - 16:24 #21
Hvis du stadig har probs, så meld dig lige på ICQ:
  #83576206
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:31 #22
hmmm. jeg har ikke ICQ...sorry.
Men det virker ikke der kommer ikke linebreaks. Plus at jeg ville meget gerne beholde mine divs, da jeg bruger div containeren i andre sammenhænge.
Kan jeg bruge span på samme måde som jeg bruger div, altså med innerText osv ?????
og hvordan undgår jeg så at bruge <br> som linebreak da det ikke helt passer ind i koden..!
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:35 #23
ja jeg kan se på MS website at den er ligeså god som div, men hvorfor kommer der så ikke linebreaks efter en liste af mine <span>\'s
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:41 #24
OK, ok, jeg tager til takke med <br> i enden på mine links....tak for hjælpen...
Avatar billede olebole Juniormester
08. maj 2001 - 16:41 #25
Linebreaks er en af de få forskelle, der er på <div> og <span>. Det kan vel ikke være svært at implementere?
Skal du lave det på anden måde, tror jeg, du skal ud i at loade teksten til hvert link ind i et hidden <span>, checke bredden af dette og så sætte et <div>\'s bredde og derefter flytte teksten over i <div>\'et - meeeeeeeen er det ikke overkill?
/mvh
Avatar billede kasseper Nybegynder
08. maj 2001 - 16:51 #26
jo, det er det nok, men jeg laver også bare lidt om på <br>\'s style, så nu ser det fint ud.
Tak for alt.....(i det gamle år)..:)
Kasper
Avatar billede olebole Juniormester
08. maj 2001 - 17:04 #27
Anytime  ;o)
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