Avatar billede fiil123 Nybegynder
24. marts 2005 - 20:15 Der er 31 kommentarer og
1 løsning

Random images med iframe

Jeg skal have fundet et script som kan lave en random image funktion på en side med iframe... Dvs at når man klikker på et link skal billedet skifte!
Avatar billede roenving Novice
25. marts 2005 - 10:54 #1
iframe, hvor kommer den ind i billedet ?-)

-- og skal det skifte random, når du klikker på et menu-link ?-)
Avatar billede fiil123 Nybegynder
25. marts 2005 - 12:26 #2
Fordi min side er opbygget med en iframe... Og på index siden skal der var en random image funktion som skifter når bruger navigere rundt på siden, altså klikke på et menulink!
Avatar billede roenving Novice
25. marts 2005 - 12:41 #3
f.eks.

<script type="text/javascript">
var pics = new Array();
pics[pics.length] = "billede1.jpg";
pics[pics.length] = "billede2.jpg";
pics[pics.length] = "billede3.jpg";
pics[pics.length] = "billede4.jpg";
pics[pics.length] = "billede5.jpg";
pics[pics.length] = "billede6.jpg";
pics[pics.length] = "billede7.jpg";
pics[pics.length] = "billede8.jpg";
pics[pics.length] = "billede9.jpg";
pics[pics.length] = "billede10.jpg";
pics[pics.length] = "billede11.jpg";

function changeImg(){
  var pic = document.getElementById('showPic');
  var oldImg = pic.src;
  var num = Math.floor(Math.random()*pics.length);
  while(oldImg.indexOf(pics[num])>-1)
    num = Math.floor(Math.random()*pics.length);
  pic.src = pics[num];
}

-- og så i onclick på links:

onclick="changeImg()"

-- og billedet skal have et id:

<img id="showPic" ...
Avatar billede fiil123 Nybegynder
25. marts 2005 - 20:09 #4
altså det billede som skal skiftes?
Avatar billede fiil123 Nybegynder
25. marts 2005 - 20:23 #5
Nu har jeg det her på mine links:
<a href="txt_index.php" target="main" onclick="changeImg()">

Og det her på mit billede:
<a onclick="changeImg()"><img id="showPic" src="feat_gisli.gif"></a>

Men det virker ikke...
Avatar billede roenving Novice
26. marts 2005 - 11:44 #6
Kan du lægge et link til, hvordan du gør ?-)
Avatar billede fiil123 Nybegynder
26. marts 2005 - 12:19 #7
Avatar billede roenving Novice
26. marts 2005 - 12:48 #8
Nu giver det jo ikke lige mening at forsøge at klikke på noget, som allerede har en mouseover-funktion, som ikke er medtaget, så den laver fejl ...

-- og desuden kan jeg jo under ingen omstændigheder se om der ændres noget, når billederne ikke findes, så kan du ikke prøve at lægge det op, så det ellers fungerer ?-)
Avatar billede fiil123 Nybegynder
26. marts 2005 - 13:03 #9
Avatar billede roenving Novice
26. marts 2005 - 13:10 #10
Men du mangler jo stadig de funktioner, som der refereres til på siden, swapPic(), MM_swapImage('Image2','','images/main_04_b.gif',1) og MM_swapImgRestore() ...

-- og hedder dine billeder ikke f.eks. feat_gisli.gif ?-)
Avatar billede fiil123 Nybegynder
26. marts 2005 - 14:39 #11
jo de gør... men altså jeg har ikke styr på det Java sjov... så kan du ikke hjælpe lidt?
Avatar billede roenving Novice
26. marts 2005 - 14:43 #12
var pics = new Array();
pics[pics.length] = "feat_gisli.gif";
pics[pics.length] = "feat_kresten.gif";
pics[pics.length] = "feat_thomas.gif";

-- og husk også at indsætte dine dreamweaver-funktioner, for ellers vil siden jo altid melde fejl (eller også fjerne henvisningerne til funktionerne !-)
Avatar billede fiil123 Nybegynder
26. marts 2005 - 14:52 #13
det er jo det jeg har indsat i min kode... Og hvad er det jeg skal fjerne/indsætte for at få det til at virke... jeg skal have den roll-over fukntion med!
Avatar billede roenving Novice
26. marts 2005 - 14:55 #14
Så skal koden jo også være der, men funktionerne mangler, du må have klippet dem ud på et tidspunkt ...
Avatar billede fiil123 Nybegynder
26. marts 2005 - 14:58 #15
Det her jeg den kode jeg forsøger med:
<a href="txt_index.php" target="main" onclick="changeImg()"><img src="images/main_04.gif" alt="" name="Image2" width="28" height="216" border="0" id="Image2" onMouseOver="MM_swapImage('Image2','','images/main_04_b.gif',1)" onMouseOut="MM_swapImgRestore()"></a>
Hvad er der galt?
Avatar billede roenving Novice
26. marts 2005 - 15:00 #16
Du skal have funktionerne i en javascript-blok, før du kan kalde dem, f.eks.

