2012-07-04 22 views
1

我有一張圖片,並希望跟蹤它在javascript中點擊了多少次,但我不知道如何記錄點擊次數。在imagemap上增加可變計數點擊

<p> 
    <img src="image.png" alt="missing" width="396" height="376" border="0" usemap="#thatPageMap" /> 

    <map name="imageMap" id="thatPageMap"> 
     <area shape="poly" coords="0,376,-3,269,50,251,60,234,71,225,76,192,69,178,44,127,50,82,73,62,94,48,69,46,108,30,145,20,162,29,162,16,183,34,193,41,228,35,247,38,225,47,242,47,279,53,306,78,324,117,326,150,335,179,327,200,327,221,351,234,357,263,393,275,394,378" href="thatpage.com" alt="Refresh" /> 
    </map> 
</p> 

以上是圖片地圖,下面是帶有計數ID的javascript和段落。

<script type="text/javascript"> 

    var count; 

    document.getElementById("counted").innerHTML = "This has been clicked " + count + " times."; 

</script> 

<p id="counted"></p> 

如何在每次點擊圖像圖像時增加變量計數?

+0

[的addEventListener(https://developer.mozilla.org/en/DOM/element.addEventListener)然後去學着做它與jQuery或類似的庫兼容 –

回答

3

例如像這樣:

<script type="text/javascript"> 
    var count = 0; 
    function updateCounter() { 
     count++; 
     document.getElementById("counted").innerHTML = "This has been clicked " + count + " times."; 
    } 
</script> 

<p id="counted"></p> 

<map name="imageMap" id="thatPageMap" onclick="updateCounter()"> 
    <area shape="poly" coords="0,376,-3,269,50,251,60,234,71,225,76,192,69,178,44,127,50,82,73,62,94,48,69,46,108,30,145,20,162,29,162,16,183,34,193,41,228,35,247,38,225,47,242,47,279,53,306,78,324,117,326,150,335,179,327,200,327,221,351,234,357,263,393,275,394,378" href="thatpage.com" alt="Refresh" /> 
</map> 
+0

非常簡單:P非常感謝! 計數是頁面刷新次數,使用cookie存儲變量,完美工作。 再次感謝! – cheeseman

0

創建一個函數來增加點擊計數,然後調用從該地區的onclick。

<script type="text/javascript"> 

    var count; 

    function clicked() { 
     count = count + 1; 
     document.getElementById("counted").innerHTML = "This has been clicked " + count + " times."; 
    } 



</script> 


<p> 
    <img src="image.png" alt="missing" width="396" height="376" border="0" usemap="#thatPageMap" /> 

    <map name="imageMap" id="thatPageMap"> 
     <area onclick="clicked();" shape="poly" coords="0,376,-3,269,50,251,60,234,71,225,76,192,69,178,44,127,50,82,73,62,94,48,69,46,108,30,145,20,162,29,162,16,183,34,193,41,228,35,247,38,225,47,242,47,279,53,306,78,324,117,326,150,335,179,327,200,327,221,351,234,357,263,393,275,394,378" href="thatpage.com" alt="Refresh" /> 
    </map> 
</p> 

或者將onclick添加到地圖本身。但是如果你正在計算一個特定的區域,從那裏調用它。

+0

首先調用它將會是'undefined1',因爲您不會將'devault'值添加到'count'變量。 – antyrat

0

如果你沒有關鍵字定義你的計數器var它是一個全局變量。

你只需要改變

var count; 

count; 
+0

爲什麼你需要在全球範圍內增加「count」變量? – antyrat

+0

您的解決方案更優雅;) – duffy356