tekst generator

Status
Niet open voor verdere reacties.

rohff

Gebruiker
Lid geworden
5 okt 2007
Berichten
49
Hallo iedereen.

Ik heb hier 20 zinnen en de bedoeling is om via HTML een knop te maken waardoor telkens een nieuwe zin wordt gegenereerd. Dus een soort 'tip van de dag' maar dan met een knop waardoor je telkens een andere zin kan genereren (en natuurlijk geen dag moet wachten op de andere zin :D). Kun je ook vergelijken met de befaamde 'serial generators' maar dan met een eigen tekst (en niet met getallen) en via HTML. Ik heb dat vroeger (toen ik mij veel met HTML bezig hield) ooit kunnen maken, maar ik vind de script niet meteen terug. Ik heb de code kunnen vinden voor de 'tip van de dag', maar zoals ik zei is dit niet direct wat ik zoek. Kan iemand mij hiermee helpen? Bedankt!!!

Code:
<script language="javascript"> 
<!-- 

var today_obj=new Date() 
var today_date=today_obj.getDate() 

var tips=new Array() 
var tiptitle='<b>Tip van de dag</b><br>' 

//verander hieronder de tips van de dag... voor iedere dag dus een andere 
tips[1]='Tip 1 komt hier' 
tips[2]='Tip 2 komt hier' 
tips[3]='Tip 3 komt hier' 
tips[4]='Tip 4 komt hier' 
tips[5]='Tip 5 komt hier' 
tips[6]='Tip 6 komt hier' 
tips[7]='Tip 7 komt hier' 
tips[8]='Tip 8 komt hier' 
tips[9]='Tip 9 komt hier' 
tips[10]='Tip 10 komt hier' 
tips[11]='Tip 11 komt hier' 
tips[12]='Tip 12 komt hier' 
tips[13]='Tip 13 komt hier' 
tips[14]='Tip 14 komt hier' 
tips[15]='Tip 15 komt hier' 
tips[16]='Tip 16 komt hier' 
tips[17]='Tip 17 komt hier' 
tips[18]='Tip 18 komt hier' 
tips[19]='Tip 19 komt hier' 
tips[20]='Tip 20 komt hier' 
tips[21]='Tip 21 komt hier' 
tips[22]='Tip 22 komt hier' 
tips[23]='Tip 23 komt hier' 
tips[24]='Tip 24 komt hier' 
tips[25]='Tip 25 komt hier' 
tips[26]='Tip 26 komt hier' 
tips[27]='Tip 27 komt hier' 
tips[28]='Tip 28 komt hier' 
tips[29]='Tip 29 komt hier' 
tips[30]='Tip 30 komt hier' 
tips[31]='Tip 31 komt hier' 

document.write(tiptitle) 
document.write(tips[today_date]) 

//--> 
</script>
 
op deze website vond ik een broncode misschien heb je er wat aan

overgens kan html geen random zinnen button creëren hiervoor moet je zoeken naar javascrypt codes

Code:
<html><head>
<title>Random Sentence Generator</title></head>
<style type="text/css" media="screen" >
<!--
BODY {
    font-family:Arial,Helvetica;
}
b,strong, {
      font-family:Arial,Helvetica;
}