function MM_swapImage(imgName,imgLink,action){
//koden
}
function MM_swapImgRestore(){
//noget kode
}
function swapImage(){
//kode
}
Avatar billede fiil123 Nybegynder
26. marts 2005 - 15:06 #17
Fuck det er sq da fordi jeg er kommet til at slette de funktioner da jeg skulle prøve med dette... Shiat, men altså det er derfor den laver fejl?
Avatar billede roenving Novice
26. marts 2005 - 15:13 #18
Så laver den i hvert fald fejl, og det kan skygge for andre funktioner !-)
Avatar billede fiil123 Nybegynder
26. marts 2005 - 15:15 #19
Oki jeg forsøger lige at rette det til
Avatar billede fiil123 Nybegynder
26. marts 2005 - 16:25 #20
Nu har jeg det her men det virker stadig ikke!
<script type="text/javascript">
<!--
var pics = new Array();
pics[pics.length] = "feat_gisli.gif";
pics[pics.length] = "feat_kresten.gif";
pics[pics.length] = "feat_thomas.gif";

function changeImg(){
  var pic = document.getElementById('showPic');
  var oldImg = pic.src;
  var num = Math.floor(Math.random()*pics.length);
  while(oldImg.indexOf(pics[num])>-1)
    num = Math.floor(Math.random()*pics.length);
  pic.src = pics[num];
}

function MM_preloadImages() { //v3.0



  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();



    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)



    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}



}







function MM_swapImgRestore() { //v3.0



  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;



}







function MM_findObj(n, d) { //v4.01



  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {



    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}



  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];



  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);



  if(!x && d.getElementById) x=d.getElementById(n); return x;



}







function MM_swapImage() { //v3.0



  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)



  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}



}



//-->



</script>
Avatar billede roenving Novice
26. marts 2005 - 17:34 #21
-- der er ikke lige hul igennem til siden/sitet ...
Avatar billede fiil123 Nybegynder
27. marts 2005 - 21:05 #22
Avatar billede roenving Novice
27. marts 2005 - 21:15 #23
Jeg kan se, at billedet skifter nogen gange, men selve billedet findes ikke ...
Avatar billede roenving Novice
27. marts 2005 - 21:17 #24
Argh, det er jo jpg-filer !-)

pics[pics.length] = "feat_gisli.jpg";
pics[pics.length] = "feat_kresten.jpg";
pics[pics.length] = "feat_thomas.jpg";
Avatar billede fiil123 Nybegynder
27. marts 2005 - 21:36 #25
ja jeg har opdaget det... hehe dumme mig:0)! Men altså man skal klikke på selve billedet før det virker... hvorfor det?
Avatar billede roenving Novice
27. marts 2005 - 21:45 #26
Fjern den onload i body:

<body backgro...

-- og ret også start-billedet:

<img id="showPic" src="feat_gisli.jpg" onclick="changeImg();" style="cursor:pointer;"></td>

-- og jeg har fjernet det ret overflødige link rundt om billedet og gjort den direkte virksom !-)
Avatar billede roenving Novice
27. marts 2005 - 21:48 #27
-- og så er funktionen kun sat på news-linket endnu, så det skal jo så sættes på alle steder !-)
Avatar billede fiil123 Nybegynder
27. marts 2005 - 21:53 #28
Så virker det sq... smide et svar... tak for hjælpen
Avatar billede roenving Novice
27. marts 2005 - 22:03 #29
-- og måske en lille nyttig tilføjelse:

function changeImg(){
  var pic = document.getElementById('showPic');
  var oldImg = pic.src;
  var num = Math.floor(Math.random()*pics.length);
  while(oldImg.indexOf(pics[num])>-1)
    num = Math.floor(Math.random()*pics.length);
  pic.src = pics[num];
  pic.title = pics[num].replace(/^feat_(\w+)\.jpg$/,"$1");
}

-- hvis billederne bliver ved med at hedde, som de gør nu ...

Velbekomme '-)
Avatar billede roenving Novice
27. marts 2005 - 22:04 #30
;O)
Avatar billede roenving Novice
27. marts 2005 - 22:10 #31
-- og tak for point ;~}
Avatar billede fiil123 Nybegynder
27. marts 2005 - 22:12 #32
var så lidt...
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