HTML/CSS/JavaScript'i kullanarak dairesel bir yol boyunca bir daire taşımak istiyorum. bunu arşivlemenin bir yolu var mı? O Matematik zamanı sizeHTML/JavaScript/CSS kullanarak dairesel bir yol boyunca bir div taşıma
cevap
Bunu, saf css3 ile başarabilirsiniz. Böyle yaz:
CSS
.dot{
position:absolute;
top:0;
left:0;
width:50px;
height:50px;
background:red;
border-radius:50%;
}
.sun{
width:200px;
height:200px;
position:absolute;
-webkit-animation-iteration-count:infinite;
-webkit-animation-timing-function:linear;
-webkit-animation-name:orbit;
-webkit-animation-duration:5s;
top:50px;
left:50px;
}
@-webkit-keyframes orbit {
from { -webkit-transform:rotate(0deg) }
to { -webkit-transform:rotate(360deg) }
}
HTML
<div class="sun">
<div class="dot"></div>
</div>
Kontrol bu http://jsfiddle.net/r4AFV/
GÜNCELLEME
ancak bu bağlantıyı kontrol edin: daire için kod aşağıda eklenir!
function circle(){
var width = 10,
height = 10,
offsetX = 100,
offsetY = 100,
x = Math.cos(new Date()) * width + offsetX; //Remember high school?
y = Math.sin(new Date()) * height + offsetY;
//Do whatever you want here with the coordinates.
document.getElementsByClassName("circle")[0].style.left = x;
document.getElementsByClassName("circle")[0].style.top = y;
setTimeout(circle, 50);
}
için yararlı olabilir, Hey bu benim kodu değil
.circle{
width:50px;
height:50px;
display:block;
border-radius:50px;
-moz-border-radius:50px;
-webkit-border-radius:50px;
-khtml-border-radius:50px;
color:#fff;
background-color:#b9c1de;
}
<div class="circle"></div>
Birlikte atadığım saf bir JavaScript çözümü. Çok iyi bir tarayıcı desteği olmalıdır (CSS3 gerekli değildir). Çok yapılandırılabilir. JavaScript bölümünün alt altındaki yapılandırma seçeneklerine baktığınızdan emin olun. Kütüphane gerektirmez.
CSS ile dairesel bir yol içinde, bir kap div hareket 2 yol vardır:
1) CSS animasyon özelliği dönüşümü:
döndürülecekse elemanı olmalıdır Bir ana öğe. Şimdi çocuğu 60 derece hareket ettirmek istiyorsanız, önce ebeveyni 60 derece döndürün ve daha sonra çocuğu -60 derecelik (çocuğun ters çevrilmemesi için ters açıyla) çevirin.
Animasyon gerçekleştirmek için CSS geçişi, CSS animasyonu veya Web Animations API kullanın.
Aşağıdaki kod hakkında:
Veli göreli konumlandırmaya sahiptir. Ayrıca eşit yükseklik, genişlik, kenarlık yarıçapı = =% 50 vererek dairesel hale getirin.
Çocuk mutlak bir konuma sahiptir. Bir üst & genişlik, üst & sol özellikler verilmiştir, böylece üst öğenin üst ortasında görünecektir.
#parent {
position: relative;
width: 300px;
height: 300px;
border: 1px solid rgba(0,0,0,0.1);
border-radius: 50%;
transform: rotate(0deg);
transition: transform 0.7s linear;
}
#child {
position: absolute;
width: 80px;
height: 80px;
transform: rotate(0deg);
transition: transform 0.7s linear;
top: -40px;
left: 110px;
border: 1px solid black;
}
$("#button").on('click', function() {
$("#parent").css({ transform: 'rotate(60deg)' });
$("#child").css({ transform: 'rotate(-60deg)' });
});
http://usefulangle.com/post/32/moving-an-element-in-circular-path-with-css
yazdığım bir blog yazısı olduğunu. Ayrıca bir demo içerir. CSS ofset konumlu özelliği animasyon2):
yeni CSS hareket yolunu veya ofset yolu ile, herhangi bir yol boyunca bir öğe animasyon mümkündür.Ancak şu andan itibaren (Ocak 2017), yalnızca Chrome'un en yeni sürümünde çalışacaktır.
Ofset yolu özelliği ile dairesel bir SVG yolu tanımlamanız gerekir. Ardından, CSS geçişi, CSS animasyonu veya Web Animasyonları API'sı kullanılarak ofset mesafesi özelliğini bu yol üzerinde canlandırın.
Bir SVG yolunu tanımlamak dışında, ofset-yolu: kenar boşluğu kutusu. Bu, yolu ebeveyin sınır sınırı olarak tanımlar. Ebeveyn sınır-yarıçapı ile dairesel yapılmışsa, yol da dairesel olacaktır.
#child {
offset-path: margin-box;
}
Hareket Yolu ile dairesel animasyon uğraşan ilgili blog yayını için http://usefulangle.com/post/33/moving-element-in-circular-path-with-css-offset-path bakınız.
- 1. Metni dairesel olarak sayfa üzerinde taşıma
- 2. Nesneleri bir yol boyunca yerleştirme (çoğaltma) yolu
- 3. jQuery kullanarak bir div döndürme
- 4. Dairesel segment CSS/CSS3 kullanarak
- 5. Bir dosyayı Swift'de taşıma
- 6. label linebreaking - tüm div boyunca yayılmalıdır
- 7. Javascript kullanarak bir div etrafında saygısız
- 8. bir div bir div dinamik
- 9. Taşıma Mysql Dairesel mekansal veri kümeleri Elovel ORTA
- 10. CAKeyframeAnimation - yol boyunca ilerleyin ve rahatlığı kullanın
- 11. CAKeyframeanimation, yol boyunca UIView'i hareket ettirin
- 12. SpriteKit'te bir kamerayı taşıma
- 13. HtmlUnit kullanarak başka bir div içinde div nasıl bulunur?
- 14. dikey hizalama div jquery'yi kullanarak bir div içinde mi?
- 15. JavaScript'i kullanarak bir div içeriğini değiştir
- 16. JavaScript kullanarak bir div içeriğini nasıl temizlerim?
- 17. WinForm'da GraphicsPath kullanarak dairesel bir ilerleme çubuğu nasıl çizilir?
- 18. Başka bir DIV üzerinde bir DIV Float
- 19. Başka bir div üzerinde bir div yerleştirin
- 20. Bir SVG dairesel öğesinde hizalamadan kurtulmak
- 21. bir div
- 22. Winst'te dairesel bir yoldaki metni nasıl canlandırabilirim?
- 23. Bir tarih aralığı boyunca UDF
- 24. TFS: Bir sunucudan diğerine taşıma
- 25. Arama çubuğuna yan dairesel bir şekil verin
- 26. Nesneleri bir unordered_map'ten başka bir kaba taşıma
- 27. arkasında bir görüntüyü bulanıklaştırmak için bir div kullanarak?
- 28. JQuery kullanarak bir görüntüyü dairesel bir yolda nasıl hareket ettirirsiniz? İşte
- 29. Gerçekten dairesel bir SVG düğmesi oluşturabilir misiniz?
- 30. Meteor MongoDB'yi bir VPS'den diğerine taşıma?
Sandeep +1 bunun için firefox üzerinde çalışmıyor ancak firefox'ta aynı sonucu nasıl elde edebilirsiniz .... –
+1 for CSS3! Not: Bu sadece Webkit tarayıcıları içindir. –
Firefox da çalışan güncel güncellememi de kontrol edin – sandeep