ホームページ > ウェブフロントエンド > CSSチュートリアル > CSS と jQuery を使用して複数のオブジェクトを円の周りで回転させる方法

CSS と jQuery を使用して複数のオブジェクトを円の周りで回転させる方法

Patricia Arquette
リリース: 2024-12-13 14:53:10
オリジナル
833 人が閲覧しました

How to Rotate Multiple Objects Around a Circle Using CSS and jQuery?

CSS を使用して円の周りで複数のオブジェクトを回転する

単一のオブジェクトを円の周りで回転させることは CSS で実現できますが、複数のオブジェクトを回転させたい場合には課題が生じます。同時に。このプロセスをガイドする詳細なソリューションは次のとおりです。

このソリューションでは、DOM の操作とアニメーションを簡素化する強力な JavaScript ライブラリである jQuery を利用します。オブジェクトの数に関係なく、複数のオブジェクトを円の周りで回転させることができます。

var radius = 100; // adjust to move out items in and out 
var fields = $('.item'),
  container = $('#container'),
  width = container.width(),
  height = container.height();
var angle = 0,
  step = (2 * Math.PI) / fields.length;
fields.each(function() {
  var x = Math.round(width / 2 + radius * Math.cos(angle) - $(this).width() / 2);
  var y = Math.round(height / 2 + radius * Math.sin(angle) - $(this).height() / 2);
  if (window.console) {
    console.log($(this).text(), x, y);
  }
  $(this).css({
    left: x + 'px',
    top: y + 'px'
  });
  angle += step;
});
ログイン後にコピー

この jQuery コードは、円の半径とオブジェクトの数に基づいて各オブジェクトの位置を計算します。各オブジェクトの左と上の位置を設定して、円の周囲に配置します。

アニメーションを完成させるには、次の CSS ルールを追加できます:

body {
  padding: 2em;
}
#container {
  width: 200px;
  height: 200px;
  margin: 10px auto;
  border: 1px solid #000;
  position: relative;
  border-radius: 50%;
  animation: spin 10s linear infinite;
}
.item {
  width: 30px;
  height: 30px;
  line-height: 30px;
  text-align: center;
  border-radius: 50%;
  position: absolute;
  background: #f00;
  animation: spin 10s linear infinite reverse;
}
@keyframes spin {
  100% {
    transform: rotate(1turn);
  }
}
ログイン後にコピー

これらのルール円形の境界線を持つコンテナを作成すると、各オブジェクトがコンテナの周りを反対方向に回転します。半径変数を調整することで、円の中心からのオブジェクトの距離を制御できます。

jQuery と CSS を組み合わせることで、CSS を使用して円の周りで複数のオブジェクトを簡単に回転させ、目的のアニメーション効果を実現できます。 .

以上がCSS と jQuery を使用して複数のオブジェクトを円の周りで回転させる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート