![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
http://www.shurey.com/js/craft/aclock/
のアナログ時計のプログラムの、画像を回転させる部分
document.getElementById("image_short").style.transform = "rotate(" + hDeg + "deg)";
この "rotate(" + hDeg + "deg)";がなぜこのような記述になるのかがわからず、困っています。
調べてもこのような記述方法はアナログ時計のプログラム以外に見つからず…
初心者ですので、わかりやすく解説いただければ幸いです。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ANo1です。
疑問点が何なのかがよく理解できていませんが・・・
例えば、id="hoge"という要素に対して、CSSで
#hoge { transform: rotate(90deg); }
とすれば、90度回転して表示されるのはわかりますよね?
スクリプトからこれと同等の指定をするなら、
document.getElementById("hoge").style.transform = "rotate(90deg)";
のようになります。(方法の一例です)
今回のご質問の場合は、上の90の部分を自由に指定の角度にしたいわけなので、角度に応じて、"rotate(5deg)"とか"rotate(210deg)"などといった文字列を作成する必要があります。
指定した角度が変数hDegの値となっているとすれば、
hDeg = 5;
"rotate(" + hDeg + "deg)" → "rotate(5deg)"
が得られますし、
hDeg = 210;
"rotate(" + hDeg + "deg)" → "rotate(210deg)"
を意味することになるので、回転角度を指定するのに
"rotate(" + hDeg + "deg)"
を用いているということになります。
javascriptの文字列連結について勉強してみてください。
(特に、数値を含む場合の連結に関して)
https://www.ajaxtower.jp/js/ope/index16.html
https://developer.mozilla.org/ja/docs/Web/JavaSc …
まさに文字連結について悩んでいました。
"rotate(hDeg + deg)"では作動せず"rotate(" + hDeg + "deg)"で作動する理由といいますか…
わかりにくい質問で申し訳ありません
No.1
- 回答日時:
こんにちは
ご質問の部分は、CSS3のtransform rotateを利用して画像を回転させています。
単純化できるように、事前に、用いる図形の中心を全て合わせておいて、それぞれの針の示すべき時刻に対応するように、計算した角度分を図形の中心を回転中心として回転させています。
『CSS transform』あたりをキーに検索してみれば、解説はたくさん見つかると思います。
https://developer.mozilla.org/ja/docs/Web/CSS/tr …
http://htmq.com/css3/transform_rotate.shtml
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
- アクセサリ・腕時計 時計のアナログ、デジタルについて 3 2023/07/04 17:50
- iPhone(アイフォーン) iPhoneのロック画面にアナログ時計を表示させる方法を教えてください 1 2023/08/11 21:11
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- 時計・電卓・電子辞書 時計がずべて遅れてしまう原因はなんですか? 11 2023/02/16 00:29
- iPhone(アイフォーン) iPhoneで表示されるアナログ時計、時間が合ってないんですが合わせる方法はありますか。 4 2023/03/21 16:31
- 統計学 母平均の検定(両側t検定)の問題 2 2023/03/14 20:02
- その他(プログラミング・Web制作) Python3プログラムについて 4 2023/05/21 14:55
- 電気工事士 【電気のメガー】アナログ絶縁抵抗計とデジタル絶縁抵抗計の良好表示の違いの謎について教えて 1 2023/03/15 11:47
- その他(コンピューター・テクノロジー) 50台の織機から回転数を取得・集計しモニターに表示したい 2 2022/11/05 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFを(htmlのように)無限に縦...
-
VBA ディレクトリ名をワイルド...
-
要素内を常に一番下を表示させたい
-
C言語のflagの使い方が分かりま...
-
ワードでA3横の画面にして、文...
-
バッチファイル 特定ウインドウ...
-
VBA
-
時間表示で0:48:17と入力すると...
-
MMS機能とは
-
VBA コンボボックスの値をスピ...
-
VBAユーザーフォーム内に別のシ...
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信で掲示板を作る際の...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSプルダウンメニューとjQuery...
-
jQueryでスライドショー作成(無...
-
jQueryのアコーディオンメニュ...
-
jqueryのslideUpについて質問で...
-
アコーディオンで多階層のメニ...
-
jqueryで開閉メニューの状態をc...
-
jqueryで作ったアコーディオン...
-
同一ページ移動時ハンバーガー...
-
jQueryで複数あるUL要素の最後...
-
matlabの要素の検索
-
jQueryプラグインが動かない
-
Jcarousel 複数設置
-
jQuery 隣接セレクタ
-
アナログ時計の画像の回転
-
双方向リストについて
-
フォーム2を出して フォーム...
-
ドラッグ & ドロップでのド...
-
JavascriptからPHPへのAjax通信...
-
階層別の組織図の自動作成について
-
Javascriptを使ってQRコード読...
おすすめ情報
私がわからないのは、"(" +hDeg+ " deg)"の +hDeg+の部分です…
なぜ空白?を+しているのかがよく理解できないのです…
補足にある通り、それがCSS3を用いているところまでは調べて分かったのですが、()内の表記がなぜこのようになるのかがわかりません…そちらをお教えいただけますと幸いです。
rotateが回転させるものであることは知っていますが、角度の数値を単純に入力するだけだと認識していました。変数を使用する場合のrotate"(" +hDeg+ " deg)"という書き方について解説しているページがなく、どうしてこのような書き方になるのかわからず、質問した次第です。