質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

2回答

471閲覧

css rotate が45度一気に進んでしまう。

takahashi-one

総合スコア120

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/09/17 03:30

編集2020/09/17 07:12

下記はd3jsを使用してdiv要素を360度回転させているのですが、最初の45度が一気に進んでしまいます。
なぜでしょうか?

javascript

1<html> 2<head> 3<script src="https://d3js.org/d3.v5.min.js"></script> 4<style> 5div{position: absolute;} 6</style> 7</head> 8<body> 9<div class="z" style="top:50;left:50;width:100;height:100;background-color:red"></div> 10<script> 11let deg=0; 12let id=setInterval(draw, 10); 13function draw() { 14 d3.select(".z").style("transform","rotate("+(deg++)+"deg)") 15 if(deg>360)clearInterval(id); 16} 17</script> 18</body> 19</html>

回答ありがとうございます。window.onload を試したのですが解消されませんでした。
chromeで試していたのですが、試しにfirefoxとedgeとie11で試したら正常に回転しました。
chromeだけの現象と言うことになりました。

ブラウザのロード時ではなく、下記のようにkeypressで実行させるとchromeでも正常に回転しました。

javascript

1d3.select("body").on("keypress", function() { 2 if(d3.event.keyCode==32){//spaceキー 3 deg=0; 4 id=setInterval(draw, 10); 5 } 6})

何か思いつくことありますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

そのコードて試してみましたが、0度から始まりましたよ。(単位抜けは修正しましたが)

読み込み時の実行のタイミングではないでしょうか。
下記を参考にHTMLや画像がすべて読み込まれた後で実行するようにすればどうでしょう。

ページ読み込み後に実行する関数の違い一覧(JavaScriptとjQuery) │ ブレインログ

投稿2020/09/17 03:54

編集2020/09/17 03:55
hatena19

総合スコア34075

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

自分の環境でやってみましたが、問題は再現しませんでした。ブラウザの処理性能なども影響しているかもしれません。

(なお、<div>styleで単位が抜けていたので、そこは修正しました)

https://jsfiddle.net/361wtdL7/

投稿2020/09/17 03:51

maisumakun

総合スコア146018

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2020/09/17 03:57

この程度のシンプルな変化であれば、CSS Transitionで解決するほうがいいかもしれません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問