Avatar billede jeuann Nybegynder
26. juli 2005 - 16:10 Der 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....

Gad vide om det er forstået ???  ellers spørg!!!

Venlig hilsen og sommersjov -

//Jeuann
Avatar billede roenving Novice
26. juli 2005 - 16:16 #1
Skal du have en til hver eneste dag i året, eller er det pr. måned eller ...
Avatar billede jeuann Nybegynder
26. juli 2005 - 16:24 #2
Ja hver dag i året... ligesom i dato, hvor hver dag har hver sin =)
Avatar billede roenving Novice
26. juli 2005 - 16:36 #3
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>
Avatar billede jeuann Nybegynder
26. juli 2005 - 16:43 #4
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.....
Avatar billede roenving Novice
26. juli 2005 - 16:46 #5
Du kan sagtens indsætte links i teksterne, f.eks.

teaser[0][1] = "Idag er det <a href='/januar/1.html'>nytårsdag</a>";
Avatar billede jeuann Nybegynder
26. juli 2005 - 16:47 #6
Jeg tænker at det skal se nogenlunde sådan her ud:

26. Juli

Dagen i dag hedder  *****  og solen står minsandten op i øst og går ned i vest...

(Link:) Læs resten om dagen her >>

// Jeuann
Avatar billede roenving Novice
26. juli 2005 - 16:52 #7
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 !-)
Avatar billede jeuann Nybegynder
26. juli 2005 - 17:00 #8
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....

Mange TAK for hjælpen!!!  (indtil videre)  =)

// Jeuann
Avatar billede roenving Novice
26. juli 2005 - 17:05 #9
Det definerer du i dit stylesheet:

#teaserDiv{
  font-family: "ms sans serif", sans-serif;
  font-size: xx-small;
  color: #fff;
}
/*og hvis du skal noget med linket i diven*/
#teaserDiv a,#teaserDiv a:link,#teaserDiv a:visited{
  color: #ddd;
  text-decoration:none;
}
#teaserDiv a:hover,#teaserDiv a:active{
  color: #fdd;
  text-decoration:underline overline;
}
Avatar billede jeuann Nybegynder
26. juli 2005 - 17:45 #10
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.....

//Jeuann
Avatar billede roenving Novice
26. juli 2005 - 17:49 #11
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:

<div id="teaserDiv"></div>
Avatar billede roenving Novice
26. juli 2005 - 17:50 #12
-- og hvis den stadig laver fejl, så fortæl også om fejlteksten og hvilken linje fejlen kommer i !-)
Avatar billede jeuann Nybegynder
26. juli 2005 - 18:04 #13
Gider du lige sætte det der  <div id="teaserDiv"></div>  ind her ???? =) 

<tr>
      <td width="152" height="115" valign="top" align="center"style="background-color: #003366" style="cursor: pointer" onMouseOver = "this.style.backgroundColor='#336699';"  OnMouseOut = "this.style.backgroundColor='#003366';">
        <p style="margin-left: 8" align="center">
<script><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>
       
        </p>
</td>


den skriver ikke om nogen linie, bare "at der opstod en fejl på siden"
Avatar billede roenving Novice
26. juli 2005 - 18:18 #14
</script>
        <div id="teaserDiv"></div>
        </p>
Avatar billede jeuann Nybegynder
26. juli 2005 - 18:44 #15
Ok fejlen var min..sorry!!!!

havde glemt at lave "teaser[1] = new Array();"  ved de andre dage/måneder i js. filen....

*arbejder lidt videre og holder kæft* =)

// Jeuann....
Avatar billede jeuann Nybegynder
26. juli 2005 - 19:02 #16
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.....

// Jeuann

svarer du lige ??....
Avatar billede roenving Novice
26. juli 2005 - 21:14 #17
100 point er i forvejen rigelig mange ...

-- men hvad er udgangspunktet for tilfældigheden, een lang række af teasers eller f.eks. de samme ?o]

-- og skal det kombineres med, at der stadig vises en dato-ting ?-)
Avatar billede jeuann Nybegynder
26. juli 2005 - 21:16 #18
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...
Avatar billede roenving Novice
26. juli 2005 - 21:23 #19
<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>
Avatar billede jeuann Nybegynder
26. juli 2005 - 21:26 #20
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 =)
Avatar billede roenving Novice
26. juli 2005 - 21:37 #21
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>";
Avatar billede jeuann Nybegynder
26. juli 2005 - 21:43 #22
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 ??
Avatar billede jeuann Nybegynder
26. juli 2005 - 21:57 #23
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>

Er det rigtigt ?? eller er jeg helt langt ude =)
Avatar billede roenving Novice
26. juli 2005 - 21:58 #24
Det er rasende ligegyldigt hvor script-blokken står, bare det er i html-dokumentet !-)

-- derimod skal de to forskellige divs sættes der, hvor du vil vise dine tekster, for vi fylder simpelthen ind i dem ...

-- og det sidste script, laver jo begge dele, så der skal kun være det !o]

Velbekomme '-)
Avatar billede roenving Novice
26. juli 2005 - 22:01 #25
Hvis du har lavet to filer, bliver det ialt til:

<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 !-)
Avatar billede jeuann Nybegynder
26. juli 2005 - 22:27 #26
Mange TAK for hjælpen!!!!!

sig til hvis du skal have bygget et hus en dag =)

// Jeuann
Avatar billede roenving Novice
26. juli 2005 - 22:32 #27
-- jamen, jeg siger tak for point ;~}
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