[過去ログ] JavaScript の質問用スレッド vol.125 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
209: (ワッチョイ 3d4b-OzUL [110.2.215.28 [上級国民]]) 2022/11/16(水)16:05 ID:yZvimkXe0(4/4) AAS
>>207
return;を入れると、違う動作を始めたので保留にします。
時間がある時に考えます。
どうもありがとうございました。
210
(1): (ワッチョイ bd10-FFna [180.12.82.129]) 2022/11/17(木)16:50 ID:BipbxCG90(1/2) AAS
<div id="zahyou" style="position:absolute">aaaaaaaaaa</div>

<スクリプト>
for(let n=1;n<=100;n++){
if(n % 2 === 0){
document.getElementById("zahyou").style.left = "0px";
}
else{
document.getElementById("zahyou").style.left = "200px";

}
}
省18
211: (ブーイモ MM8e-ompL [133.159.152.122]) 2022/11/17(木)17:45 ID:ZrcXbqFYM(1) AAS
上も動いてるよ
一瞬で終わるから見えないだけ
212
(1): (ワッチョイ 46bd-masj [49.129.242.78]) 2022/11/17(木)18:17 ID:6VGHAaqQ0(1) AAS
>>210
画面のレンダリングは逐一行われないから。
イベント契機で実行されたスクリプトの処理を一旦終えたときその最終的な結果がレンダリングされるというか、一旦処理を終えないとレンダリングされないと思っておけばいい。
setInterval のやつは、インターバルの契機で実行された処理は1コマ分の処理だけして終わるから、その都度レンダリングされる(かもしれない)。
実際は周期があまり高頻度だと、処理を終えてもレンダリングされるとは限らず間引かれたりする。
ただ未レンダリングだからといってもDOMの状態やスタイルの設定などは逐一適用されてる。
213: (ワッチョイ bd10-iQtw [180.12.82.129]) 2022/11/17(木)20:15 ID:BipbxCG90(2/2) AAS
>>212
そうだったんですか
ありがとうございます
214: (ワッチョイ bd4f-FFna [180.0.191.133]) 2022/11/18(金)09:19 ID:Wj1K/ZC10(1) AAS
a = "0px";
a = "200px";

a = "0px";
a = "200px";

a = "0px";
a = "200px";

こういう処理を100回やってから、100回目の後だけ再描画されるのだろう。
1〜99回までは値が設定されるだけで、再描画されない
215
(1): (スッップ Sd7a-PnSp [49.98.175.43]) 2022/11/18(金)17:10 ID:T5zu6F7Id(1) AAS
横からで申し訳ないけど、アニメーション処理を行うならsettimeoutとかでわざと描画間隔を空ける必要があるって解釈でいいのかな?
216
(1): (ワッチョイ 9abd-masj [221.171.102.71]) 2022/11/18(金)17:16 ID:Zs9eTx2N0(1) AAS
>>215
一コマ毎にイベント処理を終えブラウザに処理を返す構造にしないといけない
あるいはスタイルや SVG でアニメーションさせるか
217: (ワッチョイ f6cf-gPc0 [153.174.224.39]) 2022/11/18(金)17:23 ID:UFs4jVzI0(1) AAS
ブラウザでは、Performanceパネルや
タイムラインパネルでチェックできる
218
(1): (ワッチョイ bd61-+FOd [180.15.119.124]) 2022/11/18(金)19:14 ID:RNEbLEjB0(1) AAS
アニメーションならsetTimeoutよりrequestAnimationFrameだね
219: (ワッチョイ dd5f-PnSp [14.8.104.32]) 2022/11/18(金)21:22 ID:dA0W7FfK0(1) AAS
>>216
>>218
わっちょい違うけど同一人物です
勉強になります
220: (ワッチョイ 5b4f-kfYZ [180.0.191.133]) 2022/11/19(土)04:30 ID:uCGRkc1L0(1) AAS
ゲームセンターにある機械とか、パソコンゲームでは、よくコマ(フレーム)落ちが起きる

1/30秒とか1/60秒の間に、処理が終わらないので、再描画できない
221: (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]]) 2022/11/19(土)19:26 ID:2irpXLl70(1/2) AAS
例えばドキュメント上に5つのアイテムがあるとして、その5つのアイテムそれぞれの幅を合計したものが知りたいのですが、途中までコードを考えました
(5つというのは仮のアイテム数で実際は未定です)

DOC=activeDocument;
SEL=DOC.selection;

for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W=BND[2]-BND[0];

Wが最初の1つのアイテムの幅になると思うのですが、これをSEL[0]~SEL[4]まで合計するにはこの続きにどういうコードを書けばいいのでしょうか?
(間違っていたら既に書いてあるコードを変更してください)
222
(1): (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]]) 2022/11/19(土)19:32 ID:2irpXLl70(2/2) AAS
すみません
質問してから気付きました
これでいけますか?

DOC=activeDocument;
SEL=DOC.selection;

for(i=0;i<SEL.length;s++){
BND=SEL[i].geometricbounds;
W1=BND[2]-BND[0];
W=W+W1;
}
223: (ワッチョイ 6301-mUd4 [60.111.111.83]) 2022/11/19(土)23:28 ID:9yqGhBqR0(1) AAS
>>222
試してから質問しよう
224
(1): (ワッチョイ 1a02-jVlY [59.129.56.155]) 2022/11/20(日)07:58 ID:zjUQ0JII0(1) AAS
for の前にW=0してね
225: (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]]) 2022/11/20(日)19:31 ID:bgVSrlSG0(1) AAS
>>224
ありがとうございます

for(i=0;i<SEL.length;i++){ ~ }っていう式がコードの中にいくつも出てくるんですけど、変数iのところはそれぞれの式で変えないといけないんでしょうか?
for(j=0;j<SEL.length;j++){ ~ }とか。
関数内だけですか?
同じ変数文字が使えるのは
226: (JP 0Hbb-stRS [126.249.157.89]) 2022/11/20(日)20:42 ID:XzYfw6V5H(1) AAS
いい質問ですね
変数のスコープの問題なので試してみたらいかがでしょう?
jsのスコープをしっかり押さえると
伸びしろが変わります!
227: (ワッチョイ db4b-7Gcv [110.2.215.28 [上級国民]]) 2022/11/21(月)02:03 ID:ZMd64Nu10(1/3) AAS
ありがとうございます
勉強を始めて1か月ですけど改造はわりとうまく出来るようになりました
最初は何が書いてあるのかわからないんだけど、ジーッとしつこく見てるとわかって来ますね
228
(2): (JP 0Hbb-stRS [126.249.157.89]) 2022/11/21(月)07:16 ID:uz2/XLFXH(1/3) AAS
let も var も(スコープ内)再代入可能です
let i=0;

for(i=0;i<10;i++,console.log(1,i));
for(i=0;i<10;i++,console.log(2,i));
console.log('------');

for(i=0;i<10;i++){
console.log(3,i);
for(i=0;i<10;i++){
console.log(4,i);
}
省9
1-
あと 774 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s