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

私的良スレ書庫

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

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

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
551 : 549 - 2011/08/16(火) 20:17:40.87 ID:??? (-2,-29,-4)
>>550
position: fixedっていう意味ですね?
できましたありがとう。
552 : Name_Not - 2011/08/16(火) 20:57:30.64 ID:??? (-1,-29,-21)
IE8 の互換表示モードでは効かないけどね。
553 : Name_Not - 2011/08/16(火) 23:00:28.27 ID:??? (+3,-30,-53)
すみません、
Browser: {
IE: !!(window.attachEvent && !window.opera),
の"!!"はいったいどういう意味なのでしょうか?
"!"だけだと否定とか分かるのですが
554 : Name_Not - 2011/08/16(火) 23:01:24.94 ID:??? (+57,+29,-21)
否定をさらに否定してみろ
つーかスレ内ぐらい探すとかしろ
555 : Name_Not - 2011/08/17(水) 00:23:13.99 ID:??? (+39,-30,-125)
ころころデザインを変えるページ用に、
ある部分だけデザインを使いまわせるようなライブラリを作っています。
<script type="text/javascript" src="header.js"></script>
こんな感じの使い方を想定しています。

最初はHTMLを毎回書きなおす感じにして、JavaScriptでHTML出力などの操作はしないようにしてたのですが、
それだと大変なので、スタイルシートと、JavaScriptを取り込んでHTMLはJavaScriptで出力するようにしました。
次にスタイルシート取り込みの工程もついでになくそうと(たいした手間じゃないですが)、
JavaScript単体の取り込みだけで使えるように、スタイルシート部分もJavaScriptにゴリゴリ書きました。
その結果かなりカオスなコードになってしまったのですが、

ファイル1つでOKみたいにする場合は、こんな感じになってしまうものですよね?
あまりのカオス具合に自分が間違ってる気がしてなりません。
556 : Name_Not - 2011/08/17(水) 00:31:54.12 ID:??? (-1,-29,-24)
サーバー側でやるのも有り。PHP
jsOFFの閲覧者も考慮すべき。
557 : Name_Not - 2011/08/17(水) 01:16:27.54 ID:??? (+97,+30,-74)
>>555
そんな同意を求めることに何の意味がある?
他人がどうあろうと、自分が不満に感じるなら、少しでも改善を試みるべき。
「できた!」と思っても決して満足することなく、常に「これで良いのだろうか」と自問自答を繰り返す。
このスレの回答者は皆そういう人たち。
558 : Name_Not - 2011/08/17(水) 01:22:40.42 ID:??? (+98,+25,+1)
>>557ナイナイ
559 : Name_Not - 2011/08/17(水) 01:39:55.75 ID:??? (+76,+29,-94)
>>558
仕様で実装依存が認められているところは、全てのブラウザのバージョン毎に挙動を確認し、
ベンチマークの結果に 1ms でも有意な結果が現れれば、その原因を突き止める。
次の仕様の策定に向け、常に最新の流行にアンテナを張っておき、自らも新たな潮流の源となる。
ここの回答者は皆実践してる。
560 : Name_Not - 2011/08/17(水) 01:50:20.58 ID:??? (+52,+29,-1)
どんだけハードルあげたいんだよwww
561 : Name_Not - 2011/08/17(水) 02:01:22.78 ID:??? (+11,-29,-126)
イベントハンドラとイベントリスナーの違いって何なんでしょうか?

イベントに対する関数の登録方法とが違うこと( a.onclick=・・・ or a.addEventListener(・・・) )と
イベントハンドラは1つのイベントソースに対して1つしか関数登録できないけど、イベントリスナーはいくつでも登録できるということだけ知っています。

イベントのバブリングなど、内部的な動作にも違いはあるのでしょうか?
562 : Name_Not - 2011/08/17(水) 03:49:52.41 ID:??? (+16,-11,-17)
他のライブラリ使ってる場合を考えたら、リスナー使う
563 : Name_Not - 2011/08/17(水) 09:55:25.54 ID:d6HS56WA (+8,+6,-110)
>>561
ブロードキャスターがキャストする
オブジェクトにおけるイベントの発生通知を
受け取る(聞く、Listenする)のがイベントリスナー

で、イベントリスナーには、受け取ったときにする処理を
関数として複数登録または削除できて
処理系でeventオブジェクトを受け取ることが出来る
565 : Name_Not - 2011/08/17(水) 10:59:09.04 ID:??? (-2,-30,-101)
jquery使ってるから
$(function(){
はDOMがreadyになったら実行するための記述
$.eachはjqueryのeachメソッドを利用してるだけ
http://api.jquery.com/jQuery/#jQuery3
http://api.jquery.com/jQuery.each/
567 : Name_Not - 2011/08/17(水) 15:19:56.78 ID:??? (+31,-29,-12)
Firefox5から6にアップデートしたら一部Javascriptが使えなくなったのですが、何か変更があったのでしょうか?
568 : Name_Not - 2011/08/17(水) 15:22:33.13 ID:??? (+57,+29,-9)
「一部」て何?それを書かない意味が分からんのだが。
569 : Name_Not - 2011/08/17(水) 15:59:33.94 ID:??? (+61,+29,+2)
570 : Name_Not - 2011/08/18(木) 12:08:14.40 ID:??? (+46,-29,-208)
【環境】Safari(iphone)
【何をしたのか】なし
【エラーメッセージ】なし
【期待する結果】
キーボードのBを1回押した瞬間にB.mp3が再生される。(Bが押し続けられている場合は一度のみ再生)
キーボードのNを1回押した瞬間にN.mp3が再生される。(Nが押し続けられている場合は一度のみ再生)
iphoneにはキーボードがないのでBLUETOOTHのキーボードが接続されていると仮定。

赤色に塗られた丸円をシングルクリックすると1回押した瞬間にB.mp3が再生される。
(赤い丸円が押し続けられている場合は一度のみ再生)
青色に塗られた丸円をシングルクリックすると1回押した瞬間にN.mp3が再生される。
(赤い丸円が押し続けられている場合は一度のみ再生)

です。

意味不明あればすみません。真剣に障害のある方のコミュニケーションを取れる手段として考えています。
ご指導ください。
571 : Name_Not - 2011/08/18(木) 12:15:16.49 ID:??? (+95,+29,-16)
>>570
肝心のサンプルコードがないよ…
572 : 570 - 2011/08/18(木) 13:04:47.62 ID:??? (+79,+29,-2)
>>571
すみません

http://jsdo.it/flyfisherflyfisher/eXRKに投稿しました。

かなりテコ入れがいるかと思いますが、よろしくお願いいたします。
577 : Name_Not - 2011/08/18(木) 20:14:22.15 ID:??? (+31,-29,-18)
iOSのsafariからのアップロードは無理、html5だろうがファイル選択自体ができない
579 : think49 - 2011/08/18(木) 20:49:13.65 ID:??? (+36,-29,-93)
>>578
createElement は遅くないですし、innerHTML は速くありませんよ。
http://msdn.microsoft.com/ja-jp/library/bb263997%28VS.85%29.aspx
高速化したいなら注意すべき点はたくさんあります。
 - リフローを減らす
 - グローバルアクセスを減らす
 - プロパティアクセスを減らす
 - cloneNode で複製する
http://tokkono.cute.coocan.jp/blog/slow/index.php/web-technology/reflow-and-repaint-in-browser/
http://tokkono.cute.coocan.jp/blog/slow/index.php/web-technology/top-10-reasons-javascript-blocking-page-load/
580 : 578 - 2011/08/18(木) 21:04:05.38 ID:??? (+62,+29,-33)
>>579
高速化のためのアドバイス大変参考になります。
詳細なURLまで載せていただきありがとうございます。
早速実践してみます。
581 : Name_Not - 2011/08/18(木) 21:08:15.72 ID:??? (+95,+28,-92)
load後のなにかのイベントで、画面作ったりするときに、innerHTMLだとDOM構造が読み取れるようになるまでに若干タイムラグがあって、直後にgetElementってやると失敗するときあるじゃん
ちゃんとcreateElementってやった方が確実安全、速度も悪くないよ

そいえば6とか昔のIEは遅かった記憶がありますね。当時のFFやWebKitの数十倍ぐらい差があったような。
582 : 573 - 2011/08/18(木) 21:10:03.34 ID:??? (+62,+29,-5)
>>577
うわ、マジですか
これ以上はスレ違いになるので他のスレに移動します
ありがとうございました
583 : Name_Not - 2011/08/18(木) 21:13:48.21 ID:??? (+74,+29,-21)
>>581の「失敗するとき」の例を挙げてもらえませんか?
585 : Name_Not - 2011/08/18(木) 21:36:47.99 ID:??? (-8,-29,-3)
>>584
うちのドロイド君はアップロードちゃんとできてるよバージョンはAndroid 3.1
586 : Name_Not - 2011/08/18(木) 21:39:39.44 ID:??? (+57,+29,-28)
メールに画像添付してごにょごにょ
587 : 573 - 2011/08/18(木) 22:06:25.58 ID:??? (+1,-29,-64)
>>584
情報ありがとうございます、chromeもなのかぁ…
>>585
バージョンで違うんですね
>>586
mmsを使う方法を見つけたんですが、それだとiPod touchが解決できないですよね

うーん、titaniumの勉強するしかないぽい
本当にありがとうございました、js関係ないのに長々すみませんでした
588 : Name_Not - 2011/08/19(金) 07:31:42.20 ID:??? (+32,+0,-39)
>>575
どう利用してるか見ないと目的なんてわからんよ
普通にhoge()と実行してるならthisはグローバルオブジェクト。
589 : Name_Not - 2011/08/19(金) 07:43:12.79 ID:??? (+7,-29,-41)
>>572
サウンド関連らしきコードしか見当たらないんだが・・・
ゼロから教えれという事ですか?
onkeypressとonclickとかで検索しなさい
590 : Name_Not - 2011/08/19(金) 07:51:55.38 ID:??? (+41,-29,-64)
>>583
innerHTML直後にgetElementByIdすると取得出来ずにエラー
setTimeoutとかで、1msぐらい遅延させるとうまくいくけど、不確実な解決策だよね
591 : Name_Not - 2011/08/19(金) 10:06:24.32 ID:??? (+6,-29,-38)
>>588
>>572http://www.schillmania.com/projects/soundmanager2/ を使ってるんではないかと思われる
soundmanager2.js も swf もないから動かなくて当たり前だなw
592 : Name_Not - 2011/08/19(金) 10:11:43.23 ID:??? (+63,+29,-22)
>>590
エラーにならないよ
ブラウザとかコードとかもっと具体的な情報を出して貰わないと再現できない
http://jsfiddle.net/f5VYe/
593 : Name_Not - 2011/08/19(金) 13:17:54.71 ID:??? (-1,-29,-20)
というか、getElementById ってエラーを返したっけ?
null が返るのならわかるが
594 : Name_Not - 2011/08/19(金) 13:40:38.70 ID:??? (-1,-29,-18)
(null).styleとかやってるんだろ。
595 : Name_Not - 2011/08/19(金) 16:50:31.53 ID:??? (+0,-28,-50)
エラーになるのは腐った実装
仕様ではブラウザのUIとDOM操作もJSにシングルスレッド的同期させないといけない
非同期でいいのはレンダリング部分だけ
596 : Name_Not - 2011/08/19(金) 23:06:03.90 ID:??? (+62,+29,-43)
曖昧で申し訳ないんだけど1年ぐらい前のSafariでよくあったから、以後経験則的に避けてました。
仕様はちゃんとなってるんですねー、勉強になりました。

エラーってのは594さんの通り、取得出来きないまま続いた結果、ヌルに対するアクセスになって…というものです。
597 : Name_Not - 2011/08/20(土) 00:24:51.46 ID:??? (+70,+9,-18)
基本的にinnerHTMLのほうが速いんでしょ
IEだとうまくいかない要素があるみたいだけど
598 : Name_Not - 2011/08/20(土) 00:58:01.12 ID:??? (+65,+27,-19)
>>597
どこを読んだらinnerHTMLが速いと読めるのか?
599 : Name_Not - 2011/08/20(土) 07:08:45.29 ID:??? (+3,-29,-173)
場合にもよるがCREATE作業はinnerHTMLの方が早い
APPEND作業はinnerHTMLだと解析が入る分だけ固まるのでcreateElementの方が若干早い
単純なCREATE作業+APPEND作業は仕組み的にはinnerHTMLの方が
余計な処理が要らない分、まとめて処理できる分早くなる
しかも実際使用する場面ではCREATE作業時間>>>>>APPEND作業時間になる事が殆どなので
innerHTMLの方が早いのは確実だがそもそも用途によって使い分ける物だからな
600 : Name_Not - 2011/08/20(土) 10:34:18.87 ID:??? (+51,+28,-1)
http://tockri.blog78.fc2.com/blog-entry-9.html
これを信じてる人もいるんだなー
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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