1

イメージマップがあり、JavaScript でクリックされた回数を追跡したかったのですが、クリック数を記録する方法がわかりません。

<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>

イメージマップがクリックされるたびに変数カウントを増やすにはどうすればよいですか?

4

4 に答える 4

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>
于 2012-07-04T15:47:44.077 に答える
0

どうぞ: http://jsfiddle.net/PUs9g/

于 2012-07-04T15:47:56.000 に答える
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 をマップ自体に追加します。ただし、特定の領域をカウントする場合は、そこから呼び出します。

于 2012-07-04T15:49:10.490 に答える
0

キーワード var なしでカウンターを定義すると、それはグローバル変数になります。

あなただけが変更する必要があります

var count;

count;
于 2012-07-04T15:49:55.737 に答える