Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:06 Der er 19 kommentarer og
1 løsning

tæl klik!

hej!

Hvordan tæller jeg antal klik på fx. et billede?
Avatar billede olebole Juniormester
11. marts 2005 - 17:07 #1
<ole>

1, 2, 3 ... osv  :)

Hvad mener du mere præcist?

/mvh
</bole>
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:09 #2
ja :)

jeg har et billed, som jeg skal se, hvor mange gange jeg klikker på.. starter på '1', så '2', så '3' osv..
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:10 #3
"Antal klik" tallet skal være en variabel, som jeg skal bruge videre..
Avatar billede olebole Juniormester
11. marts 2005 - 17:11 #4
Tja ... kunne gøres sådan:

<script type="text/JavaScript">
var counter = 0;
</script>

<img src="pic.gif" onclick="counter++">

<button onclick="alert(counter)">TEST</button>
Avatar billede olebole Juniormester
11. marts 2005 - 17:16 #5
Du kan også knytte tælleren til billedet (hvis du har flere, der skal tælles klik på):

<script type="text/JavaScript">
function myCount(pic) {
    var counter = pic.getAttribute("count");
    pic.setAttribute("count", counter? counter+1 : 1);
}
</script>

<img id="hest" src="pic.gif" onclick="myCount(this)">

<button onclick="alert(document.getElementById('hest').count)">TEST</button>
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:28 #6
Kan man få counter til at starte forfra, når man kommer til 3?
Avatar billede olebole Juniormester
11. marts 2005 - 17:30 #7
yups ... vil du have en enkelt, global variabel - eller værdien knyttet til billedet?
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:33 #8
faktisk er det bare et billed som skal kunne skife mellem 3 forskellige billeder, men den skal skifte "forfra" efter 3 klik:

  if(counter == 1) {
    document.getElementById('felt1').src = "img2.gif";
  }else if(counter == 2) {
    document.getElementById('felt1').src = "img3.gif";
  }else if(counter == 3) {
    document.getElementById('felt1').src = "img1.gif";
  }
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:36 #9
Men det ville være rart, hvis der var en variabel (1 2 3), der bestemte hvor den skal starte ved load..
Avatar billede olebole Juniormester
11. marts 2005 - 17:41 #10
Det sidste forstår jeg ikke, men ellers kunne du gøre noget à la:

<script type="text/JavaScript">
var counter = 1;
function myCount() {
    var f = document.getElementById('felt1');
    counter = (counter==3)? 1 : counter += 1;
    if (counter == 1) {
        f.src = "img2.gif";
    } else if (counter == 2) {
        f.src = "img3.gif";
    } else if (counter == 3) {
        f.src = "img1.gif";
    }
}
</script>

<img src="pic.gif" onclick="myCount()">
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:51 #11
Som det er nu bestemmer scriptet at img2.gif er det første der vises når man klikker. Hvis jeg vil have img3.gif vist ved første klik og stadig skal køre rækkefølgen "img2.gif, img3.gif, img1.gif" er rækkefølgen nu "img3.gif, img1.gif, img2.gif"..

det er svært at forklarer.. den skal hole rækkefølgen, men skal starte som fx. img2.gif
Avatar billede olebole Juniormester
11. marts 2005 - 17:56 #12
Sæt 'counter = 2' fra start  ;o)
Avatar billede olebole Juniormester
11. marts 2005 - 17:58 #13
Næhov ... med counter=1 fra start, vil img3.gif vises, første gang der klikkes
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:59 #14
;) smart.. Kan man så angive en value="" eftersom hvad man har valgt eller er ikke til i en <img> ?

(Giver gerne flere points, hvis det er ;))
Avatar billede hmm10 Nybegynder
11. marts 2005 - 17:59 #15
Den skal værer i en <form>..
Avatar billede olebole Juniormester
11. marts 2005 - 19:31 #16
Jeg forstår ikke, hvad du spørger om. Vil du have billednavnet ned i et skjult formfelt, eller ...?
Avatar billede hmm10 Nybegynder
11. marts 2005 - 22:00 #17
ja, det var faktisk en mulighed
Avatar billede hmm10 Nybegynder
11. marts 2005 - 22:20 #18
virker.. :) Smid et svar olebole.


<script type="text/JavaScript">
  var counter = 0;
  function myCount() {
    var f = document.getElementById('felt1');
    var g = document.getElementById('input1');
    counter = (counter==3)? 1 : counter += 1;
    if (counter == 1) {
        f.src = "img2.gif";
        g.value = '2';
    }else if(counter == 2) {
        f.src = "img3.gif";
        g.value = '3';
    }else if(counter == 3) {
        f.src = "img1.gif";
        g.value = '1';
    }
  }
</script>

<form action="hakaf.htm">
<input type="hidden" id="input1" name="valg1" value="">
<img id="felt1" src="img1.gif" style="cursor: hand;" onclick="myCount()">
<input type="submit" >
</form>
Avatar billede olebole Juniormester
11. marts 2005 - 23:23 #19
Lige én ting: brug 'pointer' i stedet for 'hand'. Det er der flere, der forstår  ;o)
Avatar billede hmm10 Nybegynder
12. marts 2005 - 08:44 #20
tja..
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