Kan noen se på denne kodingen...

Kan noen se på denne kodingen...

Innleggav srb » tor 21.08.2008 15:26

her:
Kode: Merk alt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>index</title>
<script language="javascript">
<!--
//-->
</script>
</head>
var interval= 1500;
var random_display=0;
var imageDir="my_images/";

var imageNum=0;
imageArray=new Array();
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0144.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0145.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0146.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0147.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0148.png");

var totalImages=imageArray.length;

fuunction imageItem(image_location){
   this.image_item=new Image();
    this.image_item.src=image_location;
    }
    function get_ImageItemLocation(imageObj){
    return(imageObj.image_item.src)
    }
   
   
    function randNum(x,y){
    var range=y-x+1;
    return Math.floor(Math.random()*range)+x;
   
   
function getNextImage(){
if(random_display){
imageNum=randNum(0, totalImages-1);
}
else{
image=(imageNum+1)%totalImages;
}

var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function getPrevImage(){
imageNum=(imageNum-1)%totalImages;
var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function prevImage(place){
var new_image=getPrevImage();
document[place].src=new_image;
}

function switchImage(place){
var new_image=getNextImage();
document[place].src=new_image;
var recur_call="switchImage('"+place+"')";
timerID=setTimeout(recur_call,interval);
}
<body>
<img name="index.html" src="bjornmalerier/DSC_0144.png" width="500" height="332" border="0" />
<a href="#" onclick="switchImage('slideImg')">play slide show</a>
<a href="#" onclick="clearTimeout(timerID)">pause</a>
<a href="#" onclick="prevImage('slideImg'); clearTimeout(timerID)">previous</a>
<a href="#" onclick="switchImage('slideImg'); clearTimeout(timerID)">next</a>
<body onload="switchImage('slideImg')">

</body>
</html>





























...og gi meg en tilbakemelding på
1) i de tomme parentesene, skal jeg fylle inn noe der?
2) hvilke bilder, html filer plasseres - hvor - i et slik oppsett? Regner med at de bildene som skal vøre med i slide showt skal inn her:
Bilde

Er det da riktig tenkt at adr til siden som skal ha denne sliden skal inn her (<img name="index.html"):
Bilde
Sist endret av srb den fre 22.08.2008 1:38, endret 1 gang
medlem i 177 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav thomasb » fre 22.08.2008 0:25

Først og fremst. HVA er dette?

Det ser jo helt merkelig ut. JavaScript-koden skal da være mellom <script></script>-taggene, og ikke mellom </head> og <body>?

Administrator
Brukerens avatar
medlem i 231 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav srb » fre 22.08.2008 0:31

Ja, beklager...det er mitt aller første javascript ever!! Har skjønt det nå, at plasseringen var en smule ute av fokus her:)

Det er en kode for å få slide funksjon på bilder.Nå har jeg fått endret noe, og innbiller meg at jeg har funnet ut at html sidene, som disse bildene er på, skal inn i html kodingen der det er <a href.....
kan det stemme tror du, vil den bla seg gjennom de enkelte bildene da tro??
Kode: Merk alt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>index</title>
<script language="javascript">
<!--
var interval= 1500;
var random_display=0;
var imageDir="my_images/";

var imageNum=0;
imageArray=new Array();
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0144.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0145.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0146.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0147.png");
imageArray[imageNum++]=new imageItem(imageDir+"DSC_0148.png");

var totalImages=imageArray.length;

function imageItem(image_location){
   this.image_item=new Image();
    this.image_item.src=image_location;
    }
function get_ImageItemLocation(imageObj){
    return(imageObj.image_item.src)
    }
   
   
function randNum(x,y){
    var range=y-x+1;
    return Math.floor(Math.random()*range)+x;
   }
   
   
