如何在Javascript中在桌子周围随机移动图像

How to randomly move an image around a table in Javascript

本文关键字:周围随 移动 图像 Javascript      更新时间:2024-01-21

我在表格的单元格中有一个图像,我希望它随机从一个单元格移动到另一个单元格。我计划使用setInterval和Math.random()每两秒钟随机移动一次图像,但我无法让图像在上移动

<html>
<head>
    <style>
        tr { width: 300px; height: 100px }
        td { width: 100px; height: 100px }
        img { width: 100px; height: 100px }
    </style>
        <script> 
            function moveImgRandomly()
            {

            }
        </script>
</head>
<body bgcolor="lightblue">
    <table border=1 id="myTable">
        <tr>
            <td></td>
            <td></td>
            <td><img src="http://graemehobbs93.files.wordpress.com/2012/01/ape-1.jpg" id="img"></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>
</body>

到目前为止,这就是我所拥有的。我已经试了好几个小时让图像移动,但它不会移动。我也不能使用jQuery。

这样就可以了。

var img = document.getElementById("img");
var tds = document.getElementsByTagName("td");
setInterval(function(){
	var randomNumber = Math.floor(Math.random() * tds.length);
	tds[randomNumber].appendChild(img);
}, 2000);
tr { width: 300px; height: 100px }
td { width: 100px; height: 100px }
img { width: 100px; height: 100px }
<body bgcolor="lightblue">
    <table border=1 id="myTable">
        <tr>
            <td></td>
            <td></td>
            <td><img src="http://graemehobbs93.files.wordpress.com/2012/01/ape-1.jpg" id="img"></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>
</body>

function clearAll(){
  var elements = document.getElementsByTagName('td');
  for (var i=0;i<elements.length;i++){
    elements[i].innerHTML="<p></p>";
  }
}
setInterval(function(){ 
  clearAll();
                        var elements =            document.getElementsByTagName('td');
                        var ind = Math.floor(Math.random() * elements.length);
                    elements[ind].innerHTML ='<img src="http://www.online-image-editor.com/help/images/photo_border.png" >';
                      }, 3000);
tr { height: 100px};
td { width: 100px; height: 100px; display:block; };
img { width: 100px; height: 100px; }
td p {
  padding:100px;
}
<table border=1 id="myTable">
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>