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

    私的良スレ書庫

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

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

    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
    51 : Name_Not - 2010/06/26(土) 20:11:14 ID:??? (+76,+29,-130)
    >>48
    自己解決したらその方法も書いとけよ。疑問に思ったことがあって調べたら、
    自己解決しましたとだけ書かれてるページに行き着いたら困るだろ。

    >関数を定義する際に引数の型を厳密に決める事は出来るのでしょうか?
    出来ない。
    引数にどんな型の変数が渡されたのかをtypeofで調べれば実行時エラーくらいは出せる

    >また関数を初期化するときに引数がある時とない時と動作を変えたい
    javascriptでは関数定義と呼び出し引数の数が違ってもエラーは起きない。
    typeofしてundefinedだったら引数が省略されてると判断できる。
    53 : Name_Not - 2010/06/26(土) 21:27:28 ID:??? (+64,+26,-58)
    >>19
    同一クラスに同一のデータをまとめて設定したかった。
    style タグで指定できればスクリプトを弄らなくてすむので
    プラグインとして実装するときに扱いやすいかなと。
    54 : Name_Not - 2010/06/26(土) 21:42:29 ID:??? (-1,-29,-29)
    >>47
    FlashCanvasとかuucanvasとかは?
    55 : Name_Not - 2010/06/26(土) 21:48:56 ID:??? (-1,-29,-105)
    というかcanvasで文字列描画するより普通にabsoluteなdiv内に書いた文字列を重ねればいいんじゃないかと
    なんせIE以外のブラウザもcanvasの文字描画は実装度合いがまちまちだし
    56 : Name_Not - 2010/06/26(土) 23:28:10 ID:??? (+56,+24,-17)
    >>47
    iPhone、iPadは結局専用のページにしかならないから悩む必要は無いと思うよ
    57 : Name_Not - 2010/06/27(日) 00:05:42 ID:??? (+11,-30,-154)
    >>53
    特にXHTMLじゃ勝手に属性を追加するわけにもいかないし、
    そういうことをしたければ既存の属性を使うべき。

    <span class="hoge[name1:val1, name2:val2]"></span>
    <input type="text" title="hint='IDを入力してください'" />

    とか。
    ただ、本来スクリプト側に属するべき長ったらしいデータが
    HTML側に染み出してくるのはあんまりお勧めできない。
    呼び出し側で設定するんじゃダメなの?
    たとえばjQueryのプラグインのほとんどは配列でオプションを
    渡すように作られてるよ。
    58 : Name_Not - 2010/06/27(日) 02:36:03 ID:??? (-6,-29,-15)
    配列っつーか、JSONな。
    59 : Name_Not - 2010/06/27(日) 03:04:09 ID:??? (+57,+29,-23)
    コードの中に書くんだから配列だろ
    別にJSONで書いたっていいけど見づらくてかなわん
    60 : Name_Not - 2010/06/27(日) 03:28:37 ID:??? (-6,-29,-16)
    JSONて連想配列じゃないの?
    61 : Name_Not - 2010/06/27(日) 03:38:06 ID:??? (+3,-30,-70)
    違う。

    http://ja.wikipedia.org/wiki/JavaScript_Object_Notation
    >ここで注意することはキーとして使うデータ型は文字列に限ることである。
    >したがって、
    >{name: "John Smith", age: 33}
    >という表記は許されない。この後者の表記はJavaScriptのオブジェクトの
    >表記法としては正しいが、JSONとしては不正な表記である。
    62 : Name_Not - 2010/06/27(日) 03:41:06 ID:??? (+34,+6,-22)
    JSONはシリアル化する汎用フォーマットだろ。
    XMLとかも。入出力が用意されていれば中身を知る必要はない。
    63 : Name_Not - 2010/06/27(日) 09:52:31 ID:??? (+61,+29,-25)
    イベント発生時ではなく単純にある時点で
    シフトキーが押されているかを確認する方法はあります?
    64 : Name_Not - 2010/06/27(日) 11:42:43 ID:??? (+6,-29,-11)
    >>63
    keydownイベントでフラグをオンにし、keyupでフラグをオフにする
    65 : Name_Not - 2010/06/27(日) 12:52:06 ID:??? (+16,-11,-24)
    JavaScriptが動き出す前から押され続けてる場合はどうするの?
    (↑↑とは別人)
    66 : Name_Not - 2010/06/27(日) 14:19:37 ID:??? (-1,-29,-17)
    これは?
    window.event.shiftKey
    67 : Name_Not - 2010/06/27(日) 15:17:46 ID:??? (-1,-29,-48)
    (↑↑)
    イベント発生時でなければeventプロパティにオブジェクトはセットされないだろうよ
    68 : Name_Not - 2010/06/27(日) 15:24:05 ID:??? (+0,-18,-13)
    ↑↑
    69 : Name_Not - 2010/06/27(日) 15:24:37 ID:??? (+18,+0,+0)
    70 : Name_Not - 2010/06/27(日) 15:38:09 ID:??? (+17,+0,+0)
    ←右を見ろ
    71 : Name_Not - 2010/06/27(日) 19:20:53 ID:??? (-11,-29,-1)
    L←→R
    72 : Name_Not - 2010/06/27(日) 20:21:01 ID:??? (+19,+1,+0)
    B A
    74 : Name_Not - 2010/06/28(月) 15:34:48 ID:??? (+8,-29,-20)
    htmlを最初に開いた時に読み込んだstyle(head部分で外部CSSファイルをURL指定)を無効、開放するにはどう書けばよいでしょうか
    75 : Name_Not - 2010/06/28(月) 17:15:28 ID:??? (-11,-29,+0)
    <!style
    76 : Name_Not - 2010/06/28(月) 17:23:40 ID:??? (-1,-30,-63)
    >>74
    jQuery使うなら
    $("[type=text/css]").remove();
    77 : Name_Not - 2010/06/28(月) 18:37:09 ID:??? (+7,-30,-161)
    レスありがとうございます。jQueryを使うことで無効化は出来たのですが問題点が全く違っていたみたいで解決に至りませんでした
    外部参照先のURLを変更して、styleA→styleBとCSSを変更したいのですがjQueryで

    $("[type=text/css]").attr("href","styleB.css");

    とリンク先を変更しただけではCSSが無効になるだけで反映しないんですね。この変更をそのまま有効化するにはどうすればいいのでしょうか?
    変更を再度開いた時に維持等は考えない上でお願いします
    78 : Name_Not - 2010/06/28(月) 18:40:08 ID:??? (+38,-30,-126)
    >>74
    <head>
    <link id="test" href="/css/test.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" language="javascript">
    var head = document.getElementsByTagName('head')[0];
    var myCSS = document.getElementById('test');
    head.removeChild(myCSS);
    </script>
    </head>
    79 : Name_Not - 2010/06/28(月) 18:43:38 ID:??? (-1,-29,-45)
    >>77
    styleAのCSSを指しているlink要素を削除して、
    その後にstyleBのCSSを指している新しいlink要素を作ればいいんじゃないのか?
    80 : Name_Not - 2010/06/28(月) 19:56:07 ID:??? (+63,+29,-30)
    >>78-79
    レスありがとうございます
    DOMの方も色々試していたのですが、たった今単純にCSS元ファイルのリネームミスだったことが発覚しました・・・
    たくさんレス頂いたのに本当に失礼しました
    81 : Name_Not - 2010/06/28(月) 23:21:47 ID:??? (+50,+27,-1)
    こういうアホが多いからな
    82 : Name_Not - 2010/06/28(月) 23:22:29 ID:??? (+52,+29,+0)
    もう来ないで欲しい
    83 : Name_Not - 2010/06/29(火) 00:24:30 ID:??? (+52,+29,+0)
    お前がいなくなればいい
    84 : Name_Not - 2010/06/29(火) 01:10:47 ID:??? (+44,+26,+0)
    なんだと
    85 : Name_Not - 2010/06/29(火) 10:47:42 ID:??? (+86,+29,+0)
    いっそ世界がなくなって欲しい
    86 : Name_Not - 2010/06/29(火) 11:19:27 ID:??? (+100,+29,-23)
    >>85
    いやいやそれはさすがに困るだろwww
    俺としては人類が地球上から消えてくれればそれでいいよ
    87 : Name_Not - 2010/06/29(火) 12:18:21 ID:??? (+65,+28,-13)
    >>86
    鳩山みたいなこと言うな。
    88 : Name_Not - 2010/06/29(火) 13:59:34 ID:??? (+109,+29,-30)
    以前に「JavaScriptプログラミング入門」という本でJavascipt勉強して
    また勉強しなおそうと思っています。
    上記の本は、2002年出版ですので新しく本を買いたいのですが、何か良い本はありますか?
    やっぱサイ本でしょうか?
    89 : Name_Not - 2010/06/29(火) 17:51:16 ID:??? (+0,-29,-16)
    >>73
    特定のイベントリスナだけ判定したいのなら、"onmouseover" in node のようにinで判定してみるといいかも
    判定したいイベント種類を配列にでも突っこんでおいて、ループぶん回せばいいと思う
    90 : Name_Not - 2010/06/29(火) 20:48:19 ID:??? (+110,+29,-45)
    >>88
    javascriptそのものについて学ぶならやっぱサイ本がいいと思う。
    ただ、今の時代にjavascriptを活用するというのはjavascriptのライブラリを
    活用するってのと同意義なので、それだけってわけには行かないと思うけど。
    そこは使いたいライブラリによって変わると思う。
    91 : Name_Not - 2010/06/30(水) 01:49:16 ID:??? (+17,-30,-248)
    配列要素のチェック方法で質問です。

    配列arr0の中身が最初、false, false, false, false, false で、処理が進むと

    false, true, false, false, false → false true, false, false, true → ・・・

    と段々ture の数が増えて(trueになる要素のインデックスは不定)
    最終的に全部がtrueになる(falseが一個も無い)を検出する方法にはどんなものが
    ありますか?
    92 : Name_Not - 2010/06/30(水) 01:57:25 ID:??? (+14,-29,-70)
    一番素直なアイディア:
    配列を最初から最後までスキャンする。
    falseが途中で1回でもでてきたらアウト、
    全部trueで最後まで到達したらOK

    一番手っ取り早いアイディア:
    true/falseのどっちかしかないことが確実なら、
    ソートして最初の要素がtrueだったら全部trueと判断する

    ひねくれてるアイディア:
    Array#map()
    93 : Name_Not - 2010/06/30(水) 02:06:26 ID:??? (+3,-30,-105)
    ああごめん、every() か some() でもいいのか。
    本質的には最初のと同じ。

    var array1 = [true, true, false, true, true];
    var array2 = [true, true, true, true, true];
    var test = function(a){return a};
    alert( array1.every(test) ); // false
    alert( array2.every(test) ); // true
    94 : 88 - 2010/06/30(水) 03:12:41 ID:??? (+72,+29,-33)
    >>90
    ありがとうございます。
    jQueryやprototype.jsにも興味がありますが、まずは基礎をしっかりやりたいと考えているので
    サイ本に手を出してみようと思います。
    95 : Name_Not - 2010/06/30(水) 03:44:31 ID:??? (+16,-23,-30)
    >>92,93
    なんで前提も聞かず(書かず)にmapとかeveryとかsomeとか出すの?
    初心者への嫌がらせは楽しい?
    96 : 73 - 2010/06/30(水) 03:59:48 ID:??? (+3,-30,-133)
    >>89
    ありがとうございます 次のようなhtmlで実験してみました

    <html>
    <body>
    <div id="kore">test</div>
    <script type = "text/javascript">
    node = document.getElementById("kore");
    if ("onmouseover" in node) alert('対応してるよ');
    else alert('対応してないよ');
    </script>
    </body>
    </html>

    IE7及びGC5では「対応してるよ」FF3.6では「対応してないよ」と表示され、
    この方法で対応しているイベントタイプを調べる事ができるかどうかは
    ブラウザ依存のようです
    97 : 91 - 2010/06/30(水) 08:00:09 ID:??? (+0,-29,-25)
    >>92-93
    >>95
    おはようございます。JSでもmap,every,someが使えるのですね!
    ActionScriptの兄弟だから当たり前か。。。。

    試してみます。
    98 : Name_Not - 2010/06/30(水) 11:19:52 ID:??? (+5,-30,-180)
    IE(6-8)はmapとかeveryとかsomeとか、ECMA-262 5th Editionで追加されたメソッドには対応してない
    Array.prototypeを拡張すれば同じことはできるようになるけど、
    そうするとfor in使ったときに拡張したプロパティが出てきてしまっていつバグの原因になるかわかったもんじゃない
    Array.prototype.hoge=true;for(var k in [])alert(k)// hoge
    IEの対応考えなくていいならmapとか使えるけど、対応するなら避けるべき。
    これが>>95のいう前提
    99 : Name_Not - 2010/06/30(水) 12:24:14 ID:??? (+50,-9,-4)
    Array に対して for in 使うってアホの子のすることだと思うんだが……
    100 : Name_Not - 2010/06/30(水) 13:37:47 ID:??? (+0,-30,-63)
    >>91

    for(i=0;arr0[i];++i);
    alert (arr0[i]===void 0);
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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