26. juli 2005 - 16:10Der er
26 kommentarer og 1 løsning
datostyret script , dagens tekst/almanak-agtigt.
Jeg vil høre om nogen har, eller kan hjælpe med et script der kan få en given række af tekster,(dato bestemte tekster) til at skifte ved midnat, kort sagt skifte med datoen. Måske bedst forklaret ved en beskrivelse af dags dato, almanak-agtigt... så det er altså vigtigt at det er de rigtige datoer og tekster der passer sammen...., jeg har en java-script- dato-halløj på min forside, måske den kan hjælpe med at definere datoen, så det er den rigtige tekst der findes frem. Hvad ved jeg...
Hvis du stadig er her Per, så er principperne og funktionerne de samme som den løsning du lavede til "Random" - spørgsmålet for nogle uger siden, denne gang bare dato-styret....frem for den anden der skiftede ved reload m.m.
Altså, en lille tekst "teaser" til fx. 26. Juli, hvor man klikker på et link eller hele "div´en" hvorefter man så kommer til en ny side (ligesom target=_blank) hvor hele teksten står, når så datoen skifter, så skifter teksten på forsiden automatisk til 27. Juli´s tekst-teaser og så fremdeles .... ja altså den skifter vel først ved reload, eller næste gang man åbner siden... hmm ja det er egentlig ligemeget om den gør det ene eller andet, den skal bare skifte sammen med datoen....
Så skal du nok have det i en ekstern fil, hvor strukturen f.eks. kan være:
var teaser = new Array(); teaser[0] = new Array(); teaser[0][1] = "Idag er det nytårsdag"; teaser[0][2] = "2. januar, og tømmermændene er ved at være væk";
...
teaser[1] = new Array(); teaser[1][1] = "Endelig er januar slut og idag begynder februar";
...
teaser[11][31] = "Årets sidste dag, i aften skal vi slå et slag !-)";
-- så kan du gøre ca. sådan:
<script type="text/javascript" src="dinTeaserFil.js"></script> <script type="text/javascript"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; } </script>
Ja ok *G* nu gik det måske lige hurtigt nok for min begrænsede indsigt ... igen *G*
jeg kan godt se ideen i det og det er sådan funktionen i princippet skal være, men kan man indsætte links i de tekster, eller hvor kommer det link ind i billede som der passer til den givne dato ??, så man kommer til den side hvor hele "dagens tekst" står.....
teaser[6][26] = "26. Juli<br><br>Dagen i dag hedder ***** og solen står minsandten op i øst og går ned i vest...<br><br><a href='juli/26.html'>Læs resten om dagen her >></a>"
-- det kan også være dynamisk, hvis du alligevel vil have den samme tekst hver dag !-)
Nej det er ikke samme tekst hver dag... det var bare et eksempel fra den muntre afdeling =) , ja datoen kunne måske nok hentes og så måske linket selvom det skal skifte dagligt (hvis det er det du mener), ej jeg ved det ikke, for min skyld kan det sagtens fungere fint det du har lavet, jeg stiller ikke så store krav, bare jeg selv kan finde ud af det, og det fungerer så er jeg glad =)
Hvor definerer man font-face, size, color osv i det script??? ms sans serif, size 1 , color=#"FFFFFF" (har ikke lige fået fundet ud af det med style-sheet eller hvad det nu hedder CSS endnu...)
... jeg prøver det lige af...så hører du nærmere... måske jeg lige skal have lidt mere hjælp, ellers med point....
Hmmm den skriver "fejl på siden" ... så et eller andet har jeg måske gjort galt =)
den js.fil du beskrev... skal den bare se ud som den du lavede (altså bare med mange flere dage i) ????
og
<script type="text/javascript" src="dinTeaserFil.js"></script> <script type="text/javascript"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; } </script>
er der noget der skal i <head> og andet i <body> ??
hvor skal det ind henne, jeg har prøvet at sætte den første del ind i <head> og den anden del ind i <body> , i den tabel det nu skal stå i... men det kan da godt være jeg har forregnet mig.....
Det betyder ikke noget hvor script-blokkene findes, men jeg synes det er mest overskueligt, hvis de befinder sig i head-sektionen, så de ikke forstyrrer html-opbygningen ...
-- og du skal selvfølgelig sørge for, at der er en teaserDiv, som tingene kan sættes ind i:
Hvad øhh... hvis jeg nu stiller 100 point mere på højkant, kunne det så lade sig gøre at lave et script i samme stil, bare hvor det er random, i stedet for datobestemt?? så den skifter ved reload og når man åbner siden??? det skal bruges på samme side (forsiden)... =) al respekt for Per, som hjalp sidst, men det her script er noget mere enkelt og ligetil at finde ud af for en som mig.....
udgangspunktet er en række af tekst-stykker... som kan udvides efter behov... ikke noget dato halløj...bare at den vælger en tilfældig i rækken, når man åbner siden eller reloader osv...
<script type="text/javascript"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; var num = Math.floor(Math.random()*teaser2.length);//teaser2 er så den anden liste document.getElementById('teaserDiv2').innerHTML = teaser2[num]; } </script>
Det er en helt anden række tekster... der skal vel laves en ny js.fil..med dem..og så et eller andet script der hiver dem ud på forsiden, og så ligesom sidst skive et link i "teksten" som man kan klikke på og læse heeeeeeeeele den fine tekst =)
Du kan godt lave en anden .js-fil til de andre tekster, men det spiller ingen trille, om de står i samme fil !-)
-- og hvis du laver det på næsten samme måde, dog i dette tilfælde lettest at lave det uden en tvungen nummerering:
var teaser2 = new Array(); teaser2[teaser2.length] = "Her er teaseren med nummeret 0 <a href='teaser2_0.html'>Klik her for hele artiklen</a>"; teaser2[teaser2.length] = "Her er teaseren med nummeret 1 <a href='teaser2_1.html'>Klik her for hele artiklen</a>"; teaser2[teaser2.length] = "Her er teaseren med nummeret 2 <a href='teaser2_2.html'>Klik her for hele artiklen</a>"; teaser2[teaser2.length] = "Her er teaseren med nummeret 3 <a href='teaser2_3.html'>Klik her for hele artiklen</a>";
Nej jeg er ligeglad om der er tvungen nummerering....
Men det vil sige:
<script type="text/javascript"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; var num = Math.floor(Math.random()*teaser2.length);//teaser2 er så den anden liste document.getElementById('teaserDiv2').innerHTML = teaser2[num]; } </script>
sættes ind der hvor jeg vil have teksten til at stå ??? og så lige "<div id="teaserDiv2"></div>" ind ligesom sidst.. så skulle det spille ??
Jeg kan ikke lige se hvad den nye .js-fil er kaldt, eller om scriptet lige skal laves så den henter fra den nye fil....
<script type="text/javascript" src="dinTeaserFil2.js"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; var num = Math.floor(Math.random()*teaser2.length);//teaser2 er så den anden liste document.getElementById('teaserDiv2').innerHTML = teaser2[num]; } </script>
<script><script type="text/javascript" src="dinTeaserFil.js"></script> <script><script type="text/javascript" src="dinTeaserFil2.js"></script> <script type="text/javascript"> window.onload = function(){ var dato = new Date(); document.getElementById('teaserDiv').innerHTML = teaser[dato.getMonth()][dato.getDate()]; var num = Math.floor(Math.random()*teaser2.length);//teaser2 er så den anden liste document.getElementById('teaserDiv2').innerHTML = teaser2[num]; } </script>
-- og så de to steder, du vil vise det ene og det andet:
<div id="teaserDiv"></div>
<div id="teaserDiv2"></div>
-- der er _ingen_ sammenhæng mellem placeringen af script-blokken(e) og stedet tingene bliver vist, det er kun afhængigt af placeringen af de to div'er !-)
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.