のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,645,367人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript の質問用スレッド vol.112 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
251 : Name_Not - 2013/11/08(金) 18:57:34.78 ID:??? (+70,+29,-12)
>>248,249
違う違う、逆逆
RAFだと裏で止めてくれるから
無駄な処理が起こらなくてバッテリーにも優しいってこと
とにかく効率がいいのがRAF
252 : Name_Not - 2013/11/08(金) 18:58:43.46 ID:??? (+85,+29,-7)
裏で止められた方がまずいでしょう
アラーム鳴らせないじゃん
253 : Name_Not - 2013/11/08(金) 19:00:27.54 ID:??? (+68,+29,-22)
>>250
時計はそんな作り方はしないので
呼び出すタイミングが不定期でも全然問題ありません
254 : Name_Not - 2013/11/08(金) 19:00:57.68 ID:??? (+61,+17,-35)
>>252
描画の部分の話だよ?
裏でも数秒置きに回したい処理にこそSIを使ってグラフィック関係はRAF
この使い分けね
255 : Name_Not - 2013/11/08(金) 19:03:11.05 ID:??? (+91,+29,-30)
頭の中の妄想で語ってるだけだから真面目に相談にのるだけ無駄
オツムも弱いし馬耳東風
256 : Name_Not - 2013/11/08(金) 19:04:37.09 ID:??? (+70,+29,-23)
>>255
それはこっちの台詞ですがw
時計にとってのインターバルコールは単に時間を表示するだけの意味しかないんですよ
作ったことがないのはどちらなのか、これではっきりしたと思われますが
257 : Name_Not - 2013/11/08(金) 19:06:16.19 ID:??? (+57,+29,-22)
ははあ
俺にはお前さんが何を言ってるのかサッパリだわ
きっと格が違うんだろうな
258 : Name_Not - 2013/11/08(金) 19:08:22.44 ID:??? (+57,+29,-5)
作ってみれば分かりますよ
別に難しいことは言ってません
259 : Name_Not - 2013/11/08(金) 19:08:28.78 ID:??? (+52,+29,+0)
ネタだと言って欲しい
260 : Name_Not - 2013/11/08(金) 19:11:33.28 ID:??? (+2,-30,-56)
存在しない要素に対して
$('#test').remove();
としてもエラーになりません。
要素があれば削除をする、という場合、
要素の有無チェックはしなくていいのでしょうか?
261 : Name_Not - 2013/11/08(金) 19:12:51.79 ID:??? (+36,-30,-39)
setInterval(function(){
box.value = (new Date).toLocaleString()
},1000)

って感じならずれる
setTimeoutでdelayを呼ばれる度にずれたぶんだけ調節すればずれない
262 : Name_Not - 2013/11/08(金) 19:15:30.98 ID:??? (+30,-29,-48)
>>260
いいんじゃない?
jQueryの$はquerySelectorAllで
要素がなくても空配列でそれにforEachしてるようなものと考えれば
ごくごく自然だし
263 : Name_Not - 2013/11/08(金) 19:16:50.86 ID:??? (+69,+29,-21)
>>261
Dateオブジェクトが生成されるたびに正確な時間を返すので
PCの時間がずれない限りずれませんが
264 : Name_Not - 2013/11/08(金) 19:19:22.44 ID:??? (+58,+26,+1)
>>262
なるほど
ありがとうございました
265 : Name_Not - 2013/11/08(金) 19:26:21.99 ID:??? (+48,-30,-82)
>>263
そうだけど、呼び出し周期のほうがずれるからね
例えば単純にするために、1000msより実際毎回500ms遅れるとしたら、
0.0s → 0秒
0.5s → 0秒
1.0s → 0秒
1.5s → 1秒 *更新
2,0s → 1秒
2.5s → 1秒
3.0s → 3秒 *更新
ってなっちゃう

