• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jQuery スクリプトについての質問。)

jQueryのCirculateを利用した画像回転のスタートポイント変更について

このQ&Aのポイント
  • jQueryのCirculateを利用してサイトを構築している際、画像が回転するスタートポイントを変更することは可能でしょうか?具体的には、指定した位置から時計回りや反時計回りに回転させたいと考えています。
  • 現在の状態では、ページを開くと画像が南側をスタートとして時計回りに周っていますが、中途半端な位置や北側から始めるように変更したいと思っています。ただし、自分の知識ではこの方法が分からず、調べ方にも戸惑っています。
  • もし、このような変更が可能な方法をご存知の方がいらっしゃいましたら、教えていただきたいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

ていせい。 x = Math.sin (angle * Math.PI / 180) * r; z = Math.cos (angle * Math.PI / 180) * r; を、 var x = Math.sin (angle * Math.PI / 180) * r; var z = Math.cos (angle * Math.PI / 180) * r; var p = (parts.position)(); を var p = parts.position(); ほそく position : rotationGenerator (r, 60, -1), はんけい,さいしょのかくど,そのかくどのへんかりょう ばぶばぶ。

その他の回答 (6)

回答No.6

var view = function ( viewElement, distance, scale, parts) {  var i = 0, p;  var style = viewElement.style;  var cx = viewElement.offsetWidth / 2;  var cy = viewElement.offsetHeight / 2;  var conversion = function (parts) {   var style = parts.element.style;   var p = (parts.position)();   var pz = (p[2] + distance) / scale;   var py = p[1] / pz;   var px = p[0] / pz;   var ps = parts.size / pz |0;   var ps2 = ps / 2;      style.top = ((cy - py - ps2) |0) + 'px';   style.left = ((cx + px - ps2) |0) + 'px';   style.width = ps + 'px';   style.height = ps+ 'px';   style.zIndex = (distance - p[2])|0;  };  style.position = 'relative';  style.overflow = 'hidden';  while (p = parts[i++])   p.element.style.position = 'absolute',   conversion (p);    return conversion; }; //__ var loop = function ( view, parts, interval ) {  setInterval (   function () {    for (var i = 0, p; p = parts[i++]; view (p)); },   interval || 50); }; //__ var hoge = view (document.getElementById('hoge'), 350, 200, parts); loop (hoge, parts); </script>

回答No.5

  <img id="ball3" alt="ball3" src="data:image/gif;base64,    R0lGODlhGQAZAMQAAFU790U49jgy9S8x9Wxu9ikv9Cg1809e9Bsz8ik/8yVB8+bp/SNG    8SJM7y5V6zxk6CBT7Ut05jdp6LrN+xhb6s/d/FCH7V2N7zJ05W+f83+r9Qhd5Y+497HQ    +p7E9////yH5BAEAAB8ALAAAAAAZABkAAAX/4CeO4lKdaLWQLFtN3STP8FS15NJ5Xuf/    s11n1VpwNBxe78f0HImjRSaD5CSVTixnehtlLFOqdWzVmI9fy8iDsVguYap5Hs9cNp7P    AtN2X/51U39/bhQYHx0bGBISEY6DkBEXbg8WEhQbExmKjBIPD46hop+dmBoSGxQQnZ+t    rqSMGJgWEKoQDQ0OuroPDp+7Dg0QtRsPwsO4ucC6DLrJwxQUDwm3t8kM2Nnaz8MHBwja    4eLhuAQE4NgK6uvs7eoICB4VBusJCQb4+fr39goJBQsWHDBgz0CBAQgTKhxQoEA+AiIm    ODQ4QICAABgzYhSAsGGBLh8INKyIEYDJkwA2PTIsADFKgIMDSqI8GYAjSygiKrwkGWCm    ygIAcEYRedBiRosrCQhl0WGgQY/5DkzAUWQCgQMDEgw4QGAqjhAAOw==">  </div> <script> var rotationGenerator = function ( r, angle, step) {  angle = angle || 0;  step = step || 5;  return function ( ) {   x = Math.sin (angle * Math.PI / 180) * r;   z = Math.cos (angle * Math.PI / 180) * r;   angle += step;   return [x, 0, z];  }; }; //__ var r = 300; var parts = [  {   element : document.getElementById('ball1'),   position : rotationGenerator (r, 0, -1),   size   : 30  },  {   element : document.getElementById('ball2'),   position : rotationGenerator (r, 30, -1),   size   : 30  },  {   element : document.getElementById('ball3'),   position : rotationGenerator (r, 60, -1),   size   : 30  } ]; //__

回答No.4

