Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  7 814
Hei
Jeg har en webside jeg ønsker at toppbilde endrer seg hvergang kunden trykker uppdater eller neste gang han besøker siden.
Jeg ser for meg 8 forskjellige bilder.
Har pørvd å lage en i animert gif, men denne blir statisk med tidsstyrt mellomrom og det er dårlig løsning.
Jeg har Dreamweaver CS3, Photoshop CS2 og Serif PhotoPlus 6.
Skal du ha dynamisk innhold må du nok ty til enten JavaScript eller PHP/etc. Finnes sikkert noen guider for det på google, men du er altså ute etter å lage en array med alle bildenavnene og så inkludere et av array-elementene på en tilfeldig posisjon i arrayet.
Som Dyret sier, så er nok den enkleste løsningen ett lite php script som rulerer bildet.

<?php
$bilder = array("bilde1.jpg","bilde2.jpg","bilde3.jpg");
$bilde = rand(0, (count($bilder)-1));

echo("<a href='index.php'><img src='$bilder[$bilde]' alt='Logo' border='0'></a>");
?>

Roughly.
Sist endret av Java; 30. januar 2008 kl. 13:21.
007
007's Avatar
Trådstarter
52 0
Ok, websiden er laget i html og jeg kan ikke php. Kan jeg putte php scriptet inn i html siden? I såfald hvor?
Dersom webserveren støtter php, er det ingenting i veien for at du døper om filen til .php, og putter php script i den nei. Scriptet jeg lagde over (aner ikke om det funker, har ikke testet det), kan du putte inn der du har tenkt å ha logoen.
Limited edition
Moff's Avatar
Sitat av 007
Ok, websiden er laget i html og jeg kan ikke php.
Vis hele sitatet...
PHP er et serversidet skriptspråk, som betyr at det ikke synes for den som besøker siden din. (Man finner det ikke i kildekoden.) Det som skjer i det skriptet der er at du lager et såkalt array, en variabel med flere verdier. Dette arrayet inneholder linker til ulike bilder. I linjen under brukes funksjonen "rand" for å lage et tilfeldig tall mellom 0 og antall verdier i arrayet. Det er tre bilder der, så det blir et tilfeldig tall mellom 0 og 2.

Ka farsken? Det er 3 bilder, ikke 2! Det er slik med PHP at den første verdien i et array er verdi nummer 0 - så vi må trekke fra 1. 3 - 1 = 2.

Deretter kommer echo-funksjonen, som er PHP sin måte å skrive noe til brukeren - det som skrives ut er HTML-kode. Du kjenner igjen <a> og <img>-kodene, regner jeg med. Men i src-feltet til <img> kommer det litt PHP igjen. Her er linken til bildet, som er tilfeldig valgt fra arrayet. Denne koden vil altså hente frem et tilfeldig tall hver gang nettsiden oppdateres / refreshes.

PS: Som Milligan sier; du må kalle filen din "navn.php" i stedet for "navn.html" for at PHP-koder skal funke. I tillegg må webserveren din (stedet der nettsida di ligger) støtte PHP. Det gjør stort sett alle webhotell du betaler for.

PPS: som Milligan også sier, så skal koden erstatte den vanlige <img>-koden du allerede har i skriptet ditt. Hvis du er opptatt av å skrive "gyldig" xhtml så kan du legge til en ekstra sluttag på <img>-koden, slik at det blir <img src="navn.jpg" />, i stedet for bare <img src="navn.jpg">.
Sist endret av Moff; 30. januar 2008 kl. 21:55.
▼ ... over en uke senere ... ▼
Hvordan dette kan gjøre i javascript.
Hey, jeg har akkurat det du prater om i bruk på hjemmesiden min.
Metoden jeg bruker er svært effektiv, og krever to ting:

èn php-fil for å hente, randomize og prosessere bildet:
Sitat av random.php
<?php

$folder = '/mappen/bildene/dine/ligger/i';

$extList = array();
$extList['gif'] = 'image/gif';
$extList['jpg'] = 'image/jpeg';
$extList['jpeg'] = 'image/jpeg';
$extList['png'] = 'image/png';

$img = null;

if (substr($folder,-1) != '/') {
$folder = $folder.'/';
}

if (isset($_GET['img'])) {
$imageInfo = pathinfo($_GET['img']);
if (
isset( $extList[ strtolower( $imageInfo['extension'] ) ] ) &&
file_exists( $folder.$imageInfo['basename'] )
) {
$img = $folder.$imageInfo['basename'];

}
} else {
$fileList = array();
$handle = opendir($folder);
while ( false !== ( $file = readdir($handle) ) ) {
$file_info = pathinfo($file);
if (
isset( $extList[ strtolower( $file_info['extension'] ) ] )
) {
$fileList[] = $file;
}
}
closedir($handle);

if (count($fileList) > 0) {
$imageNumber = time() % count($fileList);
$img = $folder.$fileList[$imageNumber];


}
}
if ($img!=null) {
$imageInfo = pathinfo($img);
$contentType = 'Content-type: '.$extList[ $imageInfo['extension'] ];
header ($contentType);
readfile($img);

} else {
if ( function_exists('imagecreate') ) {
header ("Content-type: image/png");
$im = @imagecreate (100, 100)
or die ("Cannot initialize new GD image stream");
$background_color = imagecolorallocate ($im, 255, 255, 255);
$text_color = imagecolorallocate ($im, 0,0,0);
imagestring ($im, 2, 5, 5, "IMAGE ERROR", $text_color);
imagepng ($im);
imagedestroy($im);
}
}

?>
Vis hele sitatet...
Og link til "bildet" ditt, f.eks:
Sitat av index.php
<img src="random.php">
Vis hele sitatet...
Det du gjør da, er bare å legge de 8 bildene i mappa som står nevnt øverst i random.php, og hvis du kan litt enkel html, så veit du at du kan forandre dimensjonene på bildene i <img>-taggen :-)

<img src="random.php" height="800" width="600">
Vis hele sitatet...
Sist endret av RandomiZed; 11. februar 2008 kl. 14:34. Grunn: Koderetting