Avatar billede shjorth Nybegynder
15. januar 2008 - 17:25 Der er 16 kommentarer og
1 løsning

Javascript - billede skift

Hejsa.

Jeg sidder og leger med følgende:

<script type="text/javascript">
<!-- Dette script og mange flere -->
<!-- findes hos http://www.html.dk -->
<!-- Start

billede1 = new Image();
billede1.src = "b/ext_pwr_off.gif";

billede2 = new Image();
billede2.src = "b/ext_pwr_on.gif";

function skiftbillede(img_name,img_src) {
document[img_name].src=img_src;
}

// Slut -->
</script>
<a href="#" onClick="skiftbillede('eksempel','b/ext_pwr_on.gif')">
<img name="eksempel" src="b/ext_pwr_off.gif" alt="Før musen over dette billede"
style="border:none;" /></a>

Oprindeligt er det en "Onmouseover / out" funktion, så jeg ændrede til onclick, og det virker også fint.

Det jeg gerne vil have er at hvis man trykker IGEN så ser man det oprindelige billede (b/ext_pwr_off.gif)

Er der nogle kloge hoveder derude der har forstand på det ?
Avatar billede shjorth Nybegynder
15. januar 2008 - 17:28 #1
Noget alla "onClickAgain" ;)
Avatar billede w13 Novice
15. januar 2008 - 17:49 #2
Det ku' klares nogenlunde sådan her:

<script type="text/javascript" language="javascript">
billede1=new Image();
billede1.src="b/ext_pwr_off.gif";

billede2=new Image();
billede2.src="b/ext_pwr_on.gif";

function skiftbillede(id,src1,src2){
  var o=document.getElementById(id);
  o.setAttribute("src",o.getAttribute("src")==src1?src2:src1)
}
</script>
<a href="java script:void(0)" onclick="skiftbillede('eksempel','b/ext_pwr_on.gif','b/ext_pwr_off.gif')">
<img id="eksempel" src="b/ext_pwr_off.gif" alt="Før musen over dette billede"
style="border-width:0"></a>
Avatar billede shjorth Nybegynder
15. januar 2008 - 17:54 #3
Hmm det ser ikke ud til at virker.. Er ligesom det var før (kun 1 klik) :S
Avatar billede w13 Novice
15. januar 2008 - 18:22 #4
Følgende virker for mig:

<html>
<head>
</head>
<body>
<script type="text/javascript" language="javascript">
billede1=new Image();
billede1.src="ext_pwr_off.gif";

billede2=new Image();
billede2.src="ext_pwr_on.gif";

function skiftbillede(id,src1,src2){
    var o=document.getElementById(id);
    o.setAttribute("src",o.getAttribute("src")==src1?src2:src1)
}
</script>
<a href="java script:void(0)" onclick="skiftbillede('eksempel','ext_pwr_off.gif','ext_pwr_on.gif')">
<img id="eksempel" src="ext_pwr_off.gif" alt="Før musen over dette billede" border="0">
</a>

</body>
</html>
Avatar billede shjorth Nybegynder
15. januar 2008 - 18:26 #5
Jeg testede lige i FireFox.. Der virkede det perfekt -> Du har fortjent dine points.

Men, tror du det er muligt at lave så det virker i IE ?
Avatar billede w13 Novice
15. januar 2008 - 18:37 #6
Har du prøvet min nye kode? Skal nok få det til at virke i begge. =) Problemet er vist, at IE selv indsætter hele stien, altså www... og derfor kan vi ikke bare teste på, om stien = 'b/ext_pwr_off.gif'.
Avatar billede shjorth Nybegynder
15. januar 2008 - 18:39 #7
Hele stien -> og så virkede det sku.. Jeg takker mange gange!
Avatar billede w13 Novice
15. januar 2008 - 18:40 #8
Prøv evt. sådan her:

<html>
<head>
</head>
<body>
<script type="text/javascript" language="javascript">
billede1=new Image();
billede1.src="b/ext_pwr_off.gif";
billede2=new Image();
billede2.src="b/ext_pwr_on.gif";

function skiftbillede(id,src1,src2){
    var o=document.getElementById(id);
    o.title=o.src=o.getAttribute("title")==src1?src2:src1
}
</script>
<a href="java script:void(0)" onclick="skiftbillede('eksempel','b/ext_pwr_off.gif','b/ext_pwr_on.gif')">
<img id="eksempel" title="b/ext_pwr_off.gif" src="b/ext_pwr_off.gif" alt="Før musen over dette billede" border="0">
</a>

</body>
</html>
Avatar billede w13 Novice
15. januar 2008 - 18:40 #9
Ok :D og tak for point!
Avatar billede shjorth Nybegynder
15. januar 2008 - 18:41 #10
Lige hurtigt. Er det muligt at lave 2 sekvenser??
Klik 1 -> nyt pic -> klik 2 -> nyere pic -> klik 3 forfra
Avatar billede w13 Novice
15. januar 2008 - 18:42 #11
Går den ikke tilbage til første billede ved 3. klik?
Avatar billede shjorth Nybegynder
15. januar 2008 - 18:43 #12
Nej 2 klik -> men det er også rigtigt :D

Jeg ville bare udbygge så der kunne skiftes mellem 3 billeder istedet for to ;)
Avatar billede w13 Novice
15. januar 2008 - 18:43 #13
Nåå.. Hmm.. Ikke lige så let i hvert fald :)
Avatar billede shjorth Nybegynder
15. januar 2008 - 18:46 #14
Æv ;)
Avatar billede w13 Novice
15. januar 2008 - 19:00 #15
Ellers må det være noget i stil med følgende... ;)

<script type="text/javascript" language="javascript">
billede1=new Image();
billede1.src="b/ext_pwr_off.gif";
billede2=new Image();
billede2.src="b/ext_pwr_on.gif";

function skiftbillede(id,arrSrc){
    var o=document.getElementById(id);
    if(o.getAttribute("title")==arrSrc.length-1)o.setAttribute("title","0");
    else o.setAttribute("title",parseInt(o.getAttribute("title"))+1);
    o.setAttribute("src",arrSrc[o.getAttribute("title")]);
}
</script>

<a href="java script:void(0)" onclick="skiftbillede('eksempel',new Array('b/ext_pwr_off.gif','b/ext_pwr_on.gif','b/ext_pwr_gone.gif'))">
<img id="eksempel" title="0" src="b/ext_pwr_off.gif" alt="Før musen over dette billede" border="0">
</a>
Avatar billede shjorth Nybegynder
15. januar 2008 - 19:41 #16
Det er fandme smuk.. tusinde tak ;)
Avatar billede w13 Novice
15. januar 2008 - 19:43 #17
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