function getNextImage(){
if(random_display){
imageNum=randNum(0, totalImages-1);
}
else{
image=(imageNum+1)%totalImages;
}

var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function getPrevImage(){
imageNum=(imageNum-1)%totalImages;
var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function prevImage(place){
var new_image=getPrevImage();
document[place].src=new_image;
}

function switchImage(place){
var new_image=getNextImage();
document[place].src=new_image;
var recur_call="switchImage('"+place+"')";
timerID=setTimeout(recur_call,interval);
}

//-->
</script>
</head>

<body>
<img name="my_images/" src="my_images/DSC_0144.png" width="500" height="332" border="0" />
<a href="#" onclick="switchImage('my_images')">play slide show</a>
<a href="#" onclick="clearTimeout(timerID)">pause</a>
<a href="#" onclick="prevImage('my_image'); clearTimeout(timerID)">previous</a>
<a href="#" onclick="switchImage('my_image'); clearTimeout(timerID)">next</a>
<body onload="switchImage('my_image')">

</body>
</html>
medlem i 177 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav thomasb » fre 22.08.2008 1:20

Ok. Hvor har du kopiert denne koden fra?

Man lærer svært lite av å bare kopiere og lime inn kode. Jeg vil anbefale deg å prøve å sette deg inn i JavaScript litt på egenhånd, før du pøser på med spørsmål om kode du ikke har skrevet selv.

Det kunne nok vært lurt å studert HTML litt nærmere også, da du har 3 body-tagger i koden din, noe som er ganske grunnleggende galt.

<body onload="switchImage('my_image')"> skal ligge øverst (du skal altså bytte ut den første body-taggen).

Beklager at jeg er litt krass og vanskelig, men jeg prøver bare å få frem hvor viktig det er at du faktisk prøver å sette deg litt dypere inn i kodespråket du prøver å benytte deg av, før du går løs på slike prosjekter som dette.

Ser ellers fra andre tråder, at du bruker Dreamweaver til å lage nettsider. Jeg vil anbefale deg å finne frem en helt vanlig tekst-editor (f.eks. TextWrangler), slik at du tvinges til å lære det mest grunnleggende i (X)HTML, CSS og eventuelt JavaScript, før du prøver å gjøre ting for avansert.

Ellers, stå på! :)

Administrator
Brukerens avatar
medlem i 231 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav srb » fre 22.08.2008 1:37

Takk for konstruktivt svar.
Vel, jeg har ikke kopiert denne direkte. Jeg har brukt den å sett etter. Jeg har skrevet den selv.
Ordbruken var nok i krasseste laget ja, når du velger å si at jeg har "pøset" på med spm omkring dette:) Jeg har ingen andre tråder med javascript som tema, og her spør jeg vel om et par ting.
Uansett, jeg har fått mye god hjelp på forumet her og som jeg sa innledningsvis, anser jeg også dette som et av de:)
medlem i 177 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav thomasb » fre 22.08.2008 9:33

Denne du har tatt utgangspunkt i?
http://www.webmonkey.com/tutorial/Make_ ... _Slideshow

Der står jo oppskriften steg for steg, og koden er så godt som identisk.

Har du sett på kildekoden til eksempelsiden som linkes til i andre avsnitt i tutorialen? Der scriptet er i bruk? http://www.wired.com/wired/webmonkey/st ... index.html

Dette bør være tilstrekkelig til at du klarer å komme i mål. Gå nøye gjennom tutorialen og koden din. Du er ikke langt unna :)

Det kan nok ellers være lurt å gå gjennom den generelle JavaScript-tutorialen til webmonkeys: http://www.webmonkey.com/tutorial/JavaS ... -_Lesson_1

Administrator
Brukerens avatar
medlem i 231 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav srb » lør 23.08.2008 15:42

En foreløpig koding...
hvorfor virker "preview" funksjonen, men ikke de andre...?
Kode: Merk alt
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>maleri 1</title>
<link type="text/css" rel="stylesheet" href="malerier.css" />
<script language="javascript">
<!--
var interval= 1500;
var random_display=0;
var imageDir="";

var imageNum=0;
imageArray=new Array();
imageArray[imageNum++]=new imageItem(imageDir+"maleri_1.png");
imageArray[imageNum++]=new imageItem(imageDir+"maleri_2.png");
imageArray[imageNum++]=new imageItem(imageDir+"maleri_3.png");
imageArray[imageNum++]=new imageItem(imageDir+"maleri_4.png");
imageArray[imageNum++]=new imageItem(imageDir+"maleri_5.png");

