Speciale tekens (b.v. &) weergeven

Status
Niet open voor verdere reacties.

Tijssen

Gebruiker
Lid geworden
31 aug 2009
Berichten
50
Goedemorgen,
Ik heb een flying letters script gevonden op Dynamic Drive en ik heb daar de volgende vraag over:

De tekst in de H2 ga ik vervangen door eigen tekst. Hoe kan ik hierin een & verwerken. Voorbeeldtekst: snel&goed

[JS]<h2 id="fly">Thanks for visiting$Dynamic Drive!</h2>

<script type="text/javascript">

//Flying Letters script- by Matthias (info@freejavascripts.f2s.com)
// Modified by Twey for efficiency and compatibility
//For this script and more, visit Dynamic Drive: http://www.dynamicdrive.com

//Configure message to display. Use "$" for linebreak
//By default, set to just grab the text from element with ID="fly"
message = document.getElementById("fly").innerHTML; // $ = taking a new line
distance = 50; // pixel(s)
speed = 200; // milliseconds

var txt="",
num=0,
num4=0,
flyofle="",
flyofwi="",
flyofto="",
fly=document.getElementById("fly");


function stfly() {
for(i=0;i != message.length;i++) {
if(message.charAt(i) != "$")
txt += "<span style='position:relative;visibility:hidden;' id='n"+i+"'>"+message.charAt(i)+"<\/span>";
else
txt += "<br>";
}
fly.innerHTML = txt;
txt = "";
flyofle = fly.offsetLeft;
flyofwi = fly.offsetWidth;
flyofto = fly.offsetTop;
fly2b();
}

function fly2b() {
if(num4 != message.length) {
if(message.charAt(num4) != "$") {
var then = document.getElementById("n" + num4);
then.style.left = flyofle - then.offsetLeft + flyofwi / 2;
then.style.top = flyofto - then.offsetTop + distance;
fly3(then.id, parseInt(then.style.left), parseInt(then.style.left) / 5, parseInt(then.style.top), parseInt(then.style.top) / 5);
}
num4++;
setTimeout("fly2b()", speed);
}
}

function fly3(target,lef2,num2,top2,num3) {
if((Math.floor(top2) != 0 && Math.floor(top2) != -1) || (Math.floor(lef2) != 0 && Math.floor(lef2) != -1)) {
if(lef2 >= 0)
lef2 -= num2;
else
lef2 += num2 * -1;
if(Math.floor(lef2) != -1) {
document.getElementById(target).style.visibility = "visible";
document.getElementById(target).style.left = Math.floor(lef2);
} else {
document.getElementById(target).style.visibility = "visible";
document.getElementById(target).style.left = Math.floor(lef2 + 1);
}
if(lef2 >= 0)
top2 -= num3
else
top2 += num3 * -1;
if(Math.floor(top2) != -1)
document.getElementById(target).style.top = Math.floor(top2);
else
document.getElementById(target).style.top = Math.floor(top2 + 1);
setTimeout("fly3('"+target+"',"+lef2+","+num2+","+top2+","+num3+")",50)
}
}

stfly()

</script>[/JS]
 
lccookie1992,
Dank voor jouw reactie. Ik ben bekend met entities. Wanneer ik die gebruik in de <h2>tekst wordt dit door het Javascript niet goed weergegeven. Het ligt dus volgens mij iets ingewikkelder dan het aanpassen van de html-code.

Luc
 
als dat tekentje niet werkt lijkt het inderdaad aan je java script te liggen :( helaas gaat mijn javascript kennis niet ver genoeg om deze vraag op te lossen
 
Probeer de characters eens 'unicode escaped' neer te zetten. Als dat niet werkt, maak je document utf-8 en zet in de source de characters.

Unicode ampersand: hier
-->
HTML:
<h3>dit is een test \u0026 nog een test</h3>

Overgens kan je het ook gewoon in het script neerzetten, net zoals dat de $ een nieuwe regel is.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan