Avatar billede herlevsen Nybegynder
12. september 2007 - 19:25 Der er 13 kommentarer

marquee i javascript - valid kode

Hej. Jeg har sat mig for at min side skal være gyldig ifølge w3 reglerne, og det kunne også godt lade sig gøre, med undtagelse af min marquee tekst. Så jeg prøvede at javascript, men efter jeg har kørt det har den brokket sig endnu mere. Desuden kommer der også et uønsket tegn i toppen af siden, med det script.
www.danseplaneten.dk
Ville være dejligt hvis en kunne kigge på sourcekoden, og gennemskue problemet.

På forhånd tak
Avatar billede erikjacobsen Ekspert
12. september 2007 - 19:29 #1
Du har vel selv skrevet det regn - det fjerner du bare igen.

Men hvorfor ikke bare beholder din marquee? Når resten validerer, så er det ok at have en undtagelse, som ikke gør. Den gør som sådan ingen skade  -  ud over at mange mennesker, mig inklusive, hader tekst der bevæger sig.
Avatar billede herlevsen Nybegynder
12. september 2007 - 19:42 #2
Jamen så går browseren jo i quirks mode? Right? Og så er resten af koden jo sådan set ligegyldig, om den er gyldig.

Tegnet har jeg ikke selv skrevet. Jeg bruger et cms system med templates, så den kode du ser der er ikke den der står i selve templatet. Kan lige poste templatet:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da">
<head>
<title>{sitename} - {title}</title>
{metadata}
{stylesheet}
</head>
<body bgcolor="#a00303">

<table width="932" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="17" rowspan="4"><img src="images/bar_left_top.jpg" width="17" height="234" alt="" /></td>
    <td style="height: 146px;"><img src="images/banner.jpg" width="898" height="146" alt="" /></td>
    <td width="17" rowspan="4"><img src="images/bar_right_top.jpg" width="17" height="234" alt="" /></td>
  </tr>
  <tr>
    <td align="right" style="height: 31px; background-image: url('images/bar1_bg.jpg')"><div id="topbar">{include_php file='bla/bla.php'}</div></td>
  </tr>
  <tr>
    <td><a href="index.php?page=Forside"><img src="images/knap_nyheder.jpg" width="96" height="31" alt="" /></a><a href="index.php?page=Instruktorer"><img src="images/knap_instruktoerer.jpg" width="118" height="31" alt="" /></a><a href="index.php?page=Oplysninger"><img src="images/knap_oplysninger.jpg" width="108" height="31" alt="" /></a><a href="index.php?page=Danseformer"><img src="images/knap_danseformer.jpg" width="116" height="31" alt="" /></a><a href="index.php?page=Danseprogram"><img src="images/knap_danseprogram.jpg" width="128" height="31" alt="" /></a><a href="index.php?page=Priser"><img src="images/knap_priser.jpg" width="59" height="31" alt="" /></a><a href="index.php?page=Galleri"><img src="images/knap_galleri.jpg" width="71" height="31" alt="" /></a><a href="index.php?page=Tilmelding"><img src="images/knap_tilmelding.jpg" width="99" height="31" alt="" /></a><a href="index.php?page=Booking"><img src="images/knap_booking.jpg" width="103" height="31" alt="" /></a></td>
  </tr>
  <tr>€
    <td height="26" style="background-image: url('images/bar1_bg.jpg')">{literal}
<script language="JavaScript" type="text/javascript">

//Specify the marquee's width (in pixels)
var marqueewidth="898px"
//Specify the marquee's height
var marqueeheight="26px"
//Specify the marquee's marquee speed (larger is faster 1-10)
var marqueespeed=1.5
//configure background color:
var marqueebgcolor="#400809"
//Pause marquee onMousever (0=no. 1=yes)?
var pauseit=1

//Specify the marquee's content (don't delete <nobr> tag)
//Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):

var marqueecontent='<nobr><p>Danseplaneten.dk</p></nobr>'


////NO NEED TO EDIT BELOW THIS LINE////////////
marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
var copyspeed=marqueespeed
var pausespeed=(pauseit==0)? copyspeed: 0
var iedom=document.all||document.getElementById
if (iedom)
document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+marqueecontent+'</span>')
var actualwidth=''
var cross_marquee, ns_marquee

function populate(){
if (iedom){
cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"
cross_marquee.innerHTML=marqueecontent
actualwidth=document.all? temp.offsetWidth : document.getElementById("temp").offsetWidth
}
else if (document.layers){
ns_marquee=document.ns_marquee.document.ns_marquee2
ns_marquee.left=parseInt(marqueewidth)+8
ns_marquee.document.write(marqueecontent)
ns_marquee.document.close()
actualwidth=ns_marquee.document.width
}
lefttime=setInterval("scrollmarquee()",20)
}
window.onload=populate

function scrollmarquee(){
if (iedom){
if (parseInt(cross_marquee.style.left)>(actualwidth*(-1)+8))
cross_marquee.style.left=parseInt(cross_marquee.style.left)-copyspeed+"px"
else
cross_marquee.style.left=parseInt(marqueewidth)+8+"px"

}
else if (document.layers){
if (ns_marquee.left>(actualwidth*(-1)+8))
ns_marquee.left-=copyspeed
else
ns_marquee.left=parseInt(marqueewidth)+8
}
}

if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden">')
write('<div style="position:absolute;width:'+marqueewidth+';height:'+marqueeheight+';background-color:'+marqueebgcolor+'" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
write('<div id="iemarquee" style="position:absolute;left:0px;top:0px"></div>')
write('</div></div>')
}
else if (document.layers){
write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee" bgColor='+marqueebgcolor+'>')
write('<layer name="ns_marquee2" left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
write('</ilayer>')
}
document.write('</td></table>')
}
}
</script>
{/literal}
</td>
  </tr>
</table>
<table width="932" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="17" style="background-image: url('images/bar_left_mid.jpg')">&nbsp;</td>
    <td valign="top" width="703" bgcolor="#6b0101">
<div id="content">
<h2>{title}</h2>
{content}
</div></td>
    <td style="background-image: url('images/nav_bg.jpg')" valign="top" width="195">
    <table width="100%" cellpadding="0" cellspacing="0" >
      <tr>
        <td><img src="images/nav_instruktoerer.jpg" width="195" height="26" alt="" /></td>
      </tr>
      <tr>
        <td style="background-image: url('images/nav_bg.jpg')"><div align="center"><br />
          <table cellspacing="5">
            <tr>
              <td><div align="center"><img src="images/Amir_thumbnail.jpg" width="70" height="70" alt="" /></div></td>
              <td><div align="center"><img src="images/Tina_thumbnail.jpg" width="70" height="70" alt="" /></div></td>
            </tr>
            <tr>
              <td><div align="center"><img src="images/Anette_thumbnail.jpg" width="70" height="70" alt="" /></div></td>
              <td><div align="center"><img src="images/Paulo_thumbnail.jpg" width="70" height="70" alt="" /></div></td>
            </tr>
            <tr>
              <td><img src="images/Vanessa_thumbnail.jpg" width="70" height="70" alt="" /></td>
              <td><img src="images/Sara_thumbnail.jpg" width="70" height="70" alt="" /></td>
            </tr>
            <tr>
            <td><img src="images/Thea_thumbnail.jpg" width="70" height="70" alt="" /></td>
            <td></td>
            </tr>
          </table>
          <br />
        </div></td>
      </tr>
      <tr>
        <td><img src="images/nav_kontakt.jpg" width="195" height="26" alt="" /></td>
      </tr>
      <tr>
        <td valign="top" style="background-image: url('images/nav_bg.jpg')"><p class="contentmenu"><strong><br />
          Amir Adam Falaki<br />
          Mobil: 26 74 74 00<br />
          Mail:<br />
          amir@danseplaneten.dk</strong></p>
          <p class="contentmenu"><strong>Danseplaneten<br />
            Hellerupvej 11<br />
            2900 Hellerup</strong><br />
            <br />
            Har du sp&oslash;rgsm&aring;l<br />
            vedr. booking af<br />
            danseshows,<br />
            modeshows,<br />
            workshops,<br />
            team biulding,<br />
            dansehold, priser eller<br />
            koreografi, er du<br />
            mere end velkommen<br />
            til at kontakte mig<br />
          og h&oslash;re n&aelig;rmere.</p></td>
      </tr>
    </table></td>
    <td width="17" style="background-image: url('images/bar_right_mid.jpg')">&nbsp;</td>
  </tr>