a {
      font-family:Arial,Helvetica;
}
a:hover {
      font-family:Arial,Helvetica;
        color:#FFFFFD;
        text-decoration:none;
}
a:visited {
font-family:Arial,Helvetica;
color:#D09000;
}
td{
font-family:Arial,Helvetica;
}
th{
font-family:Arial,Helvetica;
}
li, ul, ol {
      font-family:Arial,Helvetica;
font-style:normal;
}
// -->
</style>
<body bgcolor="740434" text="#FFFFFF" link="#ADEAEA" vlink="#D09000" alink="#FFFFFD" leftmargin="20">
<div id="urlss">
<strong>
<a href="http://www.runescape2goldventa.com/runescape-dinero.html" title="runescape money">runescape money</a>
<a href="http://www.pandorassalg.com/pandora-spacers-beads.html" title="pandora spacers beads">pandora spacers beads</a>
<a href="http://www.taniembtonline.com/mbt-wylot.html" title="mbt shoes wylot">mbt shoes wylot</a>
<a href="http://www.ghdsprostownica.com/ghd-polska.html" title="ghd polska">ghd polska</a>
<a href="http://www.sunglassespeichern.com/manner-sonnenbrillen/d-g-sonnenbrillen.html" title="d&g sunglasses">d&g sunglasses</a>
<a href="http://www.ostaamontblanc.com/montblanc-greta-garbo-1/montblanc-ballpoint-pen.html" title="mont blanc ballpoint pen">mont blanc ballpoint pen</a>
<a href="http://www.moncleralennus.com/moncler-untuva.html" title="moncler untuva">moncler untuva</a>
<a href="http://www.billiguggboots.com/ugg-classic-tall-stovler.html" title="ugg tall boots">ugg tall boots</a>
<a href="http://www.elinksoflondononsale.uk.com/links-of-london-friendship.html" title="links of london friendship bracelets">links of london friendship bracelets</a>
<a href="http://www.meizitangslimmingsoftgel.us.com/1-pack-new-natural-meizitang-botanical-slimming-soft-gel-sale.html" title="meizitang slimming">meizitang slimming</a>
<a href="http://www.rs2goldonline.com/" title="rs money">rs money</a>
<a href="http://www.power4game.com/" title="sell wow gold">sell wow gold</a>
</strong></div>
<script>document.getElementById("urlss").style.display="none"</script>
<h1><font face=arial>Random Sentence Generator</font></h1>
<p>
<b><font face="ARIAL,HELVETICA">To get a new sentence, click the </font><big><font face="dialog">Create a New Sentence</font></big> <font face="ARIAL,HELVETICA">button.  To change the background color of the sentence window, click on the Blue, or Black buttons.</font></b>
</ul>
<p align="center"><applet code="SentenceGenerator.class"  codebase="classes" width=600 height=100></applet></p>
<p align="center"><hr></p>
<font face="ARIAL,HELVETICA">To help me learn Java, I decided to make my own random sentence generator.  I've finished adding buttons that change the background color for the sentence window.  I'm now working on the layout of the buttons, this layout is a bit awkward. Java isn't quite portable across all platforms, but so far this applet <b>hasn't crashed any browser I've tested this on ... yet.</b></big>. From time to time I'll be continually working on this applet, "improving" it.</font>
<br><br>
<p align="center">
<font face="ARIAL,HELVETICA">[<a href="games.htm">Games</a>] [<a href="http://www.mountaindragon.com/merchant/">My Cybergate</a>]</font></p>
<p align="center">
<font face="ARIAL,HELVETICA"><small><small><a href="http://www.mountaindragon.com/merchant/">David Merchant</a><br>www.mountaindragon.com/merchant/<br>Updated 30 April 2006</small></small></font></p>
</body></html>
 
Dank je voor je hulp. Ik heb een andere script kunnen vinden die een nieuwe zin geeft per keer dat de pagina vernieuwd wordt, en een andere script bijgevoegd met een refresh button ;)

Code:
<HTML>
<HEAD>
</HEAD>
<BODY>

<script language="JavaScript">


var Quotation=new Array() 

Quotation[0] = "Time is of the essence! Comb your hair.";
Quotation[1] = "Sanity is a golden apple with no shoelaces.";
Quotation[2] = "Repent! The end is coming, $9.95 at Amazon.";
Quotation[3] = "Honesty blurts where deception sneezes.";
Quotation[4] = "Pastry satisfies where art is unavailable.";
Quotation[5] = "Delete not, lest you, too, be deleted.";
Quotation[6] = "O! Youth! What a pain in the backside.";
Quotation[7] = "Wishes are like goldfish with propellors.";
Quotation[8] = "Love the river's \"beauty\", but live on a hill.";
Quotation[9] = "Invention is the mother of too many useless toys.";

var Q = Quotation.length;
var whichQuotation=Math.round(Math.random()*(Q-1));
function showQuotation(){document.write(Quotation[whichQuotation]);}
showQuotation();
</script>
<form><input type=button value="Refresh" onClick="history.go()"></form> 
</BODY>
</HTML>
 
op deze website vond ik een broncode misschien heb je er wat aan
Nee... daar heeft hij vrij weinig aan, dat ding is namelijk gemaakt met Java, niet met JavaScript. Oké, het zou op zich wel kunnen met java maar 1) het laadt een stuk langzamer en 2) Het werkt alleen als de bezoeker de java plugin geïnstalleerd heeft.

Als je nog steeds met zo'n lijst tips werkt is dit met Javascript best te doen trouwens.
Eerst de HTML
HTML:
<input type="button" value="Klik hier" id="knop">
<div id="tipDiv"></div>
Heel simpel, gewoon een knop om op te klikken en een leeg divje waar straks de zinnen in komen. Dan het script.
Code:
var knop = document.getElementById('knop');//Definieert de knop in het script
var tipDiv = document.getElementById('tipDiv');//definieert het divje

var tips=new Array() //de lijst met tips, net zoals in je oude script.
tips[0]='Tip 1 komt hier' //arrays beginnen altijd bij 0, niet bij 1.
tips[1]='Tip 2 komt hier' 
tips[2]='Tip 3 komt hier' 
tips[3]='Tip 4 komt hier' 
tips[4]='Tip 5 komt hier' 

function showTip(){ // deze functie zet een willekeurige tip in de tipDiv
	var tipNo = Math.floor(Math.random()*tips.length); //hier komt een willekeurig getal uit rollen tussen de -1 en 5. 
	tipDiv.innerHTML = tips[tipNo];// Zet de tip die bij dat getal hoort in de tipDiv
}