ぜ・ひ・に、jQuery とかつかわないとだめなの? あそびでかいてみた。ぜんかくくうはくは、はんかくにしてちょ! ながいのでぶんかつです。 そして、がぞうふぁいるがてきすとなので、しょうにんまちになるとおもいます <!DOCTYPE html> <title></title> <style type="text/css"> #hoge {  width : 800px;  height : 300px; } </style> <body>  <div id="hoge">   <img id="ball1" alt="ball1" src="data:image/gif;base64,    R0lGODlhGQAZAMQAAPeqO/abOPWQMvWHL/aobPR+KfN1KPSKT/JkG/NuKfNmJf3t5vFc    I+9UIutcLuhhPO1IIOZoS+hUN/vEuuoyGPzVz+1fUO9uXeVAMvN6b/WIf+UWCPeUj/qz    sfegnv///yH5BAEAAB8ALAAAAAAZABkAAAX/4CeO4lKdaLWQLFtN3STP8FS15NJ5Xuf/    s11n1VpwNBxe78f0HImjRSaD5CSVTixnehtlLFOqdWzVmI9fy8iDsVguYap5Hs9cNp7P    AtN2X/51U39/bhQYHx0bGBISEY6DkBEXbg8WEhQbExmKjBIPD46hop+dmBoSGxQQnZ+t    rqSMGJgWEKoQDQ0OuroPDp+7Dg0QtRsPwsO4ucC6DLrJwxQUDwm3t8kM2Nnaz8MHBwja    4eLhuAQE4NgK6uvs7eoICB4VBusJCQb4+fr39goJBQsWHDBgz0CBAQgTKhxQoEA+AiIm    ODQ4QICAABgzYhSAsGGBLh8INKyIEYDJkwA2PTIsADFKgIMDSqI8GYAjSygiKrwkGWCm    ygIAcEYRedBiRosrCQhl0WGgQY/5DkzAUWQCgQMDEgw4QGAqjhAAOw==">   <img id="ball2" alt="ball2" src="data:image/gif;base64,    R0lGODlhGQAZAMQAADv38jj24zL12i/10mz23Sn0zCjzw0/0yRvytinzuyXztOb99iPx    qyLvoi7rpDzooyDtl0vmozfomLr73Rjqg8/85lDtm13vpjLlhW/zrH/1tQjlao/3vLH6    z573wv///yH5BAEAAB8ALAAAAAAZABkAAAX/4CeO4lKdaLWQLFtN3STP8FS15NJ5Xuf/    s11n1VpwNBxe78f0HImjRSaD5CSVTixnehtlLFOqdWzVmI9fy8iDsVguYap5Hs9cNp7P    AtN2X/51U39/bhQYHx0bGBISEY6DkBEXbg8WEhQbExmKjBIPD46hop+dmBoSGxQQnZ+t    rqSMGJgWEKoQDQ0OuroPDp+7Dg0QtRsPwsO4ucC6DLrJwxQUDwm3t8kM2Nnaz8MHBwja    4eLhuAQE4NgK6uvs7eoICB4VBusJCQb4+fr39goJBQsWHDBgz0CBAQgTKhxQoEA+AiIm    ODQ4QICAABgzYhSAsGGBLh8INKyIEYDJkwA2PTIsADFKgIMDSqI8GYAjSygiKrwkGWCm    ygIAcEYRedBiRosrCQhl0WGgQY/5DkzAUWQCgQMDEgw4QGAqjhAAOw==">

回答No.3

こんばんは。 多分ソースを見ているという事は、example.jsもあって、デモが見れる状態だと思います。 ここで例えば、 function startBallTwo() { の width: -700, を width: 700, に変えてみてください。 デモを見ると、1個だけ逆回転してませんか? これはanimateの引数に渡りますから、プラスとマイナスで動きが逆になります。 (animateのtopとleftの数式に当てはめてみてください)

回答No.2

こんにちは。 >jquery.circulate.jsの46行目辺りでしょうかね? そうです。 そこのanimateの引数です。 初期位置を中心とした動きは簡単ですが、斜め移動とかは、結構ややこしくなると思いますです・・・はい。

buzinesswa
質問者

補足

中途半端な位置からのスタートは難しいという事なので それは私の知識では無理そうです。 もぅ一つお伺いしたいのですが 例えば北と南から(二つ)を回転させる事はどうなのでしょうか? また新しくスクリプトを組み直さなければならないのでしょうか?

回答No.1

こんにちは。 ソース見てみました。 内部的にはjqueryのanimateを4回呼んで、それぞれの位置を計算(この場合は左右半分、上下半分とか)して渡してますね。 「北の位置から時計回り」は簡単にできそうです。 開始位置が違うだけで、結局は上下左右半分半分なので・・・。 中途半端な位置は難しそうです・・・。 内部的には、最初にCSSで定義されているpositionに基づいて、半分半分で計算してますから・・・。

buzinesswa
質問者

補足

こんにちは。 迅速なご回答本当に有難う御座います。 変更する部分としては jquery.circulate.jsの46行目辺りでしょうかね? ちょっと色々変更してみようと思います。

関連するQ&A