Avatar billede 4b4 Nybegynder
21. maj 2004 - 17:44 Der er 15 kommentarer og
1 løsning

CSS i flash

Hvordan pokker laver jeg en mouseover effekt på alle <a href i et dynamisk textfelt? Texten som loades ind er fra en aldm. txt fil.
Avatar billede kragekjaer Praktikant
21. maj 2004 - 18:39 #1
a:hover {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 24px;
    font-weight: bold;
    color: #cccccc;
}
Avatar billede thulstrup Nybegynder
21. maj 2004 - 18:49 #2
I dit stylesheet:
p {
  color: #000000;
  font-family: Arial,Helvetica,sans-serif;
  font-size: 12px;
  display: inline;
}
a:link {
  color: #FF00FF;
  text-decoration: underline;
}
a:hover{
  color: #999999;
  text-decoration: none;
}


I Flash:
var myCSS = new TextField.StyleSheet();
var cssURL = "style.css";
var tekst= "<p>Her er et <a href='http://www.link.dk/'>link</a>.</p>";
myCSS.load(cssURL);
myCSS.onLoad = function(success) {
        if (success) {
                myText.styleSheet = myCSS;
                myText.text = tekst;
        }
};
Avatar billede 4b4 Nybegynder
22. maj 2004 - 12:13 #3
Virker det i MX (som jeg bruger) ?
Avatar billede kragekjaer Praktikant
22. maj 2004 - 12:30 #4
mx 2004, ingen muligheder for css i mx, så det kan du glemme
Avatar billede 4b4 Nybegynder
22. maj 2004 - 12:40 #5
ja det er jo helt til pis så! Men jeg er næsten sikker på at jeg har set at <a href> er blevet vist med en anden farve i dynamiske textfelter .. også i mx!
Avatar billede nikolajdu Nybegynder
22. maj 2004 - 12:45 #6
<a href="side.html"><font color="#ff0000">hej hej</font></a>

Eller

<font color="#ff0000"><a href="side.html">hej hej</a></font>
Avatar billede 4b4 Nybegynder
22. maj 2004 - 13:21 #7
ja nemlig.. men kan man ikke gøre så det automatisk sker ved et link?
Avatar billede nikolajdu Nybegynder
22. maj 2004 - 14:52 #8
både og.

Du kan hvis du tjekker din streng for om der findes et link indsætte font-tagget, men det er noget omstændeligt.
Avatar billede 4b4 Nybegynder
22. maj 2004 - 18:48 #9
ah ok.. ingen løsning så. Kragekjaer kom dog med en løsning, som virker, og han kan jo ikke vide at jeg bruger mx så derfor point.
Avatar billede thulstrup Nybegynder
22. maj 2004 - 18:49 #10
Jep, det er pænt omstændigt, så det er rart at der er nogle der gider lave det for os :-)

String.prototype.htmlSpaceFix = function() {
    var fix = this;
    fix = fix.split("> ");
    fix = fix.join(">&#32;");
    return fix;
};
String.prototype.hotLink = function(linkColor) {
    var input = this;
    input = " &#32; "+input+" ";
    var tex = input.split(" http:");
    for (var k = 0; k<tex.length; k++) {
        if ((tex[k].substring(0, 5) != "//www") && (tex[k].substring(0, 5) != " ")) {
            if (tex[k].indexOf(" ")) {
                var index = tex[k].indexOf(" ");
                tex[k] = " <u><font color='"+linkColor+"'><a href='http:"+tex[k].substring(0, tex[k].indexOf(" "))+"'>"+"http:"+tex[k].substring(0, tex[k].indexOf(" "))+"</a></font></u>"+tex[k].substring(index);
            }
        }
    }
    tex = tex.join("");
    tex += " ";
    tex = tex.split("//www");
    for (var i = 0; i<tex.length; i++) {
        if (tex[i].substring(0, 1) == ".") {
            if (tex[i].indexOf(" ")) {
                var index = tex[i].indexOf(" ");
                tex[i] = " <u><font color='"+linkColor+"'><a href='http://www"+tex[i].substring(0, tex[i].indexOf(" "))+"'>"+"http://www"+tex[i].substring(0, tex[i].indexOf(" "))+"</a></font></u>"+tex[i].substring(index);
            }
        }
    }
    tex = tex.join("");
    tex += " ";
    tex = tex.split(" www.");
    tex = tex.join(" www.|");
    tex = tex.split(" www.");
    for (var j = 0; j<tex.length; j++) {
        if (tex[j].substring(0, 1) == "|") {
            if (tex[j].indexOf(" ")) {
                var index = tex[j].indexOf(" ");
                tex[j] = "<font color='"+linkColor+"'><a href='http://www."+tex[j].substring(1, tex[j].indexOf(" "))+"'>"+" <u>www."+tex[j].substring(1, tex[j].indexOf(" "))+"</u>"+"</a></font>"+tex[j].substring(index);
            }
        }
    }
    tex = tex.join("");
    tex = tex.htmlSpaceFix();
    tex = tex.substring(7);
    return tex;
};
input = "http http://www.pixelplay.org this is a link: http://www.pixelplay.org and these are consecutive links: http://www.yahoo.com, www.were-here.com maybetry and fool it with broken one: http:/www.pixelplay.com and maybe another one: http://9.22.30.101 and throw in a random http and a www and a . and a another : and a  ://";
tekst_txt.htmlText = input.hotLink("#990000");
Avatar billede nikolajdu Nybegynder
22. maj 2004 - 20:09 #11
Jo det er rart at nogle orker at lave det :))
Avatar billede 4b4 Nybegynder
22. maj 2004 - 20:19 #12
Kan ikek lige helt overskue det..
1) linkColor = "farve";
2) Hvad for et textfield refererer det til(og hvor sættes dette ind?)
Avatar billede kragekjaer Praktikant
22. maj 2004 - 21:43 #13
du skriver jo mouseover i link, og det kan ikke lade sig gøre......senere snakker du bare om link farve.....
Avatar billede thulstrup Nybegynder
23. maj 2004 - 10:47 #14
4b4 >> du kan se det ovenstående script i aktion her:
http://www.overdose.dk/eksperten/spm500935/

og hente .fla'en her:
http://www.overdose.dk/eksperten/spm500935/spm500935.fla
Avatar billede 4b4 Nybegynder
23. maj 2004 - 10:49 #15
fantastisk :)
Avatar billede thulstrup Nybegynder
23. maj 2004 - 10:53 #16
Du behøver egentlig kun at tænke på 2 ting:

1) 'input' som er den tekststreng du gerne vil have formateret.
2) tekst_txt.htmlText = input.hotLink("#990000") som blot betyder at du gerne vil have proppet teksten fra din 'input' streng ind i tekstfelt 'tekst_txt' og alle links skal have farven #990000.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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