なら余裕をもって900msとかで回せばいいかといえばこれも微妙
早ければ飛ばすことはなくなるけど、
更新の感覚が実際の時刻の移り変わりと結構ずれるので
もの凄く気持ち悪い感じになっちゃう
だからまあ100msとか200msくらいが満足点になるんじゃないかな
266 : Name_Not - 2013/11/08(金) 19:30:12.23 ID:??? (+69,+29,-53)
>>265
呼び出し周期はたしかにずれますね
自分はそこまで時計に正確さを求めてません
見た時にだいたい正確ならそれでいいと思ってるので。
負荷が気になるのでいかに呼び出しを間引けるかの方が気になりますね
267 : Name_Not - 2013/11/08(金) 19:35:28.06 ID:??? (+70,+30,-75)
重い時に固まっちゃうのは仕方ないけど
もし作るのなら見てて「ん!?」ってなるような時計はなるべく避けたいと自分は思う
まあ>>238のようにそれが些細な事だと思うのであれば簡単な方法でいいと思う
268 : Name_Not - 2013/11/08(金) 19:43:52.28 ID:??? (+62,+29,-31)
setIntervalで実装してるポモドーロアプリは
時間が常にタブに表示されますが、ん!?となったことなんて一度もありませんよ
もうかれこれ数ヶ月使ってますが。
更新間隔が二秒になったりするのはものすごく低い確率だと思います
一日に一回くらい?
269 : Name_Not - 2013/11/08(金) 19:47:41.36 ID:??? (-1,-29,-11)
setTimeoutでいいんとちゃうか
270 : Name_Not - 2013/11/08(金) 19:51:54.42 ID:??? (+38,+15,-16)
1分おきにsetしなおせばよい
271 : Name_Not - 2013/11/08(金) 19:51:59.03 ID:??? (+3,-29,-30)
最近のブラウザであれば1000msはかなり保証してくれるだろうね
でも必ずしもそうだとも限らないからさ
たとえばimodeブラウザ2.0初期のSH-06Aとかで見てみると酷いものだと思うよ
自分実際にそれとかDSとかのNetFront向けに作ったことあるけど
かなりタイマーが雑だったはず
272 : Name_Not - 2013/11/08(金) 19:56:19.23 ID:??? (+62,+29,-49)
setTimeoutで毎回調整するのはいい考えだけど
もし0ms付近で呼ばれるように調整するとこれもまたガクンとズレかねないからなあ
まあ実際の時刻と0.5sのズレを承知で500ms付近で呼ばれるようにするかどうかってとこか
273 : Name_Not - 2013/11/08(金) 19:58:27.52 ID:??? (+33,+5,-7)
それか秒数だけ抜き出してるんならミリ秒をroundして足してもいいね
274 : Name_Not - 2013/11/08(金) 20:09:19.95 ID:??? (+52,+29,-2)
秒針をなくせばいいだけ
275 : Name_Not - 2013/11/08(金) 20:20:25.56 ID:??? (+57,+29,-10)
もしアナログ時計だったらアニメーションフレームは
滑らかにできるし楽でいいだろうな
276 : Name_Not - 2013/11/08(金) 22:40:56.61 ID:??? (+6,-30,-43)
>>254
setIntervalとAnimationFrameを両方使ったら負荷が上がったりしないの?
それなら2つの処理をsetIntervalに統一したほうが良くない?
277 : Name_Not - 2013/11/08(金) 22:44:30.21 ID:??? (+29,-29,-36)
そう思うのならタブが裏の時だけsetInterval使えばいいじゃん
画面の定期書き換えはrequestAnimationFrameが基本
278 : Name_Not - 2013/11/08(金) 23:49:19.86 ID:??? (+62,+29,-3)
>>241
ありがとうございます。
もう少し簡素にできませんか?
279 : Name_Not - 2013/11/09(土) 03:07:35.39 ID:??? (+55,-29,-15)
どうしてjavascriptはマルチスレッド処理ができないんですか?
それ出きればわざわざsetIntervalやrequestAnimationFrameなんかを使う必要ないですよね?
280 : Name_Not - 2013/11/09(土) 03:32:16.95 ID:??? (-1,-29,-7)
>>279

JavaScriptが出来た当時の
古いLinuxとMacOSでは
マルチスレッドが使えなかったからだよ。
281 : Name_Not - 2013/11/09(土) 05:53:24.08 ID:??? (+84,+29,-3)
>>277
基本とか勝手に決めるのやめてください
282 : Name_Not - 2013/11/09(土) 06:18:45.77 ID:??? (+31,-29,-18)
switch case文の中でreturnしても大丈夫ですか?
283 : Name_Not - 2013/11/09(土) 07:16:07.08 ID:??? (+3,-14,+0)
OK
284 : Name_Not - 2013/11/09(土) 07:38:33.07 ID:??? (+60,+29,-2)
>>279-280
おまえら馬鹿すぎるだろ
285 : Name_Not - 2013/11/09(土) 07:51:49.75 ID:??? (+88,+20,-27)
setTimeoutに0を指定すると前(後ろ?)の動作を保証するみたいな事を何処か見たのですが、
どういう場面に役に立つのでしょうか?
286 : Name_Not - 2013/11/09(土) 08:38:27.22 ID:??? (+59,-30,-62)
フルスピードである動作を繰り返したいけどユーザの操作等を妨げたくはない場合とか
function f() { 動作; setTimeout(f, 0); }
みたいな?
287 : Name_Not - 2013/11/09(土) 08:47:30.84 ID:??? (+99,+23,-16)
>>285
前の動作を保証するコードを示して下さい
288 : Name_Not - 2013/11/09(土) 08:48:04.49 ID:??? (+10,-13,+1)
>>282
NG
289 : Name_Not - 2013/11/09(土) 09:01:02.57 ID:??? (+49,+26,-2)
どっちなんですか?
290 : 285 - 2013/11/09(土) 09:29:33.82 ID:??? (+73,+29,-47)
http://d.hatena.ne.jp/amachang/20060910/1157911122
記憶を頼りに探したら元記事見つけました。
(0じゃなくて10でした)

>>286
こういう使い方もあるんですね。
ありがとうございます、参考に色々試してみます。
>>287
ごめんなさい。後ろのコードを動作保証だったようです・・・
291 : Name_Not - 2013/11/09(土) 09:31:51.24 ID:??? (+76,+0,-36)
>>279
今はWorkerに重い処理を押しやるしかないけど
将来的にはアニメーション用スレッドが整備されると思う
http://github.com/ianvollick/animation-proxy/blob/master/Explainer.md
http://html5experts.jp/cssradar/3176/

>>281
アニメーションのためのものでいろいろと効率がいいから
setなんちゃらよりオススメだよ

>>282
大丈夫です

>>286
そういう用途にはsetImmediateが合ってる
297 : Name_Not - 2013/11/09(土) 13:11:19.32 ID:??? (-28,-29,-3)
>>296
str.replace(/[\s\S]{5}/g, '$&\n')
298 : Name_Not - 2013/11/09(土) 13:16:34.97 ID:??? (-2,-30,-11)
それだときりが良い時に改行が入っちゃうからこうだね
str.replace(/.{5}(?=.)/g, "$&\n")
300 : Name_Not - 2013/11/09(土) 13:35:29.81 ID:??? (+102,+29,-13)
>>291
その前に手前を覆ってもマウス操作の影響を受けない
アニメーションやエフェクト用の要素でも作るべきだと思うが
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について