확인을 사용하여 3D 엔진, 내가 왔어요되어 더 나은 3D 라이브러리
이있다 다음과 :
http://jsfiddle.net/andyc/ZncP6/
var numOfBoxes = 10;
var boxContainer = $(".boxcontainer");
var gap = 360/(numOfBoxes);
for (var i = 0; i < numOfBoxes; i++) {
$("<div>").attr("data-offset", (gap * i)).addClass("box").appendTo(boxContainer);
}
$(".box").each(function() {
var box = $(this);
positionBox(box, 0);
});
$({position: 0}).animate({position: 360}, {
duration: 4000,
step: function() {
var currentPosition = this.position;
console.log(currentPosition);
$(".box").each(function() {
var box = $(this);
positionBox(box, currentPosition);
});
}
});
function positionBox(box, position) {
var newPosition = position + box.data("offset");
var newRadianPosition = convertToRadians(newPosition);
var x = Math.cos(newRadianPosition) * 200 + 200;
var y = Math.sin(newRadianPosition) * 100 + 200;
var absolutePosition = newPosition % 360;
if (absolutePosition > 180) {
box.css("z-index", "0");
}
else {
box.css("z-index", "");
}
// Could scale the size of the item here as well as position
box.css("top", y + "px").css("left", x + "px");
}
function convertToRadians(degrees) {
return degrees * (3.14159265/180);
}
그것은 너무 분명 당신의 필요에 맞게 싶어, 조금 거칠고 준비. 효과적으로, 각 단계에서 중앙 div 주변의 작은 div를 증가시키고 재배치하는 커스텀 jQuery 애니메이션을 생성합니다. 그들이 절반 정도라면 z 지수가 변경되어 깊이의 환상을 만듭니다.
좀 더 사실적으로 보이게하려면 글꼴에 얼마나 가까운 지에 따라 div의 크기를 조정할 수 있습니다.
이 정보가 도움이됩니까?
좀 더 자세한 설명을 원하면 알려주세요. :) 따!
단순히 CSS3 전환을 사용할 수 있으므로 추가 라이브러리가 필요하지 않습니다. 그들 주위의 많은 정보가 있어야합니다! :) 유일한 단점은 사용하는 3D 엔진으로 해결할 수있는 IE의 약간의 지원 부족입니다 – Andy
그런데, 당신은 당신이 99 % 같은 것을 필요로한다고 말합니다. 개선하거나 수정해야 할 것은 무엇입니까? – Andy
becoz 클라이언트는 플래시 대신 js가 필요하며 플래시 소스는 손실되고 플래시의 경로는 하드 코드 – user192344