</table>
<table width="932" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td width="17" style="height: 20px;"><img src="images/footer_left.jpg" width="17" height="20" alt="" /></td>
    <td width="703" align="center" style="background-image: url('images/footer_bg.jpg')">{custom_copyright}</td>
    <td width="195"><img src="images/footer_nav.jpg" width="195" height="20" alt="" /></td>
    <td width="17"><img src="images/footer_right.jpg" width="17" height="20" alt="" /></td>
  </tr>
</table>

</body>
</html>
Avatar billede erikjacobsen Ekspert
12. september 2007 - 19:46 #3
Nutidens browsere kan nok slet ikke lide XHTML i det hele taget. Nogen speciel grund til at vælge det?

"Vis kilde", så kan du se det sjove tegn. Og så må du selv finde hvor det er i dit system.
Avatar billede erikjacobsen Ekspert
12. september 2007 - 19:48 #4
Og hvis du endelig vil vælge XHTML, så skal du jo vide, at det er totalt forbudt at bruge document.write.
Avatar billede herlevsen Nybegynder
12. september 2007 - 20:24 #5
Jamen tegnet står jo ikke i mit template så det er et der bliver genereret af det javascript. Hmm okay, nej har ikke nogen bestemt grund til at bruge xhtml, andet end det var hvad jeg læste mig til var det nye html på w3schools. Hvilken doctype ville du så anbefale?
Avatar billede olebole Juniormester
12. september 2007 - 21:01 #6
<ole>

"Jamen tegnet står jo ikke i mit template så det er et der bliver genereret af det javascript" ... ehhhhhh ... nå!  :)
  </tr>
  <tr>€
    <td height="26" style="background-image: url('images/bar1_bg.jpg')">{literal}
<script language="JavaScript" type="text/javascript">

w3schools.com er langtfra særlig troværdigt. Der sker såmænd ikke så meget ved at skrive XHTML 1.0 Transitional, da kode i den standard slet ikke kan parses som XHTML - men altid vil blive parsed som HTML. Du kan ligeså godt skrive HTML 4.01 Strict - og dét vil endda give mening  ;o)

At skrive valid XHTML kræver meget mere, end du får indtryk af ved at læse w3schools' såkaldte 'tutorials'. Således skal der scriptes helt anderledes. Der skal scriptes mod XML-DOM'en, hvilket gør store dele af dit script ubrugeligt under XHTML.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">
<html>
... osv ... osv ...

- er mit bedste bud på et alternativ  :)

/mvh
</bole>
Avatar billede herlevsen Nybegynder
12. september 2007 - 21:14 #7
Har også skiftet doctypen nu. Og ja pinligt, fandt godt ud af jeg selv havde lavet det tegn hehe. Men efter jeg har skiftet validerer den stadig ikke. Eksempelvis brokker den sig over mine meta tags ikke kan placeres der, hvilket overhovedet ikke giver mening for mig :s
Avatar billede erikjacobsen Ekspert
12. september 2007 - 21:34 #8
Metatags skal ikke afsluttes med />  kun >
Avatar billede herlevsen Nybegynder
12. september 2007 - 21:36 #9
Hmm gør ingen forskel den, siger det stadig :s
Avatar billede thesurfer Nybegynder
12. september 2007 - 21:50 #10
herlevsen> Fjern alle "/" før ">".. Også:

<base href="http://www.danseplaneten.dk/" />
Avatar billede herlevsen Nybegynder
12. september 2007 - 21:51 #11
Det kan jeg ikke, da den automatisk bliver lavet af mit cms system :s
Avatar billede thesurfer Nybegynder
12. september 2007 - 21:51 #12
Det nemmeste ville nok være, en Search And Replace (søg og erstat)..

Erstat alle " />" med ">".
Avatar billede thesurfer Nybegynder
12. september 2007 - 21:53 #13
herlevsen> Det er fordi dit CMS er bygget til at kode op mod XHTML, hvilket er lige så dumt som Microsofts Visual Studio til ASP.NET..

Du har muligvis en indstilling et eller andet sted, hvor du selv kan vælge hvad den skal kode op mod..

At ændre doctype alene er ikke nok..
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