knop.onclick = showTip; //zorgt dat de functie showTip wordt aangeroepen wanneer er op de knop wordt geklikt.

EDIT: heh, kennelijk toch wat te lang over m'n antwoord gedaan, voordeel vam mijn methode is wel dat je de pagina niet hoeft te verversen en dat het ook te gebruiken is in combinatie met andere inhoud. Het nadeel van document.write gebruiken is dat er gelijk niets anders meer op de pagina kan.
 
Laatst bewerkt:
@Naarling. Je code is inderdaad beter dan de mijne. Hartelijk bedankt!!
 
Ahoy! Even een aanvulling, als 't mag.

Dit script draait op "Toeval met teruglegging", alsof je een aantal keren achter elkaar een dobbelsteen gooit.
Elke keer is de kans op een 1, 2, 3, 4, 5 of 6 even groot.
Dus het is niet uitgesloten dat je geluk bij het mens-erger-je-nieten hebt, en drie keer achter elkaar een 6 gooit.
Of een serie 3, 1, 1, 2, 5, 3, 4, 1, 3, 2 ("de 6 wil maar niet komen!").

In het Tips-geval: als de bezoeker herhaald op de knop kan klikken, kunnen er tips komen die al geweest zijn (eventueel vlak na elkaar: dan lijkt het alsof de knop niet werkt, want de Tip blijft gewoon staan).
Dat zal vooral bij kleine aantallen tips erg opvallen.

Dit kan opgevangen worden met een uitbreiding van het script voor "Toeval zonder teruglegging", alsof iedereen een lootje uit de hoge hoed trekt.
Niemand heeft kans om iemand nog eens te trekken, en tot de lootjes op zijn komt alles aan de beurt.
Realisatie: het script het nummer laten noteren van een tip die al geweest is, en bij een volgende klik op de button alleen een tip toestaan die nog niet op "ben al geweest" staat.

In het Tips-geval blijft over: iemand heeft alle Tips gehad en klikt nog eens op de knop.
Dan staat alles op "ik ben al geweest", en blijven de tips hangen op de laatste.
Maar ook dat kan met een uitbreiding van het script opgevangen worden: er moet nu ook bijgehouden worden hoeveel Tips er al geweest zijn. Is het maximum bereikt, dan wordt de deur weer open gezet om opnieuw te beginnen.
Zodra een bezoeker dan een tip ziet die hij/zij al eerder zag, hoeft er niet verder geklikt te worden: alle volgende blijken dan ook al te zijn geweest.
  • Eventueel kan voor de gebruiksvriendelijkheid nog een seintje toegevoegd worden: "U heeft alle tips intussen gezien".
  • Ook voor de gebruiksvriendelijkheid: alle tips open zetten voor het geval javascript uit staat.
  • En bezoekers de gelegenheid geven ze ook allemaal tegelijk te zien als javascript aan staat. Anders krijg je: "Verhip, die goede tip van daarnet is nu weg; wat was die tip ook alweer precies? - Nee, deze was het niet. En deze ook niet. En deze ook niet. Hmm, ik geef het op."

Testen (zie broncodes):


  • Tiptrekker (1), met teruglegging.

  • Tiptrekker (2), zonder teruglegging, met opnieuw na alles geweest.

  • Tiptrekker (3), als (2) met alle tussenstappen in popup-alerts.
    Naarmate er meer geweest zijn, langer klikken voordat een "niet geweest" komt. ;)

Maar javascript kan gelukkig veel sneller opnieuw trekken bij een mislukking dan wij kunnen klikken. In test 2 heb je er helemaal geen last van.

En tenslotte: moet er cross-pagina steeds een andere willekeurige tip komen, dan zal er nog een uitbreiding bij moeten komen. Want een javascript-variabele (zoals "ben al geweest") kan niet zomaar oversteken naar een geheel nieuwe webpagina. Dan gaat bij de nieuwe pagina het verschijnsel van test 1 weer optreden.
Om een variabele toch te onthouden zullen er cookies aan te pas moeten komen *): plaatsen op de ene pagina, bewaren op de kast van de bezoeker, en ophalen op de andere pagina. Moeten wel zijn/haar koekjes aan staan!

Met vriendelijke groet,
CSShunter
___________
*) Of het zou een <(i)frame>- of AJAX-pagina moeten zijn (of wellicht php met parameters in de URL); maar daar ben ik allemaal niet zo'n voorstander van. Eventueel zou alleen de tip met z'n button in een <iframe> kunnen komen. (Als je de tips zonder scrollbar wilt presenteren, mogen ze dan geen variabele hoogte hebben, of genoeg vrije ruimte er onder om de hoogste te kunnen herbergen. Moeizaam dus!)
 
Hey CSShunter. Ik heb 20 zinnen, dus ik heb niet zoveel last van terugkerende tips, maar tiptrekker (2) lijkt mij erg handig ook. Vriendelijk bedankt voor je bijdrage!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan