0

以下の非常に単純なコードは機能しません。理由はわかりませんが、画像をスムーズに動かすJS関数です。助けてくれるのは素晴らしい人たちで、ほとんどすべてを試しました。

コードをコピーして php スクリプトに貼り付けてテストする準備ができました。よろしくお願いします

<?php
echo "

<script type='text/javascript'>

var img = document.getElementById( 'test' );

function translate( elem, x, y ) {
    var left = 120,
        top = 120,
        dx = left - x,
        dy = top - y,
        i = 1,
        count = 20,
        delay = 20;

    function loop() {
        if ( i >= count ) { return; }
        i += 1;
        elem.style.left = ( left - ( dx * i / count ) ).toFixed( 0 ) + 'px';
        elem.style.top = ( top - ( dy * i / count ) ).toFixed( 0 ) + 'px';
        setTimeout( loop, delay );
    }

    loop();
}

</script>
";
echo '
</head>
<body>
  <img id="test" src="http://placekitten.com/100/100" style="position:absolute; left:120px; top:120px;">


<a href="#" onclick="translate(\'test\', 30 , 30)">Translate to (0, 200)</a>

</body>
';
?>
4

1 に答える 1