Javascript 以循环方式移动图片

Javascript 以循环方式移动图片,javascript,Javascript,我有下面的代码,可以让4张图片以圆形的方式移动,但它只能旋转其中的两张 <html> <head> <title>Moving div</title> </head> <body> <div id = "listDiv"> <img id="img1" width="200" height="200" /><br /> <span id="quote1" >&l

我有下面的代码,可以让4张图片以圆形的方式移动,但它只能旋转其中的两张

<html>
<head>
<title>Moving div</title>
</head>
<body>
<div id = "listDiv">
    <img id="img1" width="200" height="200" /><br />
    <span id="quote1" ></span>
</div>
<div id="listDiv1">
<img id="img2"  width="200" height="200"/><br/>
<span id="quote2 "></span>
</div>
<div id="listDiv2">
<img id="img3" width="200" height="200"/><br/>
<span id="quote3 "></span>
</div>
<div id="listDiv3">
<img id="img4" width="200" height="200"/><br/>
<span id="quote4 "></span>
</div>

<script>

var listDiv = document.getElementById("listDiv");

var lisDiv1=document.getElementById("listDiv1");
var listDiv2=document.getElementById("listDiv2");
var listDiv3=document.getElementById("listDiv3");
var quote1 = document.getElementById("quote1");
var quote2 = document.getElementById("quote2");
var quote3 = document.getElementById("quote3");
var quote4 = document.getElementById("quote4");
var img1 = document.getElementById("img1");
var img2 = document.getElementById("img2");
var img3 = document.getElementById("img3");
var img4 = document.getElementById("img4");
listDiv.style.backgroundColor = "lightBlue";


listDiv.style.position = "absolute";
listDiv1.style.position = "absolute";
listDiv2.style.position = "absolute";
listDiv3.style.position = "absolute";

var intervalHandle = setInterval(changeSecond, 10);

var counter=0;

var pics = [
"http://www.dyslexiaassociation.ca/gallery/famous/AlbertEinstein.jpg",
"http://www.historyking.com/images/Black-Famous-People.jpg",
"http://www.historyking.com/images/Famous-People-From-Washington.jpg",
"http://baobongdaso24h.com/wp-content/uploads/2011/10/Steve-Jobs-chet1.jpg",
"http://www.stgabss.net/SpecialNeeds/images/stories/famous/john_lennon_portrait.jpg",
"http://imgs.inkfrog.com/pix/just4kids2/President-George-W-Bush_mprtp.jpg",
"http://www.smilorama.com/img/people/rare_photos_of_famous_people/rare_photos_of_famous_people04.jpg"
]; 

var quotes = [
'E=mc<sup style="font-size:xx-small">2</sup>',
"I have a dream",
"Be nice to nerds.<br/>Chances are you'll<br/>end up working for one",
"You are holding it wrong",
"Imagine all the people",
"I know the human being<br/>and fish can coexist peacefully.",
"The name is Bond, James Bond"
];


function changeSecond(){
  if (counter++%2==0){
    if (counter>700){
      counter=0;
    }
    //change the text every 101 counts
    if (counter%101==0){
      var randomIndex = Math.floor(Math.random()*pics.length);
      img1.setAttribute("src", pics[randomIndex]);
      quote1.innerHTML=quotes[randomIndex];
       img2.setAttribute("src", pics[randomIndex]);
      quote2.innerHTML=quotes[randomIndex];
       img3.setAttribute("src", pics[randomIndex]);
      quote3.innerHTML=quotes[randomIndex];
       img4.setAttribute("src", pics[randomIndex]);
      quote4.innerHTML=quotes[randomIndex];
    }
    //move the element to the left:
    listDiv.style.left =400+200*Math.cos(counter/90)+"px"; 
    //move the element down:
    listDiv.style.top =400+200*Math.sin(counter/90)+"px"; 
      listDiv1.style.left =400 + 300* Math.cos(counter/90)+"px";
      listDiv1.style.top =400 + 200 * Math.cos(counter/90)+"px";
      listDiv2.style.left =400 + 200 * Math.cos(counter/90)+"px";
      listDiv2.style.top =400 + 200 * Math.cos(counter/90)+"px";
      listDiv3.style.left =400 + 200 * Math.cos(counter/90)+"px";
      listDiv3.style.top =400 + 2width="200" height="200"00 * Math.cos(counter/90)+"px";
  }
}


</script>
</body>
</html>

移动div

我能做什么?

有几个简单的错误阻止了所有4个显示

其中一个原因是,在span id中有一些空格用于引号,这导致了错误:

<span id="quote2 "></span>
<span id="quote3 "></span>
<span id="quote4 "></span>
这个width=和height=位可能是发布时的粘贴错误,但需要删除

当时有3个很好地出现了,所以看起来你有4个,但有两个被他们的朋友覆盖了

尝试更改每一个的起点,如下所示(我将左侧的200、300、400、500作为计算的一部分):

这是不是很好看,但它让他们暴露出来,你可以发挥它和安排他们更好

希望对你有所帮助

  listDiv3.style.top =400 + 2width="200" height="200"00 * Math.cos(counter/90)+"px";
listDiv.style.left =400+200*Math.cos(counter/90)+"px"; 
listDiv.style.top =400+200*Math.sin(counter/90)+"px"; 

listDiv1.style.left =400 + 300 * Math.cos(counter/90)+"px";
listDiv1.style.top =400 + 200 * Math.cos(counter/90)+"px";

listDiv2.style.left =400 + 400 * Math.cos(counter/90)+"px";
listDiv2.style.top =400 + 200 * Math.cos(counter/90)+"px";

listDiv3.style.left =400 + 500 * Math.cos(counter/90)+"px";
listDiv3.style.top =400 + 200 * Math.cos(counter/90)+"px";