var totalImages=imageArray.length;

function imageItem(image_location){
   this.image_item=new Image();
    this.image_item.src=image_location;
    }
function get_ImageItemLocation(imageObj){
    return(imageObj.image_item.src)
    }
   
   
function randNum(x,y){
    var range=y-x+1;
    return Math.floor(Math.random()*range)+x;
   }
   
   
function getNextImage(){
if(random_display){
imageNum=randNum(0, totalImages-1);
}
else{
image=(imageNum+1)%totalImages;
}

var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function getPrevImage(){
imageNum=(imageNum-1)%totalImages;
var new_image=get_ImageItemLocation(imageArray[imageNum]);
return(new_image);
}

function prevImage(place){
var new_image=getPrevImage();
document[place].src=new_image;
}

function switchImage(place){
var new_image=getNextImage();
document[place].src=new_image;
var recur_call="switchImage('"+place+"')";
timerID=setTimeout(recur_call,interval);
}

//-->
</script>
</head>
<body onload="switchImage('bjornberg')">
<img name="bjornberg" src="maleri_2.png" width="436" height="463" border="0" />
<a href="#" onclick="switchImage('bjornberg')">play slide show</a>
<a href="#" onclick="clearTimeout(timerID)">pause</a>
<a href="#" onclick="prevImage('bjornberg'); clearTimeout(timerID)">previous</a>
<a href="#" onclick="switchImage('bjornberg'); clearTimeout(timerID)">next</a>




<div id="galleri">
<div id="textbox"><h5>"Sunnymind"<br />mars 2008</h5><p>
Donec vitae sapien ut libero venenatis faucibus.
Maecenas tempus,<br /> tellus eget condimentum rhoncus, <br />sem quam semper libero, sit amet adipiscing sem neque sed ipsum.<br /> Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus.<br /><br /> 30x30cm<br />akryl på lerret<br/> kr 4.500,-</p></div>
<div id="maleribakgrunn"><img src="maleri_1.png" alt="maleri" align="right" width="436" height="463" /></div>
<div id="navcontainer">
<ul id="navlist">
<li id="active"></li>
     <li><a href="bjorn.html">bjørn</a></li>
     <li><a href="inspirasjon.html">inspirasjon</a></li>
     <li><a href="maleri_1.html">malerier</a></li>
     <li><a href="utstilling_oslo.html">utstillinger</a></li></ul>
    </div>
   </div>
  </div>
 </body>
</html>





























medlem i 177 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav thomasb » søn 24.08.2008 12:36

Det ser ut som om du har glemt å sette filbanen til der bildene dine ligger, på linje 11 i koden din: var imageDir="";

Administrator
Brukerens avatar
medlem i 231 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav srb » søn 24.08.2008 13:35

Takk for svar.
ok, men i kildekoden (som du refererte til i et annet svar) ser det ut som om den skal være tom...
hm, rart dette. Jeg har ikke klart for meg hvor og hvordan jeg skal legge inn informasjon om hvor bildene ligger ser du. Tror det er noe av greia her.
Jeg får altså bildene til å gå i revers, men det er alt. Det funker ikke å kjøre de fremover igjen heller, etter reversen:)
medlem i 177 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav thomasb » søn 24.08.2008 19:17

Du har stavet en variabel feil.

I funksjonen getNextImage() så har du skrevet image=(imageNum+1)%totalImages;

Der skal det stå imageNum=(imageNum+1)%totalImages;

For gjøre koden litt mer lesevennlig vil jeg anbefale deg å begynne å bruke mellomrom på hver side av likhetstegnet. Det gjør koden mye enklere å lese.

Så lenge bildene ligger i samme mappe som .html-fila, så trenger ikke imageDir å inneholde noe.

Administrator
Brukerens avatar
medlem i 231 måneder
 

Re: Kan noen se på denne kodingen...

Innleggav srb » søn 24.08.2008 21:18

Jipppppi, tror jammen det funker nå gitt. Bildene går ihvertfall av seg selv. Takk!! :-)
medlem i 177 måneder
 


Returner til JavaScript



Hvem er i Forumene

Registrerte brukere: Google [Bot]