我正在寻找一些指导,如何实现已拍摄的效果。所以我正在学习JS和jQuery,我想建立一个基本上由圆组成的圆。这可能吗?任何信息都会有帮助的。我知道你可以把div/images排列成一个圆圈,但是多层呢?[本质上是一圈一圈?}

最佳答案

我写这篇文章的时候还没注意到你也想在中心画个圈,而不仅仅是在周边,但还是在这里:
JSBin demo
Javascript

var app = {
  count : 15,
  el : {
    self : document.getElementById('wrap'),
    width : document.getElementById('wrap').clientWidth,
    height: document.getElementById('wrap').clientHeight
  },
  circle : {
    radius : ( document.getElementById('wrap').clientWidth / 2 ) - 50,
    centerX : ( document.getElementById('wrap').clientWidth / 2 ),
    centerY : ( document.getElementById('wrap').clientHeight / 2 ),
  },
  methods : {
    circle : function(radius, steps, centerX, centerY) {
      var xValues = [centerX];
      var yValues = [centerY];
      for (var i = 0; i < steps; i++) {
          xValues[i] = (centerX + radius * Math.cos(2 * Math.PI * i / steps));
          yValues[i] = (centerY + radius * Math.sin(2 * Math.PI * i / steps));
      }

      return [xValues, yValues];
    }
  }
}


var coords = app.methods.circle(app.circle.radius, app.count, app.circle.centerX, app.circle.centerY);

for ( var i=0; i<app.count; i++ ) {
  var x = coords[0][i],
      y = coords[1][i];

  var rand = Math.floor((Math.random() * app.count) + 1);

  var div = document.createElement('div')
      div.style.left = (x-25) + 'px'
      div.style.top = (y-25) + 'px'
      div.style.backgroundImage = 'url("http://api.randomuser.me/portraits/med/men/'+rand+'.jpg")'

  app.el.self.appendChild(div)
}

关于javascript - 将多层图像排列成圆形?可能吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27137274/

10-09 23:45