0

3 つの JavaScript 関数を持ち、「onclick」でイメージ マップを使用してイメージとマップ座標を変更し、onclick が次の関数を実行する PHP ページがあります。

私がこれまでに持っているコードは、最後の関数の最後のイメージまで正しく実行されます-私は理解しています。私が達成しようとしているのは、関数が onclick の後に新しい座標で一度に 1 つずつ呼び出されるようにすることです。

各関数が呼び出されるまでに時間制限がある場合は問題ありませんが、その時間制限の前に onclick は次の関数を実行できます。

    <img src=<?php echo 'image-start.jpg' ?> width="700" height="400" 
    usemap="#start" class="map" style="border-style:none; margin:0" id="imageX" />


    <map id="start" name="start">
    <area shape="poly"  id="A"  class=""  title="Click to Start"  onclick="myFunction_1()" 
        coords=<?php echo '"'; echo $coords_0; echo '"' ; ?>/>
    <area shape="poly"  id="B"  class=""  title="Click to Start"  onclick="myFunction_1()" 
        coords=<?php echo '"'; echo $coords_0; echo '"' ; ?>/>
    </map>



    <script>
    function myFunction_1() {
         document.getElementById("imageX").src=" <?php echo 'image_1.jpg' ?>  " ;

         document.getElementById("A").coords= <?php echo '"'; echo $coords_1_a; echo '"' ; ?> ;
         document.getElementById("A").onclick= myFunction_2() ;

         document.getElementById("B").coords= <?php echo '"'; echo $coords_1_b; echo '"' ; ?> ;
         document.getElementById("B").onclick= myFunction_2() ;
         }

    function myFunction_2() {
         document.getElementById("imageX").src=" <?php echo 'image_2.jpg' ?>  " ;

         document.getElementById("A").coords= <?php echo '"'; echo $coords_2_a; echo '"' ; ?> ;
         document.getElementById("A").onclick= myFunction_3() ;

         document.getElementById("B").coords= <?php echo '"'; echo $coords_2_b; echo '"' ; ?> ;
         document.getElementById("B").onclick= myFunction_3() ;
         }

    function myFunction_3() {
         document.getElementById("imageX").src=" <?php echo 'image_end.jpg' ?>  " ;
         }
    </script>
4

1 に答える 1

1

setTimeout()たとえば、次のコードを myFunction_1 に追加すると、myFunction_2 が 5 秒 (5000 ミリ秒) で実行されます。

setTimeout(myFunction_2, 5000)
于 2013-02-22T05:51:24.650 に答える