FAQ |
Kalender |
2009-07-05, 01:34 | #1 | ||
|
|||
Nykomling
|
Hej!
Håller för tillfället på med en hemsida och har nu kommit så långt att jag ska skapa en slumpad produktlista. Hittade på nätet ett script som slumpar bilder, se nedan. Tanken är att därefter identifiera bilden och sedan lägga in rätt text därefter. Vad är lättast? Att göra en label som tar ut identiteten och sedan ett annat text script som läggs in efter denna eller ska man använda sig av någon helt annan metod? Jag är nybörjare vad gäller javascript så en färdig kod är ju alltid att föredra..... Alla tips och råd är välkomna. Den som vill titta på hemsidan är adressen: http://www.spapalatset.se Scriptet som det ser ut idag: http://spapalatset.se/sidegallery/slumpa_bild.asp Kod:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script type="text/javascript" language="JavaScript"> <!-- function slumpa_bild() { bilder=new Array("antibes.jpg","monaco.jpg","liso.jpg","bahamas.jpg","morko.jpg"); slumpad_bild_nr=Math.floor(Math.random()*bilder.length); bild=bilder[slumpad_bild_nr]; HTML_kod="<img src=\""+bild+"\">"; return HTML_kod; } //--> </script> </head> <body> <script type="text/javascript" language="javascript"> <!-- document.write(slumpa_bild()) //--> </script> </body> </html> |
||
Svara med citat |
2009-07-05, 02:04 | #2 | ||
|
|||
Klarade millennium-buggen
|
Kod:
function slumpa_bild() { bilder=new Array(); bilder[] = new Array("antibes.jpg", "Min text"); bilder[] = new Array("monaco.jpg", "Min text 2"); slumpad_bild_nr=Math.floor(Math.random()*bilder.length); bild=bilder[slumpad_bild_nr]; HTML_kod='<p><img src="'+bild[0]+'" alt="' + bild[1] +'"><br/>' + bild[1] + '</p>'; return HTML_kod; } Varför göra det i javascript? Javascript är nog enklast för dig om du skall uppdatera produktlistan i realtid, alltså att bilder/text mm byts ut under tiden besökaren tittar på sidan. Skall bilder/text bytas laddas in vid sidbyte är det mycket enklare och mindre jobb att lösa detta på serversidan. |
||
Svara med citat |
2009-07-05, 11:29 | #3 | ||
|
|||
Nykomling
|
Okej! Tack för svaret. Javascript var det jag hittade, så därför fick det bli det men finns det bättre och enklare lösningar tittar jag gärna på det!
Den behöver inte ändras i realtid, räcker med att det ändras vid sidbyte. Hur gör jag detta? |
||
Svara med citat |
2009-07-05, 11:41 | #4 | ||
|
|||
Supermoderator
|
Kika på att göra samma sak på serversidan med PHP, ASP, JSP eller liknande...
__________________
Jonny Zetterström se.linkedin.com/in/jonnyz | bjz.se | sajthotellet.com | kalsongkungen.se | zretail.se | zetterstromnetworks.se | webbhotellsguide.se | ekonominyheter24.se | nyamobiltelefoner.se | gapskratt.se | antivirusguiden.se | jonny.nu |
||
Svara med citat |
2009-07-05, 12:46 | #5 | ||
|
|||
Klarade millennium-buggen
|
Om du kör någon relationsdatabas med SQL så kan du använda följande SQL-sats för att visa 10 produkter i slumpartad ordning:
MySQL: Kod:
SELECT column_names FROM tbl_name ORDER BY RAND() LIMIT 10; Kod:
SELECT TOP 10 column_names FROM tbl_name ORDER BY NewID() Kod:
SELECT TOP 10 column_names FROM tbl_name ORDER BY rnd(numericalfield) Kod:
SELECT column_names FROM tbl_name ORDER BY RANDOM() LIMIT 10 Kod:
SELECT column_names, RAND() as IDX FROM tbl_name ORDER BY IDX FETCH FIRST 10 ROWS ONLY Oracle: Kod:
SELECT column_names FROM * * * *( SELECT column_name FROM table * * * * *ORDER BY dbms_random.value * * * *) WHERE rownum <= 10 |
||
Svara med citat |
Svara |
|
|