+ JavaScript の質問用スレッド vol.59 +
【質問を書く上で】 1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。 例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。 答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。 2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。 そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!) 長い(1レスに入らない)場合はアップロードしてURIを貼る。 3)初心者という言葉は危険なので使わない方がよい。 初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。 4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。 ただ「動きません」「エラーです」は何も情報がないため嫌われる。 エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。 ブラウザの設定すらできんヤシはFFxのJavaScriptコンソールを使え!!! OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。 5)特に古いバージョン限定の時は必ず明記! 回答もチグハグになり回答者に2度 手間を食わせる可能性大(現行Ver.:IE5.5-6、N6-7、Opera7-8) 6)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。 例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、 ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け! 7)質問はまっとうな(他人に理解できる)日本語で。 前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQその1】 Q1. 開いた別窓/フレームの内容にアクセスできないのですが… A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。 Q2. JavaScriptでローカルファイルを読み/書きたいのですが… A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに… A3. 同じタグの中でonclick="foo()"とonclick="bar()"を同時に使いたいのですが… A3. セミコロンで複数の文を区切られます。onclick="foo();bar();"としましょう。 Q4. document.write(...)でページ内容を追加したいのですが… A4. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。 部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、 (2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。 innerHTMLは非標準ですがIE、Opera、Safari、Gecko(N6/N7/Firefox等)で対応済。 Q5. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが… A5. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるか <div><table>...</table></div>とでもしてdivのinnerHTMLを書き換えましょう。 Q6. DOMでtable要素にtr要素を追加しても表示されないのですが… A6. DOMでは(XHTML 1.x除く)tbody要素にtr要素を追加する必要があります。 tbody要素はtbodyタグを書いていなくても自動的に作成されます。 またはtable.insertRow()/tbody.insertRow()を使いましょう。 Q7. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが… A7. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。 Q8. フォーム部品名を変数にした「...myform.変数名.value」が動きません… A8. 「document.forms.myform.elements[変数名].value」でどぞ。 JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
【FAQその2】 Q9. Aタグのonclickで動作指定してるのですが時々動きません… A9. 「onclick="...;return false"」としないとページ移動しちゃうから。 Q10. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが… A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。 Q11. 100*1.15の結果が114.999…998となってしまうのですが… A11. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。 Q12. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが… A12. IE7/Gecko/Opera/Safariのnew XMLHttpRequest()、IEの new ActiveXObject("Msxml2.XMLHTTP.6.0") (または"Msxml2.XMLHTTP.3.0") を使えばできます。古いブラウザだと隠しフレームに読むなどのワザが必要。 Q13. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません… A13. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。 複数の関数を呼びたいときは obj.onclick=function(){foo();bar();}; という風に無名関数を作りましょう。中に書かれたコードが実行されます。 Q14. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが 「"...this..."」とか「function(){...this...}」ではうまく行きません。 A14. それらが実行されるときはthisは別のもの(window等)を指してしまってる。 「function(x){return function(){...x...};}(this)」のようにthisを別の変数に 束縛しその変数を使って。循環参照によるメモリリーク問題あり(この項記述検討中) Q15. 文字列の置き換えをするときにコードを使いたい(Perlのs///e)のですが… A15. string.replace(/.../,function(str,p1,p2,...,offset,s){...})としましょう。 正規表現にマッチした文字列がreturnで返された文字列に置き換えられます。 各引数はstrがマッチした部分文字列、p1,p2,...が1番目、2番目、…の()の中身、 offsetがマッチした位置、sが置き換え前の文字列全体になります。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】 ・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも 仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。 ・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、 なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。 ・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと は無視」は不毛。質問者が分かって選択していれば尊重する。無知か らIE専なのは指摘してあげると親切。 ・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される 可能性大。非標準機能も損得を分かった上で使うならよい。 ・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、 そこだけ見ているとIE専になる。あとは上2件と同様。 ・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当 な理由があることも。尋ねて分かってないようなら煽っても可(w ・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選 択するべき。一概にどちらは駄目、とは言えない。 ・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性 で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
CSS スレより
385 名前: Name_Not_Found Mail: sage 投稿日: 2007/08/23(木) 02:41:08 ID: ???
マルチブラウザ対応でいつも思うのが、
Firefox などでキレイに表示される XHTML + CSS サイトを
IE6 対応に整形してくれる JavaScript ライブラリが
あっても良いのになぁ・・・と。
ない?
390 名前: Name_Not_Found Mail: sage 投稿日: 2007/08/23(木) 10:20:22 ID: ???
IE6に対応するようハックを自動で入れてくれる
ってことだろうよ
392 名前: Name_Not_Found Mail: sage 投稿日: 2007/08/23(木) 12:07:47 ID: ???
>>390 そんな便利ツールって存在するのかい?
393 名前: 392 Mail: sage 投稿日: 2007/08/23(木) 12:13:30 ID: ???
UAチェックして、IEで6のみJS読み込ませるような
スクリプトがホスイ
398 名前: Name_Not_Found Mail: sage 投稿日: 2007/08/23(木) 13:39:29 ID: ???
>>394 サンクス
いや、それは分かっているのだが
UAチェックの後、
>>390 のようなJSを読み込めば
IE6用のCSSをワザワザ作らなくても良いのになってことどす
--- 以上
こんなJSある?
function requestFile(fileName){ var httpoj = createHttpRequest(); httpoj.open("GET",fileName,false ); httpoj.onreadystatechange = function(){ if(httpoj.readyState==4){on_loaded(httpoj,fileName);} } httpoj.send(""); } 一番下のsendの所でたまーに"指定されたリソースのダウンロードは失敗しました"とエラーが出るのは何故でしょうか? 以前調べた時プロキシの設定が云々って見かけて全部offにしたのですが、それでもまだ再発します… "指定されたリソースのダウンロードは失敗しました" javascriptの検索結果 3 件中 1 - 3 件目 (0.34 秒) 検索結果も3件しかなくてお手上げです
16 :
Name_Not_Found :2007/08/24(金) 15:58:54 ID:M2g5PS4+
同じタグの中でonclickイベントでfoo()とbar()を同時に動作させるに はどうしたらよいですか?
>>16 一見釣りかと思ったが
FAQにA3が二つあるという間違いを知らせたかったんだな。
ありがとう
>>16 !
18 :
16 :2007/08/24(金) 17:39:47 ID:???
FAQ嫁ボケ、を期待したんだが外されてしまった。 いや、FAQ嫁と言われて返す刀で突っ込もうと思ったのは、 >を同時に使いたいのですが というA3のフレーズなんだ。これは「同時に」じゃないだろ。 foo()の処理が終わってからbar()の処理に移るはずだ。なので、この 表現は不適当だし、いずれ突っ込まれる材料になりはしまいか、と。
yieldについて語りたくてしょうがないようだな
20 :
Name_Not_Found :2007/08/24(金) 19:46:25 ID:QGGsqHAU
json使ったスクリプト書いてるのですが,リモートサイトから var remoteJson = { "2007": "hello" } こんな感じで送られてくるのですが,それを普通に alert(remoteJson.2007); とはいかないので,いろいろと試してみたのですが分かりません.どうしたら数字にアクセスできますか?
yieldの魅力を三行で説明してくれる猛者キボン
>>20 FAQ8
22 :
Name_Not_Found :2007/08/24(金) 19:58:53 ID:QGGsqHAU
>>21 remoteJson.elements has no properties
というエラーメッセージがでます.
JsonではどうやらFormなどの取得とは違うようです...
23 :
Name_Not_Found :2007/08/24(金) 20:00:42 ID:QGGsqHAU
obj['x']でやったらうまくいきました! すいません,ありがとうございました!
24 :
Name_Not_Found :2007/08/25(土) 00:08:32 ID:Ha74RJRW
現在、下のように書いているのですが、これは大丈夫なんでしょうか? func(e){ var t = e.srcElement ? e.srcElement : e.target; //処理 } 下のようなevent || (event = window.event)の処理をやっているのを見かけますが、 このようにした方がいいのでしょうか? if ((event || (event = window.event))) for (target = event.target || event.srcElement; target; target = target.parentNode) よかったら教えてください。
読みやすいほうがいいんでね
26 :
Name_Not_Found :2007/08/25(土) 01:57:39 ID:kcTDOXNN
どうして、理系の人間は、 ・教えられる側の知識・キャリア・理解力等を一切考慮せず、物事を噛み砕いて説明するということができないのか? ・相手に説明したいというより、知識をひけらかしたいのか?(必要以上に説明が多い) ・応用力が無いのか、質問内容が少しでも明確でないと、 自分の言葉の読解力・応用力の無さを完全に棚上げして、逆に相手の人格攻撃も辞さない。 (本質がずれた、女の喧嘩になる。) ・何かを議論している時、必ず相手の言葉に対する反論から入る。 「いや、でも…」、日常会話てもこれが口癖の人は多い。
理解力が足りない
28 :
Name_Not_Found :2007/08/25(土) 03:40:25 ID:YjnNTP44
質問させて下さい。 私はゆいちゃっと系のcgiを弄って原型にはない機能をつけてチャットを楽しんでいます。 質問ですが最近、複数あるチャット部屋にメッセージを一斉に送信する機能があったらと思ったのですが上手くいきません。 というより全く発想が浮かばなくて困っています。 もしよろしければヒントなる部分でも教えていただけないでしょうか?
一斉にメッセージを送って会話が成り立つわけないだろ、この糞スパマーが。
また続きか
33 :
Name_Not_Found :2007/08/25(土) 09:08:17 ID:JuSlwIrk
getElementsBy〜() で集めた要素の順番って何に基づいて決まるんですか?
ゆとり消えろ。
仕様には何と書いてあった?
36 :
Name_Not_Found :2007/08/25(土) 10:54:00 ID:YjnNTP44
ゆいちゃっとの質問をした者です。 確かに会話は成り立たないと思いました。 ただ荒らしが多い場所なので、複数の部屋へ同時に、荒らし回っている参加者のIPを伝えれたらと思いこのような質問をさせていただきました。 場違いな質問、並びに質問のマナーが守れていない聞き方で有識者の方々に不快な思いをさせてしまい申し訳ありません。
>>36 おまえCGIが何かClient-Side-Scriptingが何か、全然わかってないだろ。
ここはJavaScript(!=(JS||Java))の話をする板だ。
ダラダラスパム2個も落とすとは。二度と来るな。
>>36-37 その
>>37 の返し方も不親切なんじゃないかな。もっと詳しく言うなら、
1つのページのスクリプトはそのページが置かれていた元鯖にしか送信できない
ので、1つのスクリプトで複数サイトに書き込みは不可能(それら全サイト
が実は同一鯖にあるのでない限り)、という説明がいいんじゃまいか。
どうでもいいしレスはうざいんだが、
>>28 からするとこの人物はそれ系の
CGIを手に入れて自分のサイトで複数のチャットを運営しているのじゃない?
CGIスクリプトを改造したいという時点でここではOUTなわけだが、数種の
チャットはいずれも同一鯖内にあってそこに送り込みたいと洩れは読んだ。
なので、すること事態は可能と言っておく。
>>36 フォーム側のフレームにiframe要素を挿入して
その表示エリアに掲示版スクリプトの
フォーム無しページを表示させてみてはどう?
チャットCGIそのものの改変にこだわらなきゃ
こんなやり方でも十分だと思うよ。
・・・って全然JavaScriptに関係ないレススマソ
41 :
Name_Not_Found :2007/08/25(土) 15:38:11 ID:lWkA4S7f
二つ質問があります。。。 ・location.reloadというものがありますが、これは関数と考えても良いの でしょうか?一方、window.alert()というのは関数ですよね? ・location.reloadというように、A.Bになっているものはどういうふうに 定義されているのでしょうか?関数の入れ子で実験してみましたが、エラー が発生しました。 ※location.reloadというのは関数ではなく、変数みたいに、状態を表す ものなのでしょうか?
42 :
Name_Not_Found :2007/08/25(土) 15:59:44 ID:lWkA4S7f
>>41 すいません、色々やっているうちに自己解決しました。
※質問に間違いがありました。
location.reload → location.href
>>41-42 「本当に自分が分かっていないところ」は解決してないでしょ?
前スレの終わりの方でsetter、getterに関する議論のところを
読めばよく分かると思うよ。前スレ、過去スレ全集にあるから。
44 :
Name_Not_Found :2007/08/25(土) 17:46:47 ID:h0Hs0IHb
>>43 わざわざありがとうございます。
前スレというと、vol.58が相当しますよね?過去スレ全集には見当たりません
でしたが。。。
あれれ…すまそ、だれかお願い〜
>スレの終わりの方でsetter、getterに関する議論のところを ...
これから行くと、記憶に新しいのは、vol.55だが、内容が
>>43 の言って
いることに合致するかどうかは怪しい。
48 :
Name_Not_Found :2007/08/25(土) 21:08:45 ID:6GTruhRt
>>43 ,46,47
どうもありがとうございました。
>>48 今見たけど vol.59の654-662あたりだね。ところで質問はage
てくれていいけどそれ以降の応答はsageてね。(E-mail欄にsageと入れる。)
これを理解してないのなら2ちゃん案内所などで勉強するべき。
雰囲気悪くする投稿をしてた人が JS 嫌いの彼と同一人物だとわかったよ
>>37 JSはほとんどカノニカルな略語だよ。
mozillaの外人をはじめ、ふつうにJSという略語で喋られ、書かれている。
つうか、ええかげんにせえよ。馬鹿かおまえ。
カノニカルとは? (そんな知ったかなカタカナ使うなよボケ。だれもあんたを へぇ〜すごい、なんて思わないから。期待はずれ)
>>52 これこれ、
>>51 さんを誰だと思ってるんですか?
工場で一日一生懸命缶詰の仕事してヘナヘナになりながらも
このスレで一生懸命、自分の存在意義を確認するために
あれこれとアドバイスしてくれる尊きお方ですよ
お言葉が過ぎます
自演が面白いお年頃らしい
日本語Wikipediaでは書き出しが「JavaScript(ジャバスクリプト、
ジャヴァスクリプト、略称:JS)は…」ともろにJSを認めてるね。
http://ja.wikipedia.org/wiki/JavaScript あちらのWikipediaコミュニティで議論してこれを取り消すと
いう結論が出たらこっちもテンプレに書くとかどうかな?
2ちゃんと違って用語命な人達だから手ごわいと思うけど…
57 :
Name_Not_Found :2007/08/26(日) 00:01:41 ID:9jpvIkky
>>36 態度が良かったからヒントを教えてやるよ。
htmlファイルで。
<input type="submit" class="button" value="発言"
onClick="c1();">
<input type=text size=50 name="unko">
なるものを作る。そしてjsファイルで
function c1(){
if (document.send.unko.checked)
{temp = "【チャットのURL】&name=" + document.send.name.value
+ "&color=" + document.send.color.value
+ "&chat=" + document.send.chat.value
+ ""
window.open(temp,"down");
}
}
同じようにjsファイルに複数のURLを含めたをfunctionをつくり、onclickをfunction
で書いたやつを(ここではc1)増やしていけば複数送信になる。
58 :
Name_Not_Found :2007/08/26(日) 00:05:46 ID:MtDCufQ4
>>57 ↑
お前、その物言い、いったい何様よ。
と、板の常識を無視して煽ってみる。
59 :
Name_Not_Found :2007/08/26(日) 00:08:43 ID:OxP5KiUS
二回目の質問すいません。。。 ある関数Aがあったとします。関数Aは画像を表示するよう定義されています。 ・なんらかの方法により(外部から)、関数Aが連続的に呼ばれた場合、 それを中止させることは可能でしょうか?(forなど)
缶詰工員の
>>50 の発言だが、
>>37 のJavaScript(!=(JS||Java))というのを
見て鬼の首でも取ったように荒らし=JS嫌いと短絡的に断定したようだな。
おれにはとてもJavaScript(!=(JS||Java))のような気のきいたものは書けな
いが、JS嫌いを表明したら同一人物にされるんだろう。
>>50 =
>>51 だろうが、そんな雑駁な推理しかできないようでは困るな。ロクな
プログラミングもできんのだろうね。
>つうか、ええかげんにせえよ。馬鹿かおまえ。
まあ、そうカリカリするなよ。そうやって前ネタを蒸し返し口汚く吼える
のは、育ちがよくない証拠だな。小さいころからバカだの在日だのとから
かわれて育ったんだろうが、もっと大人の言葉を使え、ヴォケ
もうええやん JS Java JScript どんな書き方されようが このスレに書かれた質問は 全部JavaScriptの質問として受ける。 呼び方が気に入らない奴はレスしなきゃいい。
どっちでもいいからやりたい奴がWikibooksとWikipediaを統一 すべく殴り込めばいいんじゃないの。ここの代理戦争みたいに なったりしてさ。
>>63 趣味でやってるなんちゃってプログラマーなら呼び方なんて関係ないよな
そういえば、Wikipedia書いた人を特定できるってどこかで見たような
お前ら本当にジャバスクリプトを弄っているのかと問いたい。問い詰めたい。 そんなに名称が気になるのならuser.jsで一括置換しちまえばいいじゃねーか!
じゃ、JavaScriptは以後「ジェーエス」ってみんなで。 さあ、みなさん、ご唱和を。 ジェーエス、ジェーエス、ジェーエス、ジェーエス ジェーエス、ジェーエス、ジェーエス、ジェーエス ジェーエス、ジェーエス、ジェーエス、ジェーエス ジェーエス、ジェーエス、ジェーエス、ジェーエス ジェーエス、ジェーエス、ジェーエス、ジェーエス ジェーエス、ジェーエス、ジェーエス、ジェーエス
あれ、まだ夏休みか。
>>65 同。「Java初心者です」可ww
間違いを正し罵倒して追い返すのが親切で健全な板だな。それを放置して
いるとどうしようもないことになる。
ものごとは放って置くとカタストローフに向かうというのは自然の摂理。
71 :
Name_Not_Found :2007/08/26(日) 11:28:45 ID:yiSZ/pAq
質問です。 みなさんはJavaScriptのライブラリは何を使うことが多いですか?
72 :
Name_Not_Found :2007/08/26(日) 11:38:51 ID:QnQFgt+M
すいません、ちょっと教えてください。 以下を実行すると、window.onload = func();のとき、動作しません。 どのようなときに()をつけて、どのようなときに()をつける必要がないのでしょうか? function func(){alert("!");} window.onload = func; window.onload = func();
JavaScriptファイルの格納場所について 皆さんは、自作したJavaScriptをWebサーバに格納する場合に、 どのように格納されていますでしょうか? ファイル拡張子は大概jsだと思いますが、 格納場所についてはルールのようなものがあるのでしょうか? 直置き派、jsフォルダを掘る派、scriptフォルダを掘る派、 libフォルダを掘る派 などがいるようですが、普通はどうするものなんでしょうか。
>>73 どうしなければならない、というようなルールはありません。
普通は、自分のディレクトリ構成に合わせたり、ファイル管理の原則に
基づいたりして置きます。
また理由や目的はいろいろあるでしょう。スクリプトを見られたくない
とか、パスワード系の文字列なので外部化したいとか。しかし、最も基
本的な発想は、スクリプトを複数のファイルで共有するということです。
また、制約やデメリットもあります。異ドメイン問題や外部から読見込
むことによる時間的ロスとかです。
このようなことを考慮の上であれば、jsファイルは自由に置いて構いま
せん。
function func(){alert('!');return func} window.onload = func; window.onload = func(); こうすれば迷わなくていいよね function func(){alert('!')} alert( func ); alert( func() ); でなにが表示されてるのか確認すれば、どうすればいいのかわかりやすいですね
>>72 関数そのものを代入するか関数の結果を代入するかの違い。
78 :
Name_Not_Found :2007/08/26(日) 12:52:44 ID:QnQFgt+M
>>75 ,76
なるほど!判りやすい説明ありがとうございます!
79 :
Name_Not_Found :2007/08/26(日) 12:56:02 ID:QnQFgt+M
>>77 違いますよ。okwave嫌いですし。
でも、そのurl参考になりました!どもっす。
>>72 > window.onload = func;
func()自身が設定される。
> window.onload = func();
func()が実行され、その戻り値が設定される。
81 :
80 :2007/08/26(日) 14:23:08 ID:???
リロードせずにレスしちゃったスマソ
82 :
Name_Not_Found :2007/08/26(日) 16:21:33 ID:qiEdqYgs
画像をインスタンスに格納するとき、配列に Img['name1'] = new Image('pic1.png'); みたいに一括ではできないのでしょうか。
>>82 用語づかいがおかしい。「画像オブジェクトを生成して、
ファイル名を設定し、img要素に入れる」とかかな?でも
プリロードが必要でないのなら
document.images['name1'].src = 'pic1.png';
でいいのでは。Imageオブジェクトの保存が必要なら
document.images['name1'].src =
function(){var i = 他の変数 = new Image(); i.src = 'pic1.png'; return i; }();
とかではどうかな。
84 :
Name_Not_Found :2007/08/26(日) 17:11:48 ID:Rk69ZWTD
入れ子関数に外部からアクセスすることは可能ですか?
>>84 ECMA-262標準としては「できない」。処理系によってできるものが
あるのかも知れないけど、その場合も処理系依存なわけなので、
使わないのがいいかと。
86 :
sage :2007/08/26(日) 17:32:20 ID:Rk69ZWTD
>>85 ありがとうございます。
じゃあ諦めるしかないですね。。。
>>86 自分でこういうことをやればいいのかも。Mozでテスト。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function test() {
function test1() { alert('?'); }
test.test1 = test1;
}
test.test1();
</script>
</body></html>
88 :
sage :2007/08/26(日) 18:11:41 ID:???
ありがとうございます。 お、これはいけそうですね。早速試してみます。
>>87-88 ちょっと待って。test()を1回は実行した後でないと
意味がないよね。Mozで動いたのはその「ECMAにない仕様」
があるためなんだと思う…
>>87 ,89
inputタグで先にtest()関数を実行してから、test.test1()と呼び出してみると
見事に実行されました。ありがとうございました。
92 :
Name_Not_Found :2007/08/26(日) 19:56:13 ID:ohkUpAD8
配列オブジェクトを作るときなんですが、それぞれをA、B、Cとして A = B = C = new Array(); とは書けませんか(なんかそのようなのですが)?
>>92 そう書いた場合、変数AもBもCも同じ1つの配列オブジェクトを指す。
ところで質問ですが、配列を1つ作り、それを3つの変数X、Y、Zから
参照させたいと思います。「X = Y = Z = new Array();」でいいと
思うのですが、他にもっとよい書き方があると思いますか?
prototype
for関数に渡す引数は三つですが、実際にはどのように定義されているので でしょうか?引数が命令感覚なので , で区切ってるとは思えません。 何か知ってる方がいたら教えてください。
>>95 forというのは「関数」ではなく「構文」であり、初期化、条件、
更新の部分も「引数」ではない。どのように定義されているか
というと、JavaScript処理系の中でそれ専用に解析している。
ありがとうございます。 forは関数じゃないんですね。ということはifなども構文に相当するんですね。
JavaScriptの構文をどっかで勉強したらー。
とほほがお勧め!!
いついからこのスレはとほほ推奨に?
とほほが推奨されることは永遠にないでしょ。
102 :
Name_Not_Found :2007/08/27(月) 13:30:35 ID:FSjVX3bG
getElementsByTagName('div').remove() こんな感じで全部削除したいんですがどうすればできますか?
>>102 var a = document.getElementsByTagName('div');
for(var i = 0; i < a.length; ++i) {
a[i].parentNode.removeChild(a[i]);
}
104 :
Name_Not_Found :2007/08/27(月) 13:48:40 ID:FSjVX3bG
>>104 上記を自分の好きなオブジェクトのメソッドとして定義すれば
いいのでは。それが嫌なら「できない」ということになるな。
106 :
Name_Not_Found :2007/08/27(月) 14:01:26 ID:FSjVX3bG
>>105 ノードリストはオブジェクトじゃないんですか?
ライブなノードリストで数まわしてノード操作したら危ないだろう…。 真面目にいちど配列に貼るか、0番だけぐるぐる。
110 :
Name_Not_Found :2007/08/27(月) 14:16:15 ID:FSjVX3bG
>>107 いつでも getElementsBy*().remove() みたいに出来るようにするには
どこの prototype にくっつければいいんでしょうか
>>110 IEのDOMオブジェクトがjs的オブジェクトとはちょっと違ったナニカなので、
実用上そういうアプローチはする意味が薄い。
112 :
Name_Not_Found :2007/08/27(月) 14:40:09 ID:FSjVX3bG
>>111 なんかよくわからないけどありがとうございました。
>>110-111 getElementsByTagName()で返されるNodeListにはprototypeがない
ような気がする(Mozでやってみたところ)。とすると、毎回次のように
個別に設定するしかないんでは。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test(elt) {
var a = document.getElementsByTagName(elt);
a.removeAll = function() {
while(this.length > 0) this[0].parentNode.removeChild(this[0]);
}
a.removeAll();
}
</script>
</head><body>
<div>x</div><div><div>y</div><div>z</div></div>
<p><span>aaa</span>bbb<span>ccc</span></p>
<p><button onclick="test('span')">span</button></p>
<p><button onclick="test('div')">div</button></p>
</body></html>
ほれの汚いコードは全然改善されてない
115 :
Name_Not_Found :2007/08/27(月) 15:03:58 ID:FSjVX3bG
>>113 これはどうもありがとうございました。
ただ今回はリスト内のノードをただ全て消したいというだけでしたので
prototypeは適さないようです。本当にありがとうございました。
>>114 少なくともあんたよりは立派だ
いちおグダグダ言うだけで何もできない哀れさ
ImageやOptionなど一部だけコンストラクタらしきものが用意されているエレメントがありますが これらについてまとめて書かれているリファレンス等はあるでしょうか? 検索しても断片的な情報しか出てこなくて・・・。
>>118 ImageとOptionだけなんじゃないの。歴史的事情による。で、今は
document.createElement()を使う方がいいんでこれらは使わない…かな?
Optionは廃止の予定
>>114 ホレ氏じゃないだろ
昔はもっとマトモなHTMLとテストケースを黙々を書いてたから
たぶん今のは別人
>>118 JavaScript 1.3
テンプレから辿れ
123 :
118 :2007/08/27(月) 20:01:37 ID:???
114はしらんが、俺は113の変数名eltがバグ出しそうで許せない idかelementNameとかにしてほしい elememtNameは違うか
id?
tagnameもしくはtagが妥当なところだろう
どうでもいいことだろ。バグ出るというが、説明してみ>124
129 :
Name_Not_Found :2007/08/28(火) 00:57:15 ID:rzJQFL8P
テキストボックスに数字のみ入力の規制はどうすればよろしいでしょうか? ieはうまくいったのですがie以外ではうまくいかなくて。
>>129 やりかたはいろいろある。
まずは最小限のソース貼ろう。
>>129 単純なのはvalueで中身を取得して正規表現でtestするとかじゃないかな?
どういう方法でやったの?
>>129 過去スレに山程サンプルあるぞ。
>>130 の言うように
最小限のソース作れない奴は帰れ。
133 :
Name_Not_Found :2007/08/28(火) 09:44:49 ID:LGaORyHX
失礼しました。最小限のプログラムというとこうなります。 <FORM ACTION="省略です"> <INPUT TYPE="text" NAME="Seigen" STYLESHEET="ime-mode: disable"> </FORM> 過去ソース捜索してみましたがありませんでした。どうぞ助けてください。
>>133 まず、どうしてこの板に来たのか教えてくれ
>>133 最小限すぎて吹いたw
それのどこにJavaScriptのソースがあるんだい?
137 :
Name_Not_Found :2007/08/28(火) 09:58:42 ID:LGaORyHX
書き忘れました。 ime-mode: disable"> をmozilla-modeやsafari-modeにしてみましたが うまく弾いてくれませんでした。
>>133 数字チェックなんてしてないじゃん! 何なんだー。
過去スレvol.42の271-284とか読んでみれば?無いなんて大嘘だろ?
, -‐−-、 ヽ∧∧∧ // | . /////_ハ ヽ< 釣れた!> ハ レ//j け ,fjlリ / ∨∨V ヽ h. ゚l; ハイイト、"ヮノハ // |::: j 。 /⌒ヽヾ'リ、 // ヾ、≦ ' . { j`ー' ハ // ヽ∧∧∧∧∧∧∨/ k〜'l レヘ. ,r'ス < 初めてなのに > | ヽ \ ト、 ヽ-kヾソ < 釣れちゃった!> . l \ `ー‐ゝ-〈/´ / ∨∨∨∨∨∨ヽ l `ー-、___ノ ハ ´ ̄` 〈/‐-、
142 :
Name_Not_Found :2007/08/28(火) 10:22:33 ID:wLTJCZKc
prototype使う理由ってなんですか? その理由がわかるようなコードを書いてもらえますか?
過去スレでprototypeを使っているものを探して読めばいいだけのこと。
144 :
Name_Not_Found :2007/08/28(火) 11:13:15 ID:wLTJCZKc
参考になるレスがありませんでした。
>>114 vol.3の787とかvol.4の268とか色々あると洩れは思うがまあ無いと
いうのなら無いんだろうな。
だったら、このスレで聞くこと自体無駄だろ。過去スレを書いてきた
常連が回答するわけだからさ。
prototype使う理由は、理由がない者には無縁。別に使わなくても同じこ とはできる。規格を読めばこんなところで叩かれながら聞く必要は皆無 なんだが。帰れ。
「参考になるレス」はどこへ行ってもないだろ。参考になるかならないか は本人のレベル次第だから。
>>142 多態で実行時の速さが増す。
JSではどう工夫しても実行時の速さは組み込みの変数探索とメソッド探索に大差で負ける。
それらを任せてしまうわけだから、一般常識に反して、多態が速い。
ただし、本当に意味のある高速化であるかどうかは、また別の話。
つまり、「俺prototypeとかナウいもん使ってるぜフフンッw」ってことだよ。
>>148 理由だろ?そんな理由で使う人間はいないだろ。意味もない心配して
使う奴はよっぽどの間抜けだな。
おれにはどうもprototype.jsのことを指しているんではないかという疑問が拭えない。
prototypeはJavaScriptの専売じゃないからね
prototype と __proto__ の違いをわかりやすく産業で頼む
コンストラクタXでnew X(...)によりオブジェクトを生成する時 X.prototypeの値がオブジェクトの__proto__に設定される。 __proto__はその後変更も可能だがこれはECMAにはない機能である。
そんなヘンな機能はIEにもない
3行目ダウトだろ?
密輸失敗
本部連絡
ダウトはいいんですが正しい(と考える)答えを書いてくれませんか。 でないとスレ全体の知識が向上しないじゃないですか。
>>161 ばかいってんじゃねえよ。あんたの理解とこの「スレ全体の知識」
とは無関係。まず自分で規格を嫁。
ほのめかしで批判しておけばがっつり反論されることもなく 楽に優越感に浸れていいですね というか規格とかじゃなく「ダウト」の内容はどうせ「ECMA」だろ
>>164 >>3 4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
>>150 そんな理由以外に何かあるかね。極論すれば多態以外にオブジェクト指向の旨味は無いよ。
>>150 >>166 多態が理由なのはいいとしても、その動機が「速さ」ってのはアホだ。
「記述性」以外にないだろ。速さ命ならOOPなんか使わないか、使う
としてもC++限定になってしまう。
ついでだから質問 JavaScriptで速さの追求や まとめたサイトありませんか あくまでもJavaScriptで。
>>168 JavaScriptはブラウザもいろいろ、ヴァージョンもいろいろ、
拡張オブジェクトもいろいろ、人生いろいろ・・・
なので、速さを厳密に調べようとすると大変な組み合わせが
必要かつすぐ色褪せる。なので、史料価値がすぐ陳腐化する。
なぜ、人に頼る。人を当てにするな。自分でやるんだ。
ついでの筆問なんかに答えてるおれはバカだな。
>>168 for ループの書き方から始まり色々検証してたサイトをどっかで見たんだが忘れた。
見つけたら晒すからおまえも探せ。
結果照合したことある?やるたび数字がちがうのは知ってるよね
>>170 ヒント:「for ループの書き方」でググれカス
>>173 ワロタ 指図しといてw(人には厳しいっていうあれか
175 :
Name_Not_Found :2007/08/29(水) 14:36:11 ID:2UA4ztp3
こういう目に悪いページは見ないほうが吉
178 :
Name_Not_Found :2007/08/29(水) 15:59:47 ID:SO9VWe2l
JavaScriptでEUC-JPにURLエンコードするにはどうしたらいいのでしょうか? encodeURIComponentではUTF-8固定のようなので行き詰まっています。
ADODB.Streamとやらでいけるようでした。 スレ汚しすまんです
180 :
168 :2007/08/29(水) 19:01:14 ID:???
教えてください <HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> </SCRIPT> </HEAD> <BODY> <input type="checkbox" name="hoge" value ="hage" onclick ="alert(this.value)">AAA </BODY> </HTML> Firefoxだと問題なくalertが出ますがIEだと出ません どうしてなんでしょうか??
meta
自己解決しました onclick ="javascript:alert(this.value)"で OKでした。 けどこれで正しいのかな??
>>183 いやそれだけの変化で上手く行くはずがない
>>181-184 LANGUAGE="VBScript"と指定してある。だからJavaScriptのコード
である alert() とかダメ。しかし javascript: をつけたため
IEがJavaScriptとして解釈してくれるようになったんだろう
(そんな機能あったのか…)。もともとVBScriptなんて指定無視する
FFxでは関係なかったわけだ。で、それでOKとするよりも
LANGUAGEを直すことをお勧めしたいが…
つまり、お利口なFFたちは<script>と考えるわけだ。IEのお家芸は IEの宴会場でしか拍手されないということ。
>>185 そうですか、作ろうとしてしていたのが
VBScriptでローカルファイルを読んで(HTAファイルにして)
取ってきたファイルをjavasctiptで表示するようなもの作っていて
javasctiptだけなら問題なかったのですが、VBScript追加したとたん
this オブジェクトがありません!って叱られて困ってました。
meta
>>187 another htmllintなどを掛けるとこれを入れるように言われるんだけど、
<meta http-equiv="content-script-type" content="text/javascript">
を入れて置くとonclick等languageの指定されていないところのスクリプト
がJavaScript扱いになる。
meta
191 :
Name_Not_Found :2007/08/30(木) 03:20:20 ID:0Rtwf8mz
document.writeで文字書くのと value や innertext で書くのってなにが違うのでしょうか?
<body onload="document.write("test");"> とかやればわかる。
193 :
Name_Not_Found :2007/08/30(木) 06:16:04 ID:efA1rYKr
もしスレ違いなら流していただいて大丈夫です。 最近、IE7を導入したんですが、IE6までで利用できていた、 style="background-image:url(JavaScript:〜 の構文が使えなくなってしまいました。 元々、IEの脆弱をついた文だと聞いてたので、IE7になって改良されたので出来なくなったとは思いますが…。 もしよろしければIE7にも効果をもたらせるように構文を書き換えることは出来ますでしょうか?よろしくお願いします。
behaviorプロパティ使えば。
「回答内容や回答コードを批判するときは理由・根拠を 明示するか代案のコードを提示する」をテンプレ に追加するというのはどうだろうか。
196 :
Name_Not_Found :2007/08/30(木) 11:56:13 ID:AAZFz8MR
var test = new Object() test.foo = function() { //some codes.... } 最近の傾向として、上記のようにするのは、 グローバルな名前空間を汚さないようにするためっていうのはわかったけど、 Prototypeを使う理由がまだいまいちわかんないです。誰かおせーて。
グローバルもなにも、ただプロパティを追加してるだけだろ
>>196 「使う理由がわかんない」と思うコードを挙げてくれないと
コメントのしようがないよ。
正規表現のcompileってあんまり使ってる人見ないんだけど、速くなるんだから必須ですよね? みなさんは使いますか?
文字列の中に"|"があるかどうか調べる正規表現で以下のように\付けてもうまく機能しないのはなぜですか? if("aaa".match(new RegExp("\|", "i"))) { //こっちが実行されてしまう alert("ある"); }else{ alert("なし"); }
足りない
>>201 あ!ありがとうございます
\\|ですね
>>199 おいおいちょっと来なさい。速くなるなんてネタはどこから仕入
れた?自分ではやってみたのか?何度言ったら分かるんだ。
何度言わせるんだ、人の言うことはまず疑れ。自分の席に戻って
ベンチマークの結果を出して、持ってきて見せなさい。
Wikiでも作って色々とベンチしたいけどなぁ
>>200-202 特に理由がないのなら正規表現リテラルの方が読みやすいかと。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
var s1 = 'abcd';
var s2 = 'ab|d';
document.write(Boolean(s1.match(/\|/i)) + '<br>');
document.write(Boolean(s1.match(new RegExp('\\|', 'i'))) + '<br>');
document.write(Boolean(s2.match(/\|/i)) + '<br>');
document.write(Boolean(s2.match(new RegExp('\\|', 'i'))) + '<br>');
</script></p>
</body></html>
>>196 オブジェクト指向は、理解できる?
さらに、
>>1 にあるガイドは読んだ?
207 :
Name_Not_Found :2007/08/30(木) 18:26:47 ID:+YnX0Sja
関数 function G(R){ document.write(R) ; } で、G(4)は「4」ですが、 出力を「R=4」とするには document.write(X+"="+R)の X 部分をどう書け ばよいのでしょうか。つまり、引数のRそのものを「R」と出力したいです。 よろしくお願いします。
>>207 引数の名前を取り出すことはできないわけだが、アンタが書いた関数
なんだから引数をRにしたんなら document.write('R='+R) で同じでしょ。
>>208 さん
やはりムリですか。ありがとうございます。
>>209 ムリはいいんだが、あんたが「R」と書いたんだから「'R='+R」であんた
の希望することと全く同じことが起きるでしょ。それともあんたが
求めていることは別のことなのかね(笑)。
>>210 そんなに追い討ちかけることもないだろ。あんたのようなバカが
このスレをダメにしてるんだよ。反省しろヴォケ。
質問者は礼をいって感謝しれるじゃないか、え? 日本語読めんのか!
>>210 質問者はコードで出したかったんじゃないかな。「'R='+R」を自慢毛に
書いてるが、そんなのは誰でも思いつく。それじゃない方法が知りたかっ
たんだとおもわれ。それにしても、おめえ、性格悪いな。
(嫌な上司が常駐しております)
>>207 予め、「R」と「4」を配列にセットしておけばいいんじゃない?
by JS初心者
>>207 続き。
<html><head>
</head><body>
<p><script type="text/javascript">
var X = new Array();
X[0] = 'R';
X[1] = 4;
G(0);
function G(R){document.write(X[R] +"="+X[R+1]);}
</script></p>
</body></html>
>>209-214 質問者が求めているのは『引数名じゃなくて』「G(Y)」のように関数Gを
『呼ぶ時に渡した変数名』を「Y=5」のように打ち出したいのではないかと
思ったので。で、もしその変数がグローバル変数であるのなら、かつ、
Gを「文字列リテラルを渡す」ように直してよかったら、次のように
Gを定義すればいいわけでさ。
function G(name) { document.write(name + '=' + window[name]); }
ただこれが求めていることなのかどうか分からなかったんだよね。
エスパーじゃないんで。やっぱり余計なお節介だった? ^_^;
この世に「余計なお節介」などというものは存在しないさ
>>217 もしかして「余計でないお節介」の間違いじゃねの? (w
>>215 アンタのサンプル、なんでわざわざ配列を使う必要があるのか
全然理解できないぞ。それだったら
funciton G(n, v) { document.write(n + '=' + v); }
を「G('R', 4);」とかで呼び出す方が素直だし読みやすいのでは。
219 :
215 :2007/08/30(木) 21:38:26 ID:???
>>218 おっしゃるとおり。すっきりしてて読みやすい。勉強になりました。
マジレスかよ! このスレ発足以来の危機なんじゃないの?
暇だったんで「マジレスかよ! 」をシャッフルしてみたら傑作らしき作 よ,か,ス,レ,マ,ジ! よ,ジ,レ,マ,ス,か!
洩れは「危機なんじゃないの?」に挑戦。 じゃ機危いなんなの?
224 :
Name_Not_Found :2007/08/31(金) 11:42:28 ID:NWHMv4mP
jQuery使ってる人いる? $('').html()で取得できるHTMLが、IEでは改行されてしまい、タグが大文字になるんですが、仕様ですか? 元のとおり、改行した状態のソースを取得したいんだけど、どうしたらいいでしょうか? FirefoxとOperaでは、ちゃんと改行されるんですが・・・。(ただOperaではタグが大文字になる)
225 :
Name_Not_Found :2007/08/31(金) 11:49:20 ID:DMGUYjkL
質問です。 配列ってdeleteしても長さは変わらないのですか? 「,」というゴミが取れません。
最小限のソースくらいは・・・。エスパーいるかもしれないが。 と思ってる初心者のオレ。
>>225 deleteでは変わらないよ
var x = [1, 3, 5];
delete x[1];
x // [1,, 5] これは正確には [1, undefined, 5] なわけだ
Array#spliceをつかえばお望みの通りに
var x = [1, 3, 5];
x.splice(1);
x // [1, 5]
>>224 もともと中ではinnerHTMLを使ってるんでしょ。で、IEは改行
等の情報を保存してないからどうにもならんだろ。元ソースの
まま欲しいならXMLHttpRequest()で鯖から直接取ればいい。
ところで「IEでは改行されてしまい」「改行した状態のソース
を取得したい」というのはおかしくないかね。不正確な質問は
駄レスの元(まさにこれもそうか)。
>>225 脳内でdeleteに勝手な役割を期待しても無駄ぽ。配列のメソッド
一覧くらいは目を通したらどうなんだボケ。spliceの勉強しろ。
分かってない奴がいるな。
>>228 には有用なアドバイスが
詰まってる。後半だけでも
(1) delete文の機能を自分の想像だけで解釈すると間違う。
(2) 配列の操作は配列のメソッド一覧に目を通しておくと有利。
(3) 今回の場合はメソッドspliceが有用。
語り口に目を奪われてないで本質を見るべきだと思うがね。
そこまで言うのであれば、
>>229 の本質にも目を向けるべきかと
配列のメソッド一覧ってどこに載ってんの? どこ見ても完全じゃないんだけど・・・
>そこまで言うのであれば、
>>229 の本質にも目を向けるべきかと
>どうぞ向けてください。
?
235 :
Name_Not_Found :2007/08/31(金) 15:20:07 ID:EOLlCmn0
下のスクリプトが実行できません elseのぶぶんがいけないといわれました どこがだめなのでしょうか? おしえてください <BODY> <SCRIPT LANGUAGE="JavaScript"> function kenzan() { hp = eval (myform1.mytext1) if (hp==100); { alert("大丈夫です"); } else { alert("あああ"); } }</SCRIPT> <form name="myform1">HP:<input type="text" name="mytext1"></form> <form name="myform2">MP:<input type="text" name="mytext2"></form> <FORM><INPUT type="button" onClick="kenzan()" value="確認"></FORM> </BODY>
239 :
Name_Not_Found :2007/08/31(金) 16:21:16 ID:NWHMv4mP
>>288 回答どうもです。
すいません、間違ってましたね。
「IEでは改行されない状態で送られてくる」が正解でした。
なるほどIEではしょうがないのか。。。諦めます
ありがとうございました
あらためて本でも読もうかと思ってるんだけど、 やっぱりオライリーの本がいい? オマイラのおすすめするベストな本もしえてくれ
サイ本ってクロスブラウザについても 網羅してたりするの?
初心者なオレは本など買わずに このスレと、とほほで学んでいる・・。
>>245 それは安上がりでよかったな。ところでとほほをこのスレがなぜ推奨
しないか、それはわかった上でのことだろな。
いくつかある理由の一つはまちがいが結構あるというものだが、それ
はわかってる?一つ挙げてみなよ。
>>246 テンプレのサイトがいいらしいのはわかるんだけど、
とほほは調べやすいのでついつい・・。
ちょっと本も検討してみます
>>247 それはこのスレで何度かみたことあるけど
専門的すぎて初学のオレには関係ないなって読み飛ばしてた。
とほほは要点が整理されていて、知りたいことに早くたどり着ける。
サイト自体も軽いのでイライラしないし。
間違いがけっこうあると言われても初心者にはピンと来ないというのが
正直な感想です。
>>249 もちろんそうでしょ。とほほ氏だって嘘書こうと思って書いてる
わけじゃなく勘違いしてるわけだから、とほほ氏よりさらに低レベル
の初心者が見抜けるわけないじゃん。で、嘘を教え込まれてその
調子でここ来られると迷惑なんだよね。嘘があると分かってるんだから
見ないのが早道でしょ。初心者の勉強には本を読むのがいいと思うし。
まあ、このスレが一番危険だけどなw
確かにここではホントとウソを見分ける能力は鍛えられると思うぞ。
上から目線で偉そうにレス返して 質問者にイチャモンつけてて そのくせ質問には何も答えられないヤツは 文句なくクズだからね(ifはぁと)
質問者が文句言われるのはテンプレを読んでないとかテンプレ に書かれていることに従ってないとかが理由でしょ。そんなの おだててたら破綻するって。まあ、回答しつつ罵倒するんなら いいんじゃないの?
Javascriptってなんで構文中の改行がいつまでたってもNGなの?
とほほってカネになる情報はネットに載せてないよね。 で、あんなカビの生えたような1999年版なんてのを晒 しておく。ある種売名行為だね。中身を責任あるもの にするような良心的人物なら、本にしてる方をネット に載っけとくはず。糞喰らえとほほ。
じゃあてめぇがとほほ以上のサイトを作ってとほほを駆逐しろよ
>>255 「;」の自動挿入規則の関係で現状から直すことができない
んじゃないですかね。どういう場合の改行のことか書いてみない?
>257 その喧嘩腰はなんだ。おれは一言もそんなこといってないだろ。 気は確かか。
>>259 「リフレク!!」
このスレ的には仕様書に勝るものはないしね
気が短い奴が多くて困るな。2ちゃんだろ、なにマジになってんの。 スルー力が重要だって。
>>258 str="abcd";//OK
str = "ab
cd";//NG
って事じゃね?
文字列の途中の改行なんて許して欲しくないな。 コードが読みづらくなるし。
改行したけりゃ str = "ab"+ cd";//ok
265 :
235 :2007/09/01(土) 15:46:32 ID:VFbq3aTX
235です。 ;を抜いたらどの数字を入れてもあああとしかでません。 どこがいけないのでしょうか? おしえてください 改善後のbodyをのせておきました。headのところは何もかいてません <BODY> <SCRIPT LANGUAGE="JavaScript"> function kenzan() { hp = eval (myform1.mytext1) if (hp==100) { alert("大丈夫です"); } else { alert("あああ"); } }</SCRIPT> <form name="myform1">HP:<input type="text" name="mytext1"></form> <form name="myform2">MP:<input type="text" name="mytext2"></form> <FORM><INPUT type="button" onClick="kenzan()" value="確認"></FORM> </BODY>
>>265 evalの行を次のように直した方が安全かと。
var hp = parseFloat(document.forms.myform1.elements.mytext1.value);
ちなみにvalueプロパティを指定して文字列値を取り出さないと無意味だぞボケ!
普通に考えれば、 str = "ab\ cd" だよな
269 :
264 :2007/09/01(土) 16:10:17 ID:???
>>267 答えは「ならない」。すまん。付け忘れた。
270 :
264 :2007/09/01(土) 16:12:58 ID:???
>>265 そんなevalなんか使うなボケ。(hp=="100")とすればいい話だろ。
parseIntでおk
var hp = "100" hp == 100 // true hp == "100" // true hp === 100 // false hp === "100" // true
parseIntなら第2引数を忘れないようにね。
文字列より数値で扱った方が安全?
そもそも変数名などから見てこの後数値として計算するように 見えるから。
HPとMPかw 出来上がったら公開してね
そのevalで数値化というやつはどこで習ったんだ。 ちょっと教えてくれ。
そこらじゅうのデマリファサイトでばら撒かれてる
ハイ。デマサイトのほんの一部ですいません。
www015.upp.so-net.ne.jp/heyjude/script_sample_Form_08.html
チェックボックスなどのvalueの値を計算に使用するには、一度evalメソッドで数値として変換しておきます。
r903.vox.com/library/posts/tags/javascript/
プルダウンメニューに個数をValueで設定し、evalで数値化したものを変数宣言したindexに代入。
www.hakko.co.jp/use/use12b.htm
このテキストボックスの値を数値化(eval)して、s[0]〜s[3] に入力しています。
www.usamimi.info/~geko/arch_pro/0x003_calculation/index.html
eval()で文字列を数値化する際、文字列の先頭に0が入ると文字列を10進数で数値化
hp.vector.co.jp/authors/VA003991/kouza/beginner/kouza_java.html
subject=eval(subject) とする事によって、数値0に変換されます。
http://www.esli.co.jp/javascript/index.html ・eval「数値にする」
www.hakko.co.jp/javascript/kantan0101.htm
eval は、あらかじめ定義されている関数で、数値または数式の文字列を評価して数値 ...
www.scollabo.com/banban/java/build.html
eval関数は、文字列を引数として渡されることで、その文字列を評価して結果を数値に返します。
etc.etc...(endless)
面倒な場合は "100" - 0 という方法がある
+"100" もね
"100" *1 もいける?
おおw
質問です。 mainとsubのフレームがあり、mainでキーボードイベントを処理しています。 しかし、subフレームにフォーカスがあると、mainで処理すべきキーボード イベントがsubに取られてしまうことになります。キーボードイベントが すべてmainで処理できるようにする(subにフォーカスが来ないようにする) にはどうすればいいでしょうか? sub側に self.onfocus = top.main.focus みたいな処理を書いてみたのですが、 FirefoxやOperaではうまくいくものの、IEやSafariでは効きません。IEでは onfocusが発生してないみたいだし、Safariでは top.main.focus が top.focus と解釈されてるみたいです。うまく動かすにはどうすればいいでしょうか?
俺は煙草を吸っても上手いと思った事ないからわからんが、 煙草って嗜好品なわけでしょ。 吸うと気持ちよくなったり気持ちが落ち着いたりする。 そうでなくても、とにかく吸わないと落ち着かなくてイライラする。そういうものなんだろ。 という事は例えるなら、煙草=オナニーなんだと思う。 すると気持ちいいし、しないとイライラ。 しかし人のいるところでやると迷惑かかる。と共通点が多い。 もしオナニストのモラルが喫煙者並だとこんな感じ。 ・常にしないと気がすまないため、路上でも人前でも憚らずにオナニーをするものがでてくる ・さすがに電車の中でするとかなり迷惑なので原則禁止 特急などの長時間乗車を要するものは、オナニストに配慮しオナニー席が作られる ・ファミレスに入ると、ウェイトレスに「オナニー席とオナ禁席がございますが?」と聞かれる ・日中、オナニーが我慢できないもののために駅にはオナニーエリアが作られる ・オナニーが周囲の人間に与える影響を考慮し、職場や公共施設内では原則オナニー禁止 配慮されオナニー室が作られる。我慢できなくなったオナニストはここで一抜きする ・歩きオナニーが問題に。ザーメンの飛ぶ高さはちょうど子供の目の高さ ・オナニー後のティッシュをポイ捨てする者が続出。街には吸殻と同じだけのザーメンティッシュが転がる ポイ捨て防止のために携帯用オナホールと携帯用ザーメンティッシュ入れを推奨 ・食後のオナニーは最高。 セックスの後はとりあえずオナニー ・千代田区、路上オナニー禁止区域に ・オナニー喫茶ではオナニー愛好家らが各自オナニーしながら会話を楽しむ ・オナニー中毒患者のためにオナニー中毒離脱診療が健康保険適応に ・航空機内でオナニーをするものが現れ、発着時間に影響 ・学校でオナニーが見つかり親呼び出し ・「だが私にオナ禁しろと言うのは、死ねと言う事」オナ禁の病室で愛姫県知事がオナニー ・杉村大蔵議員が「臭い、汚い、気持ち悪い」の「オナニー3K」発言 これに対してヘビーオナニストの小谷廼敦氏(43)が「差別だ、精神的に傷つけられた」と損害賠償請求 ・「オナホール、ワンカートン下さい」 ・「俺、もう2年も抜いてないぜ」
>>285 subでもキーボードイベント取ってmainのキーボードイベントハンドラ
をそのまま呼ぶとかはどう?
>>259 すくなくともお前よりとほほの方がはるかに良心的。
初心者の為に自分の時間を削ってサイトを作って、さらに維持費まで負担してるんだから。
良心を語るならとほほと同じぐらいの事をやってから語れば?
>>288 それは反対だな。金も時間も勝手に掛けてるだけで結局は
有害なんだからちっとも尊敬できない。
ここで吼えてるやつよりはましだなw 一部害があったとしても、それぐらい貢献してるのは間違いない 当時代わるサイトが無かったのも事実だし
292 :
259 :2007/09/01(土) 23:25:38 ID:???
>>288 259だが、何か。
「お前より」というがお前こそおれの何を知ってる。
比較する確かな根拠があるのか?比較できないだろ。
おれのサイトを知らずにとほほとは比較できんだろ。
おれを知らずにとほほの良心と比較などできんだろ。
それらを見たのか?なんの根拠もなしに勝手なこと
をよくいうもんだと感心しているw
お前のような奴がデタラメふりまくんだろ。そんな
論理展開でプログラミングできるのか?向いてない
よ。さっさとやめな。
293 :
259 :2007/09/01(土) 23:33:31 ID:???
>>288 のような奴はよくいる。ECMAの邦訳を貶すと、必ず出てくる。
無料でしかも日本語にまで訳してくれてるんだ。そんなことは言う
ものじゃない、とか。そういう奴は何も分かってない。英語が読め
ない人間には邦訳はありがたいだろ。しかし、誤訳でも日本語にな
っていたほうがいいという精神性は、間違っていてもわかりやすく
並べてあるとほほは良いというのと同じ。話にならん。
とほほのリファレンスをありがたがる奴はそのレベルだという証明。
とほほのリファレンスレベルを超えている人間には別に閉鎖されよ
うとなくなろうとどうでももよい。
>>259 みたいな反応する時点で貢献してる訳が無いのがバレバレだしぃー
案の定こんな長文書く位ふぁびょってるw
まあその程度の人って事
言うだけなら幾らでも言えるからな
function MakeSingleton( class ){ var _instance = null; var _class = class; this.instance = function(){ if( _instance == null ) _instance = new _class; return _instance; } } Singleton = new MakeSingleton( Class ); x = Singleton.instance(); privateな変数がないならクロージャ使えばいいんじゃねと思いつくったものの Singletonはグローバル変数の前には無力だなとことさら思い知った
>>295 分かっているかもしれないが、いちおう言っておく。
予約語をそういうふうに使えない処理系はまだまだたくさんあるぞ。
とほほは好きじゃないがPR5か。 くやしいが支持されてるってことかもね。
>>295 JavaScriptに於いて、シングルトンを実現するのは、極めて容易。と言うか、クラスベースの発想は捨てるべき。
オブジェクトリテラルで書けば、それすなわちシングルトン。
>>298 違うだろ。constを使えるならそれなりに説得力もあるJScript5.6でconstは使えない。
>>299 どう違うんだい?
例えば、
var S = { … } ;
として、Sが参照しているオブジェクトの一意性は担保されてるでしょ。
別に、極一般的な話だろ。 ほれ、wikipedia Prototype-based singleton In a prototype-based programming language, where objects but not classes are used, a "singleton" simply refers to an object without copies or that is not used as the prototype for any other object.
304 :
Name_Not_Found :2007/09/02(日) 11:06:36 ID:c3LjkTwG
ラヂオボタンの中の色を動的に変える方法ありますか?
>>301 ┏━┓ ┏━━━━━┓ ┏━┳━┓
┏━┛ ┗━┓┃ ┃ ┃ ┃ ┃
┃ ┃┃ ━━ ┃┏━━━━━━━━━┓ ┃ ┃ ┃
┣━ ━┫┃ ┃┃ ┃ ┃ ┃ ┃
┃ ┃┃ ┏━┓ ┃┗━━━━━━━━━┛ ┗━┻━┛
┗━┓ ┏━┛┗━┛ ┃ ┃ ┏━┳━┓
┗━┛ ┗━┛ ┗━┻━┛
>>304 css の color とか background-color で変えれるから
それを JavaScript で操作してやればいいんだけど
color とか background-color の適用部がブラウザによって違うから
なかなか思ったようにならない気がする
307 :
304 :2007/09/02(日) 12:36:39 ID:???
>>306 そうですかぁ。ありがとうございました。
308 :
Name_Not_Found :2007/09/02(日) 12:39:43 ID:YyV4l6xq
prototype.jsでタブ表現をしようとしてるんだがうまくいきません
参考にしてるサイトは
http://phpspot.org/blog/archives/2007/03/javascriptlivep.html で
指示通り
http://livepipe.net/downloads/control.tabs.2.0.1.jsをDLして作業したんだが 、、
実現のために以下の記述をすればいいんじゃないんですか?
<script language="JavaScript" src="../js/prototype.js" type="text/javascript"></script>
<script language="JavaScript" src="../js/control.tabs.2.0.1.js" type="text/javascript"></script>
HTMLソースは上記参考サイトにあるとおりです ↓
<script>
Event.observe(window,'load',function(){
$$('.tabs').each(function(tabs){
new Control.Tabs(tabs);
});
});
</script>
<ul class="tabs">
<li><a href="#one">One</a></li>
<li><a href="#two">Two</a></li>
</ul>
<div name="one">
<p>I am tab one. I belong to group one.</p>
</div>
長くなってしまいましたが、ご意見よろしくお願いします
309 :
265 :2007/09/02(日) 12:41:34 ID:/07yWIZE
返信遅れました。265です。 evalのところを266さんに指摘されたように直したら見事できました。 僕ももう少し勉強して最低限 バトルゲーム的なものを作れるようにがんばります。 それができた後は脱出ゲームをjavascriptでつくろうかと考えております。 みなさん(特に266様)ありがとうございました。
ゲームつくるならFlash使いなさい 画面の滑らかさも動きのスムースさも JavaScriptでシコシコやっても所詮HTML FlashでASかVB使えば幸せになれる
311 :
Name_Not_Found :2007/09/02(日) 12:57:32 ID:h/j/ug6S
javascriptの質問とはちょっと違うんだけど javascriptって他の言語と比べると(難易度、使用度とか)どのへんなの? ずいぶん前どこかのサイトで覚えたいランキングみたいなのがあって パールが1位でjavascriptは下から2番目くらいだっ
>>311 JAVAは低級言語
JavaScriptは高級言語
>>312 なぬ、そうだったのか。
そのランキングみたとき激しくショックだった。javaと見間違えたのかもしれない。
スマソ、一つ質問が。高級言語ってどのあたりが高級言語なんですか?
>>312 Javaが低級言語って、嘘を教えるなよw
>>314 それぐらい自分で調べられるだろうが……
検索ワード: 高級言語
簡単にいえば難しいのが低級で、簡単なのが高級。 Javaは高級の部類。 JavaScriptみたいなスクリプト言語はどちらでもない。
317 :
308 :2007/09/02(日) 13:38:23 ID:???
308の質問を取り下げます 失礼しました
見解をまとめてください。ゆとりは悩んでしまいます。
>>316 >JavaScriptみたいなスクリプト言語はどちらでもない。
その“どちらでもない”には何か根拠でもあるのか?
スクリプト言語なんて10人中9人は高級言語と言うだろう。アホだろお前。
低級や高級ってのはそのまま処理の抽象度の高さ・低さを指すんだから、
今時低級って言ったらアセンブリか、良くて C か C++ までだな。
遅れてきたんですまそ。蒸し返す意図は皆無なんだが・・・ 「とほほ」についての話があったんで、洩れは行ったことなかったけどはじ めて話に聞く「とほほ」に行ってみた。第一印象は軽くて見やすい。 しかし、中身となると、確かに?だった。 いまだにメソッドがgetYear()。何も知らない初心者がこれを見てコードを書 くのは問題だと思った。また、こういう箇所もあり、この作者の程度を疑った (恐らく他言語から来た人間なのだろう) <cite> document.write("<B>とほほ</B>"); というのは、 document.write("<B>とほほ<" + "/B>"); とか document.write("<B>とほほ<\/B>"); と記述すべきなんだそうです。(私もサボっていますけど。) </cite> あと、HTMLも見てみたが、こちらはひどい。HTMLはほとんど素人だと思った。
>>320 とほほを擁護する気はさらさらないが、それで問題が出るブラウザってまだ残ってるのか?
>>319 高級低級っていうのは"プログラム言語"に対して使われるのであって、
"スクリプト言語"ではそういう呼び方はしない。
アホなのはお前だろ。Wikipediaで見たような知識だけでものを語るなよ。
宣伝乙
>>321 横からすまんが、「それ」とはどれを指してるんだ? getYear()? </B>?
</B>
>>321 とほほ擁護しているのかよくわからんのだが
問題が出る出ないじゃなくSGMLの仕様では
終了タグ開始区切り子(ETAGO, </)とそれに続くNameが出てくる場合
そこで要素が終了することになってる
でHTML 4.01の仕様ではstyleとscriptはETAGOまでCDATAとして扱う、と
しているから<script>(CDATA内容)</b></script>
と扱われることになってvalidな文書でなくなる
それは知らなかったわ。
そうだったのか・・・ <!-- // --> ↑ これくらいのモンだと軽視してた。 ちなみにこれもまだ納得できないんだけどね。
スレチだが xhtmlで <!-- // --> って書くとWC先生からお呼び出しがかかるから気を付けろw
>>329 それは
script要素を認識しないUAはその内容をCDATAとしても認識しないはずなので
コメントアウトできて、
script要素を認識するUAはその内容をCDATAとして認識するので
コメントアウトにならない、ってのと
例外で、HTML 4.01でscript要素を認識するUAは始めの<!--とその行の末尾までは
無視するように言われてるので<!--は隠さなくていいけど
-->は隠さないとスクリプトエンジンの方で文法エラーになるので
スクリプト側のコメントで隠せ、というのが合わさって
結果的に
>>329 の形になるっていう話
>>331 すげーw
script要素を認識するUAで全部コメントアウトされるんじゃないかとずっと悩んでたwwwww
perl が一位っていつのランキングなんだ
なるほどなw ちょっと勉強になった。
>>332 まあ、script開始タグ直後の <!-- は行末まで無視されるから、
<script><!-- alert("A");
alert("B");//--></script>
と書くと1行目は無視されるけどな。2行目は問題ない。
336 :
Name_Not_Found :2007/09/02(日) 21:49:57 ID:kWKVG63K
Array()とかNumber()はビルトイン関数とみてよいですか?
>>336 JavaScriptにはビルトインという概念はないが、Nativeな
オブジェクトであり、より細かく言えば関数でありかつ
コンストラクタだということになるね。
組み込み(ビルトイン)オブジェクトだろ
つまりネイティブなコンストラクタ関数オブジェクト?
341 :
319 :2007/09/02(日) 23:45:56 ID:???
>>322 「Wikipediaで見たような知識」だ?
俺は >319 を書く上でわざわざ Wikipedia を参考にしたところは1つも無いが
何を持って Wikipedia で見たような知識だと判断したんだ?
しかし Wikipedia で見たと感じた上でとにかく Wikipedia の方が間違っていると言うなら真性だな。
お前の感覚だとプログラミング言語とは別にスクリプト言語っていうのが存在するみたいだが
俺にはプログラミング言語の一つにしか思えないし、10人中9人はそう思うだろう。
スクリプト言語が高級か低級かなんて議論に意味があるとは俺も思えないが
そもそも高級か低級か分かってない奴がこうやってウダウダ言うからアホが増えるんだアホ。
>>341 落ち着けよ…。ちょっと知識の有る奴なら、高級、低級言語の意味なんて理解してるからさぁ…。
皆、生暖かい目で、笑ってるだけだ。腹立てるだけ、無駄だぞ。
低水準言語→特定の命令セットアーキテクチャに依存した言語。 アセンブリ言語と機械語。 高水準言語→特定の命令セットアーキテクチャに依存しない言語。 FORTRAN、COBOL、C、C++、… 高級/低級という言い方は「一般の用語でいう」高級/低級と混同 しやすいから使わない方がいいかも。
function secondmenuOff(){ document.getElementById("secondmenu").style.visibility="hidden"; } 上記id(secondmenu)を複数取得するにはどうすればいいのでしょうか? Tag使うしかない?
IDが重複するってどういう状況だよ
>>344 HTML の仕様として id は文章中で一意であることが求められるので
複数の id を取得する、というのは基本的にできない。
IE 専用とか泥臭い方法が無いことも無いが、いつ消えるか分からない方法なのでお勧めしない。
tag を使った方が良い。
>>343 そんな明確な定義はないですよ。・・・・俺が使ってた時代には・・・・
>346さん そうですよね。どうもありがとうございました。
>>344 >id(secondmenu)を複数取得するにはどうすればいいのでしょうか
idと複数はなじまないボケ。そんなもの見せられて複数取得したい
と脳内で言っても通じないです。ま、ふつーに、obj.idなんだが。
確かにhigh levelを高級と訳すのは若干語感がちがう気がするが、 わかる人間がわかればよい話では。いずれにせよ、字面から入る のは邪道だし。
なぜNameでは駄目なのかと
>>345 id属性をもつエレメントを複製したとき
wikipediaで書いたやつアホやろ JSと略してる時点で(ry
>>354 かなりたちが悪い初心者だなおまえ。そろそろ納得しろよ。
357 :
Name_Not_Found :2007/09/03(月) 04:24:06 ID:NEiSOBRs
いくらやってもうまくいかないので誰か助けてください・・・ 今までphpとMySQLを使ったサイトを作っていたんですが 今流行のajaxぽくしようと思って、それらにjavascriptを盛り込むことにしました で、何につまっているかといいますと XMLHttpRequestオブジェクトのopenメソッドでphpへデータを obj.open("GET", "test.php?name = 'abc'",true); で送信してもPHP側で $name = $_GET["name"];によって文字列"abc"を取り出すことができません ちなみに obj.open("GET", "test.php",true);のように、URLの後に?で値を付け足さないと ちゃんとPHP側のファイルと送受信が成功しています。 openメソッドの第二引数に"test.php?name = 'abc'"というのを入れるのは間違っていますかね? 一応書籍などを参考にしたのですが・・・・ XMLHttpRequestによってサーバー側のphpファイルとデータの送受信をする方法で 他に何かお勧めがあったら教えてもらえれば幸いです。
ほんと難易度低い言語だけあって回答者も馬鹿ぞろいだなここはw
>>357 var string = "abc";
obj.open("GET", "test.php?name=" + encodeURIComponent(string), false);
>>353 複製してもdocument内に挿入するまではidは一意でしょ
つか複数ある時点でidの範疇超えてるわ。class使えよ。 getElementsByClassとかgetElementsByClassNameとか引っ張ってきて。
>>357 そのPHPを直接「test.php?name = 'abc'」で呼んで動作するのかね。
普通「test.php?name=abc」でないとまずいと思うのだけど。ブラウザ
で直接叩いてよく調べた方がいいよ。
363 :
Name_Not_Found :2007/09/03(月) 09:29:53 ID:jYsKJBkk
長さ1の配列をどのブラウザでも同じに定義するにはどうすればいいですか?
var array = [0];
365 :
357 :2007/09/03(月) 10:39:29 ID:NEiSOBRs
>>359 >>362 レスサンクスです
一応そのへんもいろいろと変えて試行してみたのですが
やはりくらやってもデータのPHPへの受け渡しがうまくいかないです・・・orz
一応if (obj.readyState == 4){
if (obj.status == 200
の条件は満たして送信成功しているのですが、PHP側に変数の送信だけはうまくいってないです・・・・
ローカルホストの設定とかが何かまずいんですかね・・・・
>>357 生で XMLHttpRequest 使ったことないけど、
open でリクエスト送られるんだっけ?
send がいるんじゃないかな。
IE とかのことを考えるとラッピングされた AJAX 用のライブラリ使った方がいいような気もするけど。
>>365 「test.php?name = 'abc'」を「test.php?name=abc」に直して
動かしてもやはりうまく動かないのなら、呼び方の問題だな。
もし動くのなら、アンタがURIの書き方が分かってなかっただけ。
Javascriptで1+1=2を理論物理学的に証明できますか?
>>368 他の言語で書いてみて。JavaScriptに直してあげるよ。
>>363-364 それ、Netscape3でエラーにならないかな?
「どのブラウザでも」というのなら、
var a = new Array();
a[0] = 1;
じゃないかな。
371 :
Name_Not_Found :2007/09/03(月) 14:05:56 ID:bk98jx4h
>>368 JavaScript以外で理論物理学的に証明できるのがあるのか?
あるならそれを言ってからにしろよ。純粋数学でも無理だろ。
#登録商標くらい正しく書けボケ。ブリジストンと書くのと同じだ。
>>370 その超古いブラウザでの互換を保ったまま役に立つコードを書く
ことは実質不可能。つかテンプレ
>>3 の 5) を読め。N3用の
コードを書くなとは言わないが「別扱い」は必須だろ。N4
だってそうだ。
373 :
Name_Not_Found :2007/09/03(月) 14:31:59 ID:ZVAQAy7D
var foo = { name: 'yamada', height: 165, weight: 55 } こんな形式のデータの、name: や height:の部分を動的に書き換えたいのですが、 どうしたらいいでしょうか。 コロンの右側は、変数として認識されますが、左側がどうしても変数名通りになってしまいます。 ご教授おねがいします。
>>373 ×ご教授○ご教示、というお約束はおいておいて、
左側はプロパティなので名前を変えることはできません。
同じようなことをやるなら、
foo.newName = foo.name;
delete foo.name;
という形になるのかな。
>>373-374 実は
>>373 の悩みはテンプレを読んでないだけなんじゃないのかな?
FAQ
>>4 ー5のQ8/A8を参考に
var fieldname = 'name';
...
foo[fieldname] = 'yamada';
>>374-375 ありがとうございます。テンプレ見落としていました。申し訳ありません。
>×ご教授○ご教示
え?「ご教授お願いします」という使い方って間違えだったんですか・・・
>>372 単に質問に「どのブラウザでも」と書かれてあったからそう答えたまで。
>>376 「ご教授」はここではご法度だ。今度質問するときは「ご教示」と
書いてくれ。理由はこのスレでは散々やったので過去スレでも読んで
勉強汁。すぐ反応のある話題なので気をつけてくれ。
それから、
×間違え
○間違い
だろ。どこの生まれだ。
また出てくるからそれくらいにしてやれww
テンプレにああ書いてあるということは、特記が ない限り超古いブラウザは考慮不要ということになるだろ。
Firefox1.0が兆古いかどうか、悩ましいぜ
>>376 間違いじゃないよ。ただ、粘着してる馬鹿がいるから、ここで使うと鬱陶しいと思われるだけ。
>>382 お前、「間違いじゃない」って粘着してるじゃねーかw
みなさん、落ち着いて。楽しくJavaScriptを学びましょう。
ふむ。糞板だな。
bakascriptばっかだな
>>388 だったらそれを上回るのを書いてみろってw
書けないんだろ?www
粘着ばかばっか
bakascript、韻を踏んでて良い感じだなw これを上回るものを書くのは難しいwww
どこが韻を踏んでる?
>>370 それを言い出したら、JavaScript 1.0 には Array が存在しないから
その定義から始めないといけないな。
それを言い出したら、Navigator 1.0 にはJavaScriptが無…
それを言い出したら、ケータイとかどうす…
それを言い出したら、ホームレスと…
さすがにそれはないわ……
それを言い出したら死人…
そ…
構ってクンの巣窟になってるね
>>395-
>>400 他の2chスレのように消費スレならよいが、ここは過去ログとして保存して
いる。そのような無駄以外の何者でもない反応は慎もうではないか。
402 :
Name_Not_Found :2007/09/04(火) 09:30:16 ID:dYSQVsBQ
<div id="d"> <span>A</span> <span>B</span> <span>C</span> </div> のようなHTMLを <div id="d"><span>A</span><span>B</span><span>C</span></div> のようにするにはどう書けばよいですか。splitでの改行削除のしかた がよくわかりません。
>>402 splitなんか要らんでしょ。str.replace(/[\r\n]/g, '')
>>402 改行消したい理由ってDOM操作でブラウザ互換がないからとか?
消さなくても上手くいくならそっちの方法を考えるって言う手もあると思うのだけど、
どういった理由でけしたいの?
405 :
402 :2007/09/04(火) 11:47:28 ID:???
>>403 ありがとうございました。
>>404 DOMです。ノードがおかしくなってしまうので(IE6)
改行消すことで根本的な解決になってないけどね preタグなんかで致命的な問題起こしそうだし。 ところで、TextNodeのwhiteSpaceを無視するかどうかって仕様で決まってないっけ? XMLだったらパーサ依存って書いてあったのは覚えてるけど
407 :
402 :2007/09/04(火) 13:06:43 ID:???
>改行消すことで根本的な解決になってないけどね
ぇえ?そうなんですか?
>>403 方式でやると将来まずいことに
なるでしょうか。
>>407 改行をきちんと想定されたHTMLを読むと構造が崩れるよ
それよりもDOMをしっかりと書けば問題ないはず
日本語でおk
>>406 DOM3LS::LSParser.domConfig (canonical-form, element-content-whitespace)
MSXML::IXMLDOMDocument.preserveWhiteSpace
412 :
Name_Not_Found :2007/09/04(火) 17:59:24 ID:xG7coqt0
<span>対象文字</span> 対象文字をinnerHTMLで取得した文字列…A 対象文字を、textareaに入れたものを取得した文字列…B これをif( A == B )すると、改行が含まれていた場合、firefoxはfalseを返すんですが、 ちゃんとtrueを返したい場合はどうしたらいいでしょうか?
なんの解決にもなっとらんwwwww
初歩過ぎる質問で失礼します。 白沼,16,九州,マッハ,時間 などの文字列で , で区切ったものを 配列に代入したいのですが その方法が分らず困っています。 どのような手順を踏めばよろしいでしょうか?
>>415 var a = str.split(',');
>>415 少しは自分で調べる気はないのか?ググれカス。
文字列を配列 javascript
有難うございます。 早速、試してみたいと思います。 回答に感謝いたします。
数値を入れたら、2倍、3倍、4倍の数値が表示される 数値を入れたら、1/2、1/3、1/4の数値が表示される このようなものを作りたいのですが、 初心者でどんな単語で検索したらいいかも分かりません。 どの関数で調べたら良いでしょうか?
>>419 form,Math
注)
123/7 = 17.571428571428573
12.3*7 = 86.10000000000001
>>419 読んだり書いたりできる入力欄を作るのはHTMLで
<input type="text" ID="固有名">
読んだり書いたりするのは
document.getElementById('固有名').value
を読んだり書いたりする。これは文字列だから計算する
前に数値化するのは parseFloat()。掛け算は*、割り算は/。
ボタンを押した時何か動作させるのには
<button onclick="動作…">ラベル</button>
これで材料は全てだ。じゃあ頑張って。全部書いてやったり
するスレではないのでそこんとこよろしく。
そうそう、「初心者」という言葉は使わない方がいいよ。
初心者を振りかざして暴れる奴が過去にいたから印象悪い。
>>420 さん
ありがとうございます。
>>421 さん
僕がお尋ねしたのは、
>どの関数で調べたら良いでしょうか?
ということでした。ぐだぐだと書いて挙句の果てに説教ですか?
だれもそんな説明してくださいなどとお願いしてませんが。
>>422 お前もう二度とくるなよ。
421じゃないが、第三者のオレからみてもお前のレス気持ち悪いわ。
いや、421には別人ってわかってるだろうから問題なし。 422はかなりの住人を怒らせたと思うぞ。
社会経験ないやつに何言っても無駄
421=423=425 www
>>421 が丁寧に説明してることが読み取れないレベルの奴は
怒って帰ってくれて2度と来ないのがベストだから結果オーライ。
421=423=425=428 www
421くやしいのぅwwwwくやしいのぅwwww
お茶吹いたwwwww これは必死といわざるをえないwwwwwwwwwww
10年前か・・・俺は中二だな 今でも中二だけど
まだ夏休みか
>>423-
>>434 他の2chスレのように消費スレならよいが、ここは過去ログとして保存して
いる。そのような無駄以外の何ものでもない会話は慎もうではないか。
436 :
Name_Not_Found :2007/09/05(水) 16:13:43 ID:XXVGHyiD
以下は表を作るスクリプトですが、IEではセルの結合ができません。どうしたら出来ますか? var elem = document.createElement("TABLE"); elem.setAttribute("border","1"); elem.appendChild(document.createElement("TBODY")); elem.lastChild.appendChild(document.createElement("TR")); elem.lastChild.lastChild.appendChild(document.createElement("TH")); elem.lastChild.lastChild.lastChild.setAttribute("rowspan","2"); elem.lastChild.lastChild.lastChild.appendChild(document.createTextNode("A")); elem.lastChild.lastChild.appendChild(document.createElement("TD")); elem.lastChild.lastChild.lastChild.appendChild(document.createTextNode("B")); elem.lastChild.appendChild(document.createElement("TR")); elem.lastChild.lastChild.appendChild(document.createElement("TD")); elem.lastChild.lastChild.lastChild.appendChild(document.createTextNode("C")); document.body.appendChild(elem); alert(document.body.lastChild.innerHTML);
>>436 またIEでsetAttribute()してる人かよ。setAttribute()やめたら
動くんじゃないの?つまり「なんとか.rowSpan = 2;」みたいにする。
setAttribute使わなければどうってことはない var elem = document.createElement("TABLE"); elem.border = 1; elem.appendChild(document.createElement("TBODY")).appendChild(document.createElement("TR")); elem.lastChild.lastChild.appendChild(document.createElement("TH")).rowSpan = 2; elem.lastChild.lastChild.lastChild.appendChild(document.createTextNode("A")); elem.lastChild.lastChild.appendChild(document.createElement("TD")).appendChild(document.createTextNode("B")); elem.lastChild.appendChild(document.createElement("TR")).appendChild(document.createElement("TD")).appendChild(document.createTextNode("C")); document.body.appendChild(elem); alert(document.body.lastChild.innerHTML);
お、rowspanでなく、rowSpanだと出来るんですね。助かりました。ありがとうございました。
少し特殊な質問なのですが、 Javascriptの中にJavascriptで書かれたGoogleAdsenseのコードを記入する事ってできないのでしょうか? HTML <head><script type="text/javascript" src="script.js"></script></head> <body> <script type="text/javascript"> <!-- test(); //--> </script> </body>
script.js function test() { document.write('<script type="text/javascript"><!--'); document.write('google_ad_client = "xxxxxxxxxxxxxxxx";'); document.write('google_ad_width = 468;'); document.write('google_ad_height = 60;'); document.write('google_ad_format = "468x60_as";'); document.write('google_ad_type = "text_image";'); document.write('//2007-09-05: 文中−上'); document.write('google_ad_channel = "2660056473";'); document.write('google_color_border = "FFFFCC";'); document.write('google_color_bg = "FFFFFF";'); document.write('google_color_link = "0000FF";'); document.write('google_color_text = "000000";'); document.write('google_color_url = "008000";'); document.write('//-->'); document.write('</script>'); document.write('<script type="text/javascript"'); document.write(' src="xxxxxxxxxxxxxxxxxxx">'); document.write('</script>'); } といった具合なのですが、表示すると ライン: 5 文字: 328 エラー: 'undefined' は Null またはオブジェクトではありません。 コード: 0 と表示されてしまいます。
>>442 どこからどうやって test() を呼び出しているの。FAQ
>>4-5 のQ4/A4は
問題にならないの?こちらGoogleAdsenseのしくみ知らないのでよく分からんが。
えええーっ!?
document.writeln()
446 :
419 :2007/09/05(水) 19:00:49 ID:???
うわっ、質問した後、たった今のぞきに来たら、偽者がいる。。。
>>420 >>421 お二人ともありがとうございます。
正直全部書いてくださいと書きたいところでしたが、
テンプレみて「礼節を重んじ常に努力精進すること」と
書いてあったので、せめてヒントだけでもと思いご教授願いました。
初心者と書かないよう気をつけます。
447 :
442 :2007/09/05(水) 19:09:27 ID:???
>>445 ワオ!なんてクールなんだ!
解決しました。ありがとうございました。
>>446 もうこれでいいだろ。
while((x=prompt("数字を入力",0))!=null)alert("x="+x+"\n2x="+x*2+"\n3x="+x*3+"\n4x="+x*4+"\nx/2="+x/2+"\nx/3="+x/3+"\nx/4="+x/4+"\n");
最初から目的だけをやり遂げるなんて不可能。基本から順に学べ。
449 :
419 :2007/09/05(水) 19:30:54 ID:???
>>448 ありがとうございました。
基礎から順に学ぶようにします。
onunload使ってページ閉じたときにmp3の音楽データ流すことって可能ですかね? 何度やってもうまくいかないんですが(´・ω・`)
>>450 onunloadで何か開始しても、unloadされて別のページに取り代わった
とたんに前のページのスクリプトの動作はすべて強制終了させられる。
したがってその方法では駄目。閉じない別窓などを用意して、そこで
mp3を再生させるとかしかない。
>>451 ありがとうございます。
もう一度書き直してみます
unloadをキャンセルさせられれば出来そう
HTMLFormElement.prototype.submit を自動で何度もfireさせるって出来ないようにされてるのかな
>>456 迷惑スクリプトの質問は回答されないから。
>>459 エスパーか?「自分の」なんてどこにも書いてないが。
とういことで、次の質問どうぞ。
>>460 お前バカだろ。
他ドメインの他人のに設置してどうする。文章よく読めボケ。
ところでfireってなんなの?
>>461 設置って、javascriptはどこで実行されると思ってるの?あほ?
>>463 だからぁ、バカに説明するのは疲れるよ。
設置したファイルで実行されるだろ。それは誰のものよ。作者つまり
質問者のだろ。自分のファイルでいくら連投しようと迷惑じゃないだ
ろ。ここまでは、わかった?中学は出てるのか?
>>464 だからsubmitの先は自ファイルじゃないだろ。だから迷惑なの。
何度言えばわかるんだよ。俺は中学生だが、お前は小学生?
� � _______∩_∩ / ノ ヽ ( ノ⊂ ̄))) ̄⊃ /|ヽ (_ノ ._ ̄ 0'ヽ 0' / |ノ .) (_) ヽ i ( むしゃむしゃしていた。 ∋ノ | /――、__ ./(∩∩) 草なら何でもよかった。 / /| ヽ__ノ | / ./ 今は反芻している。 | ( | ( ’’’ | ( / |__ヽ. L_ヽ Lヽ_ヽ ''" ""''"" "'''''" ""''"" ''" ""''"" ''" ""''"" ''" ""''"" "''
>>465 連投即迷惑なのか。一般にいわゆるウェブアプリは数秒に1回くらいは平気で叩いて(?:来る|行く)が迷惑と思ったことは無い。つまり感じ方は人それぞれだろう。
人間がやるのとスクリプトで24時間叩きっぱなしと違うだろ。 あんたはそんなことしないといってもここで公開したら見た奴が やるからな。
―――――――――― _,-'´::::::::::::::::::::::::::::::::::::::::`-,―――――ト、―‐ ―――――――――‐_,-':::::::::::::::::::::::::::::::::::::::::::::::::::::',―‐、__人_ノ `ー′ ―――――――――‐ィ:::::::::::::::::::::::::::::::::::::_;:-r、::.r-、::i―ノ ――――――――― ´{::::i、ト(ヽ( !、r'ソ-'フ_,..- l::!r、l::}―> ――――――――――l、!¨フp、._ _.. イヾハ !ノノ l:::}ー> 感じ方は人それぞれだと? ―――.--、_―――――! .l l.._`′ ー ′ .ノ:,'..:..:> そこが腐っている! ―‐ 「`ヽ.、__ノ――‐.. -‐'' ^'.l. ,.ニ-‐‐ 、 r'.:/..:..:..> この国には明確な基準が ―r┴、、_ノ { ―‐r''´..:..:..:..:..:..:.} ト、._.. -} `K..:..:..::> 必要なんだ! ‐⊥‐r┘ `ー-┴'⌒ソ..:..:..:...-ト.、 レ' ̄ `V . 〉..:..< (、__`ヽ、 /..:..:.:/ /:..:.:`r、`ー‐ ′,.イ /..:..:..:..´⌒
Vista+IE7の環境で、テキストボックスに入力された文字に JIS2004から追加された文字(環境依存文字)が含まれているかどうか JavaScriptでチェックする方法はありませんでしょうか?
>>470 その環境依存文字の一覧があればそれを表引きすればいいんでは。
確かにそのとおりですが、文字数が多いので (漢字約900文字、非漢字が約200文字) 何かスマートなやり方は無いかなと思いまして。
バイナリコードが判れば範囲を囲って判断出来そうだが。
わけわからん
>>472 はっきり言ってその900文字+200文字の文字列リテラルから
表を初期化して使うのが一番メンテも楽でバグも出なくて
効率も良いような気がする。コードの範囲?UNICODEだとバラバラ
なんじゃないですかね?
>>468 プログラムで24時間叩きっぱなしの話をしてんだよボンクラ。
いまどきそのていどの迷惑でヒステリー起こしてるお前が痛いと遠まわしに言ってやったんだが分かれよ馬鹿たれ。
>>470 javascript サロゲートペアで検索する。
>>477 わかったわかった、いくら吠えても回答なんか出ないから帰れば?
なんで2回に分けてレスするのん?
>>482 こう考えたらどうかな。
>>477 を殺したいと思った奴が100人くらい
いて、その中でどーしても我慢ならない奴が2人書き込んだと。
ということにしたいのですね:-P
IPを見られる運営側には分かること。 IPを見られない我々お客さんがあーだこーだいっても水掛け論。 ただ、常連が自分ともう1人しかいないように見えるというのは危ないんでは。 まあ、記名の場でもそういう幻想に取り付かれる奴はいたらしいからな…
何をほざいてるんだ、こいつ?
>>485 お前 会社の給湯室あたりでバカだって評判だろ
どっちも自作自演に見えてくるからもうやめておけ
>>478 ヒントありがとうございます。
環境依存文字=サロゲートペア文字と考えていいのかな???
もう少し調べてみます。
490 :
Name_Not_Found :2007/09/08(土) 00:23:07 ID:hR8uugOn
質問 new演算子はインスタンスを作成するという説明を多く見かけますが、 実際的には、オブジェクトへの参照を左辺の変数に代入したいときに使う、という説明でもOKですか? であれば、わざわざnew演算子やコンストラクタ関数を使わずに、 オブジェクトを直接代入してもいいような気がするのですが、 直接代入するのとnew演算子を使うのとでは、どう違ってくるのですか? よろしくお願いいたします。
a=nodeX.childNodes[1].childNodes[1] で <b> 数字 </b> と書いてある要素に相当するnodeの情報をgetしたのですが 数字がいくつなのかとりだせません aには何のメンバー関数もないというエラーをfireBugに言われます 数字をとりだすにはどうすればいいのでしょうか?
>>490 作成されるのは新規オブジェクト
変数に代入されるのはオブジェクトへの参照
>>491 まずは配列について勉強し直せ
494 :
Name_Not_Found :2007/09/08(土) 03:54:51 ID:hR8uugOn
function subClass() { this.inheritFrom = superClass; this.inheritFrom(); // something } という継承の仕方がありますが、これを使うメリットってありますか? prototypeによる継承さえ知ってれば大丈夫ですか?
>>494 引数
ついでに言うとそれは継承ではない。
setTimeout(xxx,5000 ) を関数の中から呼ぶと、xxxが実行されるまで10分以上まちます べたに書くとそうならないのですが、何か間違ってるのでしょうか?
<input type="file" ...> になっているフォーム(?)に値を代入するにはどうすればいいのでしょうか? var inputs = document.getElementsByTagName('input'); inputs[3]..textContent="C:\\1.jpg"; では反映されなかったです
499 :
Name_Not_Found :2007/09/08(土) 06:11:23 ID:O/B+XBcF
>>498 ページ作者に好き勝手されて実在するファイルに運悪く当たったら困るだろ。
>>499 function X(p, q, r) {this.p = p; this.q = q; this.r = r;}
function Y(p, q, r, s) {this.p = p; this.q = q; this.r = r; this.s = s;}
→書くのが面倒くさい。変更した時に書き直すのが面倒くさい。
function Y(p, q, r, s) {this.X = X; this.X(); this.s = s;}
→JScriptが5.5でapply,callを組み込んだ。約5年で普及した。使っても何の問題も無いだろう。
function Y(p, q, r, s) {X.call(this, p, q, r); this.s = s;}
>>501 誤 this.X()
正 this.X(p, q, r)
>>501 Yのprototypeにnew Xを入れるのと比べてどうかって話なんじゃないの
505 :
Name_Not_Found :2007/09/08(土) 09:30:16 ID:tgKhRmSu
>>501 なるほど、ご説明ありがとうございます。
タイプ数の省力化ということですか?
>>505 説明が飛躍しているのが悪いのだが、違う。
コンストラクタに引数があるかないかで場合わけして考えてみよう。
IEの右クリックからこのスクリプトを実行したいのですが うまくいきません、もう何時間考えてもわかりませんお願いします。 //URLの内容を取り寄せ表示するものです <HTML> <SCRIPT LANGUAGE="JavaScript"> function createXMLHttpRequest() { if (parentwin.XMLHttpRequest) { return new XMLHttpRequest() } else if (parentwin.ActiveXObject) { try { return new ActiveXObject("Msxml2.XMLHTTP") } catch (e) { try { new ActiveXObject("Microsoft.XMLHTTP") } catch (e2) { return null } } } else { return null } } //続く
//続き
function send_get() {
var url = "
http://www.nicovideo.jp/api/getflv?v=1176038784 ";
var request = createXMLHttpRequest();
request.open("GET", url, true);
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
str=request.responseText;
alert(str);
}
}
request.send();
}
var parentwin = external.menuArguments;
send_get();
</SCRIPT>
</HTML>
function bogosort(a){ var res = new Array(), len; while(len = a.length) res.push(a.splice(Math.random()*len|0,1)[0]); return res } function check(a){ for(var i=0;i<a.length;i++) if(a[i-1] > a[i]) return false; return true } (function(a){ var i=0; do{ i++; a = bogosort(a); }while(!check(a)); return [i, a]; })([0,1,2,3,4,5,6,7])
やってることは高度らしいが languageじゃなw
>>510 的外れもいいところ。IEのコンテクストメニュー拡張だからSDKに書いてある通りでいいんだよ。HTML風の何かに過ぎないんだから。
そうかな
language="JScript" でいいじゃないか そんなことより > try { > return new ActiveXObject("Msxml2.XMLHTTP") > } catch (e) { > try { > new ActiveXObject("Microsoft.XMLHTTP") こんなのをどこから仕入れてくるんだろうか new ActiveXObject("Msxml2.XMLHTTP.6.0") new ActiveXObject("Msxml2.XMLHTTP.3.0")
>>507-508 直接実行してみたがそれで動いたよ。
多分スクリプトが実行されてないだけ。
一行目にalert追加して動作してるか確認してみな。
うちでは右クリックからではやっぱり動きません request.readyStateは1のままで if (request.readyState == 4 && request.status == 200) { ここに入ってきません alertはこのifの外なら反応します ちなみにparentwinをwindowにしてhtmlファイル で保存してダブルクリックした場合には 正常に動きます。
>>516 今確認したけど一度目のアクセスだと確かに動かないな。
二度目は既にキャッシュされてて表示できる。
よく考えたらこのhtmlは処理が終わったら勝手に閉じちゃうんだよね。
JavaScriptを多用しているため、トップページでブラウザのJavaScript設定をチェックして、 もしOFFになっている場合はトップページを隠してエラーページのみを表示したいのですが、 その様なことはできますでしょうか。 NoScriptを使って代替メッセージを表示するくらいしか自分ではできていません、、、。
519 :
Name_Not_Found :2007/09/09(日) 20:05:14 ID:t2oyYlAT
あるコンテキストにおいてオブジェクトが関数を参照するとは、わかり やすく言うとどういうことですか?
>>519 2通りに考えられるね。オブジェクトoのプロパティo.fに関数が
入っている場合。しかしこれはコンテキストに依存ないから…
もう1つの解釈としては、オブジェクトoのメソッドo.m、これも
関数なわけだけど、その中に ... f(...) ... のような関数
呼び出しが書かれている場合。この f がどこの f を意味する
かは、コンテキストによって変わってくることがある。で、
ある f (グローバルなfとかローカルなfとかを指していること
をもって参照すると読んでいるのでは。
あるコンテキストにおいてオブジェクトが関数を参照するということです。
>>521 お前そんな糞で恥ずかしくないのか いつか自分に帰ってくるだろな
さすが、礼節を重んじるスレは一味違いますな。
れいせつをご教授ください
>>517 まずチェック専用のページを踏ませて
そこからlocationでメインページへ飛ばせばいいんじゃない。
526 :
517 :2007/09/09(日) 21:47:27 ID:???
>>525 ありがとうございます。
ググっても今いちlocationなるものが理解できないのですが、
何か参考になるサイトがあれば教えていただけませんか。
528 :
522 :2007/09/09(日) 21:54:59 ID:???
>>526 (1)まずふつーにHTMLのみでエラー表示するページを作る
(2)そのhead要素の最後あたりに次のものを入れる。
<script type="text/javascript">
location.href = '本来のメインページ';
</script>
jsのソートされた数値のリスト(Array?)ってないのでしょうか? sortedArray.push(10); sortedArray.push(3); sortedArray.push(30); とかしたいのです
532 :
526 :2007/09/09(日) 23:13:05 ID:???
>>530 大変参考になりました。
初心者の私にご親切に教えて頂きありがとうございました。
>>531 1個pushするたびに並べていたら個数多くなったときのろいよ。
普通の配列にpushして、全部終わったところでsort呼ぶのが吉。
>>531 を読む限りそうじゃないだろ。一旦ソートした後にpushしたがっている。
正解は
>>533 の言うとおりだが。
bintreeですな。いい勉強になるかもね
537 :
Name_Not_Found :2007/09/10(月) 10:02:29 ID:w5xXg/is
日付関数で現在時刻を取ると、Mon Sep 10 10:00:16 UTC+0900 2007 のようになりますが、これっておかしくないのでしょうか。 表示的には、Mon Sep 10 10:00:16 UTC 2007 だと思うのですが。
UTCの意味わかってる?
539 :
537 :2007/09/10(月) 11:43:05 ID:???
>>538 さん
はい、よく知っています。日本時間マイナス9時間のことですよね。
でも、そうすると、Mon Sep 10 10:00:16 UTC+0900 2007 というの
がUTCだとすると、+0900は意味不明です。この時間がUTCだよ
というのなら、Mon Sep 10 10:00:16 UTC 2007 だと思うのですが。
541 :
537 :2007/09/10(月) 11:44:40 ID:???
あ、すいません。書き間違いでした。uTCは日本時間に読み替えてください。
>>539 分かってないじゃん。UTC時刻だったら午前1時になるんだよ。
ロンドンの時刻なんだから。それをUTC+0900つまり日本標準時
に直して表示してるから10:00ですよって意味。それともキミ
んちの時計は全部イギリスに合わせてあるの?
IE6とfirefoxでtoGMTStringの結果が異なる件
IE6やFirefox相手に、メンテされることのない廃止メソッドを使うこと自体がおかしい。
>>546 //まず、Date#toUTCString()を使うことを前提にする。
クライアントで完結するときは、どうでもいい。
そうでないときも、実はどうでもいいのだが、気休めていどに、日付部分を0リーディングの2文字数字に置換している。
548 :
537 :2007/09/10(月) 13:28:44 ID:???
みなさん、ありがとうございました。sp thx
>>542 少し時差ボケでした。
GMTじゃなくてUTC使えばいいのか。
js> Date.prototype.toUTCString function toUTCString() { [native code] } js> Date.prototype.toGMTString function toUTCString() { [native code] } 今はもうただのエイリアスだな。 ただし仕様がtoUTCStringなのだからわざわざtoGMTStringを掘り起こす必要はないだろう。
ページを閉じたときに音楽再生みたいなものを作りたいんですがどうしたらいいでしょうか?
unload をキャンセル ↓ 音を読み込ませる ↓ 音の onload で setTimeout(function(){closeかなんか},再生時間) って出来たらうざいサイトが溢れかえって web 終了
JavaScriptにはconstructorOfはないんでしょうか
> とにかく、音を鳴らすサイトは迷惑。いいと思ってるのは自分だけ。
しょせんは文書だしね
なら、ゲームならいいんじゃまいか?
558 :
Name_Not_Found :2007/09/10(月) 20:22:36 ID:4yQPINdF
質問です。このスレで「とほほ」がどういう評価を受けているかは知って いる者なのですが、先日「とほほ」を眺めていてちょっと気になったこと があるので、どうぞご教示ください。配列のリファでこういう説明があり ます。 ------------------------------------ array new Array()の戻り値。 ------------------------------------ arrayという特別なキーワードがあるのでしょうか。僕はインスタンスだと ばかりおもっていたので、戻り値という説明もしっくりいきません。 arrayは自由に名前をつけていい変数ではないのですか。
洩れたちにとほほの解説なんかさすな! 洩れもアンタが指摘したと まったく同じ点でその記述はデタラメだと思うので安心してとほほ を見限ったらいいねん。
>>558-559 一歩引いて考えるんだ。おまえ(自演でなければおまえら)自身の粘着ぶりは病院送りに値すると気付けるかもしれない。
1行で今年最大の馬鹿称号を得られるとはすごい
一行で思い出した おまえら一行JavaScript書こうぜ
テーブルの"行"の色を変えたいのですが、マウスが当たった"セル"しか変わりません。 trに仕込んでるので"行"の色が変わると期待していたのですが。 "行"の色を変えるにはどうしたらいいでしょうか。 <script type="text/javascript"> <!-- function classChange(className) { window.event.srcElement.className = className; } // --> </script> <style type="text/css"> <!-- .class1 { background-color: "blue"; } .class2 { background-color: "red"; } --> </style> <table> <tr class=class1 onmouseover="classChange('class2')" onmouseout="classChange('class1')"> <td>テスト1</td><td>テスト2</td> </tr> </table>
引数を増やしてthisを渡す。
569 :
567 :2007/09/11(火) 11:12:04 ID:???
>>568 thisというものを初めて知りました。
どうもありがとうございました。
<script type="text/javascript">
<!--
function classChange(element, className) { element.className = className; }
// -->
</script>
<style type="text/css">
<!--
.class1 { background-color: "blue"; }
.class2 { background-color: "red"; }
-->
</style>
<table>
<tr class=class1
onmouseover="classChange(this, 'class2')"
onmouseout="classChange(this, 'class1')">
<td>テスト1</td><td>テスト2</td>
</tr>
</table>
>>567 >>568 でも書いてあるけど、
<tr class="class1"
onmouseover="classChange(this,'class2')"
onmouseout="classChange(this,'class1')">
こうして
function classChange(elem,className) {
elem.className = className;
}
こうかな?
でもIE専用かな?
>>567-568 つか、onouseover="this.className='class2'" とかでいいんでないの。
572 :
567 :2007/09/11(火) 11:21:12 ID:???
>>571 確かにそうですね。
でも関数にしておいたほうがメンテがし易いかなぁと思っているのですがどうでしょうか。
まあ管理方法の好みですが。。。
そりゃもう好みでどうぞ。
∧_∧ IE 萬歳! ◯( ・∀・ )◯ \ / |⌒I │ (_) ノ し'
function handleMouseOverEvent(ev /*, thisObj, ...*/) { ... } のように最初の引数はイベントオブジェクトにした方が良い。 onmouseover="handleMouseOverEvent(event, this);" ...attachEvent('onmouseover', handleMouseOverEvent); ...addEventListener('mouseover', handleMouseOverEvent, false); のように使いまわせる。 必要な値はイベントオブジェクトに問う、という基本設計にも忠実だ。 また、イベントオブジェクトが渡されないと、今回の例でも不都合がある。 内部から内部へのmouseoverを判定するには、イベントオブジェクトに問うしかない。 つまり、W3C-DOMでいえば、ev.relatedTarget IEでいえば、ev.toElement, ev.fromElement を取得して場合わけをした方が好ましい。
>>567 本題とはずれるけど
.class1 { background-color: blue; }
ね。
CSSのキーワードを引用符でくくっちゃだめ。
EventListenerに引数つき関数をわたしたい addEventListener("click", func(a,b), false); けど動かないので var global_a; var global_b; addEventListener("click", func, false); とかしちゃってるのですが 引数をわたすことってできないのでしょうか?
>>577 FAQ
>>5 のQ14-A14は読んだかね。それ読んでも分からないなら
(応用する能力ないなら)現状であきらめた方がいいと思うが。
>>577 いまどきのブラウザのaddEventListenerなら次のようにできる。
addEventListener(
'click',
{
global_a:'ぐろーばるえー',
global_b:'ぐろーばるびー',
handleEvent:function (e) {
alert([this.global_a, this.global_b]);//ぐろばるえー, ぐろーばるびー
}
},
false
);
>>578 実際あのFAQを見てわかるのはすでに知っている人間だけ。予備知識なしで
いきなりあれを読んで納得できる人間は少ない。
FAQ、FAQといって教えもせず追い返すのは優越感を感じられて気持ちいいだろ。
581 :
Name_Not_Found :2007/09/11(火) 15:38:10 ID:HNttU9G7
画像がA,B,C,D 説明文が1,2,3,4とあったとき、 画像A,1 と B,2 をまず最初に表示して一定時間後 A,1 → C,3 B,2 → D,4 と 表示させてループさせることは 可能でしょうか? ランダムなら何とかできたんですけど どうしてもうまくいきません。 お手数だとは思いますが、アドバイスお願いします。
>>580 そんなに無知を自慢するなよ
突き返すことで優越感が得られるレベルの質問じゃないんだが。
>>581 ランダムにできる以前にループでできるだろう、常識的に難易度を考えれば。
>>581 まず配列が簡単そう。
スマートにやるならクロージャ
>>561 ループさえ必要ない。よくある時間が来たら次っつうアレだろ。
>>586 これはひどい。
しかもまともな回答が得られてないww
ランダムができて順繰りができん、という叫びがどうもな。 ゆとりの弊害がこんなところにも顔を出してるんだろ。
590 :
567 :2007/09/11(火) 18:08:15 ID:???
>>575 なるほど、勉強になります。
どうもありがとうございます。
>>576 ご指摘ありがとうございます。
引用符で括ってはいけないのは知らなかったです。
>>589 自分のことを言われたんで不愉快になったらしいなww
キエロゆとり!
592 :
581 :2007/09/11(火) 18:33:07 ID:49NTsact
589は私ではありませんが… 確かにgooでも聞きました。というのは急いでいて たくさんの意見を聞きたかったからです。 マルチと見られても仕方ないかもしれないけれど。 レスしてくれた人ありがとうございます。 ランダムができたのは、コピペしただけです。 (汗 585さんの意見を参考にHTMLのタグで考えなおしてみます。。
>>591 マルチがどれだけ不快かまったくわかってないな
>>591 >588 Name_Not_Found sage 2007/09/11(火) 17:11:30 ID:???
>ランダムができて順繰りができん、という叫びがどうもな。
>ゆとりの弊害がこんなところにも顔を出してるんだろ。
>589 Name_Not_Found sage 2007/09/11(火) 17:58:32 ID:???
>
>>588 >こういうレスをする奴がウゼェ
>591 Name_Not_Found sage 2007/09/11(火) 18:21:33 ID:???
>
>>589 >自分のことを言われたんで不愉快になったらしいなww
>キエロゆとり!
頭大丈夫?
マルチなんかどーでもええわ。 むしろ俺に言わせれば暇つぶしで回答してるんだからなんぼでも面白そうなの紹介しろっつう話だ。 「グーグルに俺のサイトがマルチされてる」 と言うやつがいたらかなりイカレてるが、それと根本的に変わりない。 メーリングリスト時代からの伝統だが、本当に悪しき慣例を作ったものだ。
>マルチと見られても仕方ない ( ゚д゚ )
ごたく並べる代わりに回答してやった方がなんぼも有益だと思うが。 いや、漏れはマルチ反対だから回答しなくたって別にいいけど。 でも文句だけ垂れるのはやめて欲しい。オレモナー。じゃ回答するか。 画像のファイル名を配列imgs[]、説明文を配列txts[]に入れてあると するよね。で、var count = 0; とかでカウンタ用意するでしょ。 一定時間ごとの動作の中で、次のことをすればいいんでしょ。 (1) count += N; // Nはいくつずつ表示するかの数 (2) imgs[count % L], imgs[(count+1)%L], ... を画像表示 (3) txts[count % L], txts[(count+1)%L], ... を説明文表示 ただしLは画像と説明文の数。まあこんな感じかなー。 全部書けというのは断ってるのでよろしく。
このスレはマルチについての公式見解はないようだな。 970くらいで少し話してみては? マルチがなぜ悪いかはMG以来通常の質問BBSでも常識だが、分から ない人間もいるようなので、ググって自習しろボケ。
>>597 乙枯。だからぁ あのね、向こうの板で全部書いてくれてるの。つまり、
お宅の説明は徒労ってこと。ま、死ぬほど暇ならいいんだろうけど。
2chと向こうの板が合体して共同作業するつもりないでしょ?
>全部書けというのは断ってるのでよろしく
ぐだぐだした文章なんか読んでもめんどいだけだしハナから無視がオチ。
だからマルチは時間と労力のムダなの。わかる?
600 :
439 :2007/09/11(火) 22:34:36 ID:???
601 :
581 :2007/09/11(火) 22:39:35 ID:u6QuH+Qn
>>597 ありがとうございます。なんとかできそうです。
602 :
1/2 :2007/09/12(水) 14:14:48 ID:76RRVU+z
質問です。 if(window.addEventListener){ window.addEventListener("load",setup, false); //alert("addEventListener"); } else if(window.attachEvent){ window.attachEvent("onload", setup); //alert("attachEvent"); } else { window.onload=setup; //alert("onload"); } function setup(evnt){ if(document.loginForm.addEventListener){ document.loginForm.addEventListener("submit", setCookie("cok", name), false); } else if(window.attachEvent){ document.loginForm.attachEvent("submit", setCookie("cok", name)); } else { document.loginForm.onsubmit=setCookie("cok", name); } name = document.loginForm.nameForm.value; pass = document.loginForm.passForm.value; var cookieData = readCookie("cok"); name = cookieData[0]; pass = cookieData[1]; }
603 :
2/2 :2007/09/12(水) 14:17:11 ID:76RRVU+z
冗長になって申し訳ありませんが、クッキーを読み書きするスクリプトです。 ウインドウの読み込み時に、クッキーの読み込み。 submitイベントでクッキーの書き込みをしたいのですが ウインドウを読み込んだ時点で、書き込み用の関数"setCookie"に飛んでしまいます。 どこに問題があるのでしょうか、よろしくお願いします。
604 :
Name_Not_Found :2007/09/12(水) 14:20:02 ID:76RRVU+z
if(window.addEventListener){ window.addEventListener("load",setup, false); //alert("addEventListener"); } else if(window.attachEvent){ window.attachEvent("onload", setup); //alert("attachEvent"); } else { window.onload=setup; //alert("onload"); } function setup(evnt){ if(document.loginForm.addEventListener){ document.loginForm.addEventListener("submit", setCookie("cok", name), false); } else if(window.attachEvent){ document.loginForm.attachEvent("submit", setCookie("cok", name)); } else { document.loginForm.onsubmit=setCookie("cok", name); } name = document.loginForm.nameForm.value; pass = document.loginForm.passForm.value; var cookieData = readCookie("cok"); name = cookieData[0]; pass = cookieData[1]; } ソースが読みづらいので成形しました、スイマセン。
>>605 「何を」やるプログラムで、「どう」直したいのか、ちゃんと日本語で
書いて欲しい。テンプレにもあるでしょ、質問を分かる日本語で説明
できる者って。
IE、Mozilla、Opera に共通する方法であるリンクが既読・未読か(紫・青)を JavaScript から判別する方法をご存知の方いませんか
Greasemonkeyのjsとクライアントのperlの間で 情報をやりとりするにはどうすればいいのでしょうか? Greasemonkeyでボタンを追加 ->ボタン押されるとlocalのperlが呼ばれる という風にしたいのです
609 :
Name_Not_Found :2007/09/12(水) 16:28:20 ID:CoJq/ZEi
質問をします。 複数あるチェックボックスを一括でチェック入れたり、解除したりする方法を教えていただけませんか?? 犬:<input type="checkbox" name="test1"> 猫:<input type="checkbox" name="test2"> 馬:<input type="checkbox" name="test3"> 猿:<input type="checkbox" name="test4"> ・ ・ ・ ・ のように、いくつか作っているんですが全部にチェックをしたり外したりするのが、わからなくて教えてほしいと思いました。 お願いします。
611 :
Name_Not_Found :2007/09/12(水) 17:04:01 ID:YlfNa9R6
すいません。Aタグ内にnameを置いて参照するのはアリですか?
613 :
611 :2007/09/12(水) 17:32:03 ID:YlfNa9R6
>>621 やってみたらうまく動いてます。これでいいですね。
知ってたら教えてください。YESかNOだけですので。
そんな難しいこと分かんないから誘導してんだろ。アホか。
>>607 絶対にできない。できたとしたら、ページの読み手はどこを
読んでいるか鯖側で吸い上げることができてしまう。そんな
プライバシーだだ漏れなブラウザなんて存在しないって。
>>609 for(var i = 1; i <= 4; ++i)
document.forms.フォーム名.elements['test' + i].checked = true;
漏れも「ちょっとは勉強したらどうなんだ」とは言いたいぞ。
616 :
Name_Not_Found :2007/09/12(水) 17:38:48 ID:yh3PYwDq
「このページの先頭へ戻る」ボタンを押したとき URLを
http://www.hogehoge.com/index.html#01 などから
http://www.hogehoge.com/index.html へと自動的に変更したいと思っています
if (location.href && location.href.indexOf('#') != 1){
var new_url = location.href.substring(0, location.href.indexOf('#'));
location.href = new_url;
}
でやってみたのですが 確かにURLは変わるものの
いちいちページをロードするので使えません
ページをロードせずにURLを変更することは可能なのでしょうか?
可能でしたら方法をご教示いただけるとうれしいです
>>616 何で#が嫌なの?
クリックしたら一番上にいくようなJavaScriptを組むとかじゃダメ?
618 :
616 :2007/09/12(水) 17:49:19 ID:yh3PYwDq
>>617 URLが変更されないと ブラウザのバックボタンを利用した時に
反映されない場合があるからです
例えば…
index.html→index.html#01に内部リンク→「先頭へ戻る」ボタンをクリック
→別のページへ
この状態でバックボタンを押すと ユーザー的にはindex.htmlの先頭に行く
感覚なのに 実際はindex.html#01へ移動され 先頭が表示されない恐れが
あります
それが嫌なのです
>クリックしたら一番上にいくようなJavaScriptを組むとかじゃダメ?
その便利なスクリプトを拝借いただけただけに 玉にキズの部分が
気になっちゃってるんです…
>>611 >>614 日本語が読解できないんだが A要素のなかにA要素入れるってこと?
そりゃHTML的にはinvalidだな。何が起きるか分からんね。
たまたま「アンタのとこで」「今動いている」としても。
>>618 だからさ、ページ内であちこちに移動するのに #01 がつくような
移動方法をやめてJSのみで移動すればいいんじゃないの(JS off時除く)。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function jmp(id) { document.getElementById(id).scrollIntoView(); }
</script>
</head><body>
<p><a href="#i01" onclick="jmp('i01'); return false">i01</a></p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p id="i01">test...</p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
<p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p><p>x</p>
</body></html>
623 :
616 :2007/09/12(水) 18:19:58 ID:yh3PYwDq
>>622 個人的には内部リンクボタンを押したあとに バックボタンで先頭に戻る癖が
あるので #はあったほうが無難かなと思ってしまうんですよね…
(「先頭へ戻る」ボタンはそうでないための人用)
やっぱり無茶言い過ぎかなぁ すいませんでした
あとブラウザによって動いたり動かなかったりするけど <body onload="window.scrollBy(0,-10000)"> とか。
サイトにアクセスされたブラウザをJacaScriptで判断し、 それぞれにアラート文を出すという振り分け処理をしています。 現状ですと、 var app = navigator.appName.charAt(0); でブラウザの先頭一文字のみを抽出してそれを if 文で分枝をかけています。 こちら大昔に作られたプログラムのようで、この度その他のブラウザにも対応できるようにしたいのですが¥、 FireFoxだと何故かNetScapeと判断されてしまいます。 こういったそれぞれのブラウザに対して処理を振り分けるというのは 今の時代JavaScriptでは不可能なのでしょうか??
>>626 不可能ではない。キミが古杉るだけ。何故かNetScapeって、笑えるんだけど。
630 :
Name_Not_Found :2007/09/12(水) 22:11:08 ID:PI6WT922
プロパティAがBを参照するというのはobj1.B=obj2.Aということですか?
それだとプロパティAが参照してるものをプロパティBが参照するんじゃね プロパティAがobjectでないなら単なるコピーになるんだよねきっと
あ
う
ん
635 :
Name_Not_Found :2007/09/13(木) 09:26:11 ID:/6nRXYQT
複数あるチェックボックスを一括でチェック入れたり、解除したりする方法を教えていただけませんか?? 本当にわからないんですぅ。。(´・ω・`)オロロ…
>>635 1つで出来るなら、処理が同じものを並べて10個でも100個でも書けばいい。
>>635 ほんっとに目が節穴だなあ。
あんたの質問からここまでの間に回答書いてくれた奴がいるだろ。
質問するなら真面目にスレ読んだらどうなんだ。
>>635 ググれカスと言ったはずだ。いいから消えろ。二度と来るな。
>>638 汚ねえuri貼るなよヴォケ。お前らどこまで親切でお人好しなんだ。
ググり方も知らないとでも?一定水準以下はスルーしろ。
ヴォケだのカスだのでレスが続くよりはgoogleのurl貼っておしまいの方がいいだろ
どうだろ。自分のコードを出さない質問は禁止ということで。
attachEventやaddEventListenerで バインドされているfunctionの一覧を得る方法なんぞはありますか?
自作汎用ライブラリってどんな風に管理してる? 普通のライブラリ風に、1ファイル1パッケージ的にぽんぽん作ってたら、 <script>タグでの読み込み的に、一つのファイルにまとめるのが一番なのに、今頃、気づいた。 でも、1ファイルにボコスカ詰め込んで置くと、 読み込み時に、必要の無いものまで読み込まれてそれはそれで遅くなるよね。 1パッケージごとに作って、使うライブラリだけ一つのファイルにまとめてくれる。 みたいな管理ソフト無いかな?
make
>>648 makeじゃあれだからJavaScriptで書いてみた。
651 :
Name_Not_Found :2007/09/13(木) 20:17:39 ID:MzIKzHMj
スコープが五重にあってその一番奥にdocument.write(1)があったとき documentオブジェクトは windowの支配を受ける上で支障ないのでしょ うか。スコープとprintは関係ないのですか?
652 :
Name_Not_Found :2007/09/13(木) 21:22:34 ID:PgJvnVt5
CSS質問スレから誘導されました
質問です
マウスオーバーでテーブルの行内の文字の色を変えるのに下のように書いてるんですが
これだとリンクの色だけ変わりません
どうにかならないでしょうか?
<html>
<head>
<script type="text/javascript">
function over(obj){
obj.style.color="red";
}
function out(obj){
obj.style.color="black";
}
</script>
</head>
<body>
<table>
<tr onmouseover="over(this)" onmouseout="out(this)">
<td>AIUEO</td>
<td><a href="
http://fefevesfvefcef.com/ ">あいうえお</a></td>
<td>かきくけこ</td>
</tr>
</table>
</body>
</html>
>>652 何か適当なidに対してあらかじめスタイルを定義しといて
(#id名, #id名 * { color: red } みたいに)
mouseoverのときに一時的にそのidつけて
mouseoutのときにつけたidを外すようにすれば?
>>651 スコープが何重にあっても途中のスコープで同じ名前が定義
されていなければ次々にたどって行くので問題ないでしょ。
>>652 CSS側で「あるクラスのTDの中のA、A:active、A:visited等の
色を変更する」指定を作り(分からないならCSSスレで)、
JavaScript側では obj.className = 'クラスの名前' でクラス
を切り替えて上記指定の適用/非適用を制御したらどうかな。
かぶりまくりだよorz... だがIDよりクラスの方がいいと思うぞ。
656 :
Name_Not_Found :2007/09/13(木) 21:49:58 ID:PgJvnVt5
レスありです ちょっと頑張ってみます
657 :
651 :2007/09/13(木) 23:16:43 ID:IGdITz8e
658 :
Name_Not_Found :2007/09/14(金) 09:54:28 ID:rp6KYhxK
JavaScript 第5版のp144について質問。 ======= function a() { var id = 0; return function() { return id++; }; } uniqueID = a(); ======= このあとuniqueID()を実行するとインクリメントされていくんだけど、 何でa()の中の「var id = 0」で初期化されずにインクリメントされるの? 毎回a()を実行しているから、毎回idが0になり、毎回「1」しか返ってこないように思えちゃう。 実際にやってみるとちゃんとインクリメントされるのだけど動きがわからない。
uniqueID()で実行されるのはa()ではなく uniqueID = a();の時に返されたfunction() {return id++}だから
>>659 あぁ、そうか!
uniqueID = a();
の時点でa()が実行されるからその戻り値の関数がuniqueIDに入るね。。
すっかり勘違いしてた…。
早々とありがとう。
クロージャだね。慣れるとすっごい便利
idをカウンタに利用してるんだから、クロージャの説明だろう。
664 :
Name_Not_Found :2007/09/14(金) 18:12:37 ID:8M6TPiVa
検索した文字列を変数に代入するにはどうればいいでしょうか?
検索ってRegExpで?
666 :
Name_Not_Found :2007/09/14(金) 18:29:03 ID:8M6TPiVa
そうです。使い方がいまいちわかりません。。。 メタキャラを使用したサンプルを提示していただけませんか?
<script type="text/javascript"> reg = new RegExp (""); </script> </head> <body> <form> <input type="text" id="input" /> <input type="button" value="検索" /> </form> <p id="result"></p> </body> </html>
書き途中で誤爆
>>666 var a = 'abc123def456ghi'.match(/([0-9]+)[^0-9]+([0-9]+)/);
→ a[1] == '123', a[2] == '456'
670 :
Name_Not_Found :2007/09/14(金) 18:55:11 ID:8M6TPiVa
>>669 ありがとうございます。なんとか検索はできるようになりました。
しかし・・・ページ内に存在する全ての検索対象を変数に代入するには
どうすればいいのでしょうか?
たとえばaiueo...を検索した場合、ページ内には
aiueo123や、aiueo456が存在した場合です。
よろしくお願いします。。。
正規表現がわからないなら、それについて勉強しちゃうのが一番近道
672 :
Name_Not_Found :2007/09/14(金) 19:05:49 ID:8M6TPiVa
そうですね、すいませんでした。。。
苦労邪は視覚直感的に人間にわかりずらい 性器氷原もどんなコンパイラの性能次第。自分で書いたほうが早いとイライラする と すげー久々に来てほざいてみるw
俺も未だにクロージャが使いこなせない・・・ 読むことはできるんだがうまく活用できん
>>673 そりゃアンタの脳みそに合わないってだけでは。下記を自力で書いてみなよ。
>>671 今回の
>>670 の質問に対してその返事は見当違いだろ。こういうことでしょ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var a = [];
document.body.innerHTML.replace(/abc.../g, function(s){a.push(s); return s;});
alert(a.join('\r\n'));
}
</script>
</head><body>
<p>test... xxabc123xx abcdefyy yyabc456zz</p>
<p><button onclick="test()">test</button></p>
</body></html>
676 :
673 :2007/09/14(金) 21:11:43 ID:???
強く断るw
>>677 それはですね。1回の呼び出しで1つのパターンの*複数の*あてはまり箇所を
*全部*探せるメソッドは str.replace() しかないから。確かに探す
だけで結果が不要だと str.replace() で結果文字列を生成するのは無駄
な感じはするけど、自分でループ書かなくて済むから短く分かりやすいし
結局速いんじゃないかなー(計ってないけど)。
>>678 何度読んでもa=document.body.innerHTML.match(/abc.../g)にしない理由がわからん
じゃぁそう書けば良かったのに
>>679 コピペすれば動くんだから動かしてみりゃいいんでないの?
682 :
Name_Not_Found :2007/09/15(土) 01:05:46 ID:ia2dWLk2
すいません、質問があります。 data1=* メタキャラを使用して、*だけを抜群するにはどうすればいいでしょうか? どうしてもdata1=の部分も入ってしまうのですが。。。
>>682 上に同様な質問と回答あるだろ。それ読んでも分からないなら
回答もらっても同じだと思うが。
GM_xmlhttpRequest ではresponseDetails.responseTextには submit.click(); したあと飛んでいくhomepageの情報は入らないで submit.click();される直前の情報しか出てこないのでしょうか? dataはこんなコードで生成しています submit.click();に対応するdataの書き方もわからない・・・ var boundary = "-----hoge"; var senddata = ""; var data=new Array(); data['diary_title']='ab'; data['diary_body']='abcdef'; for (name in data) { senddata += "--"+boundary+"\r\n"+ "Content-Disposition: form-data; name=\""+name+"\"\r\n\r\n"+ data[name]+"\r\n"; } senddata += "--"+boundary+"--\r\n";
685 :
Name_Not_Found :2007/09/15(土) 02:17:11 ID:ia2dWLk2
>>683 上のやつとは少し違うように感じられますが・・・
>>682 >どうしてもdata1=の部分も入ってしまう
どういう書き方でそうなったのかメソッド付きで見せて
687 :
Name_Not_Found :2007/09/15(土) 05:15:38 ID:sXdjDqFk
phpで使われるsprintfと同じようにつかいたいのですが何かないでしょうか。 0〜9だと先頭に0を追加、それ以外の25や35はそのままと。
>>685 data1= の部分を (…) で囲む中に入れなければいいだろ。
そんなのも言われないと分からないのかよ。
>>687 sprintfはないんだが、あんたが言ってる処理なら次が定石。
String(100 + num).substring(1)
689 :
Name_Not_Found :2007/09/15(土) 07:17:26 ID:sXdjDqFk
>>688 朝早くからレスありがとうございます!!今みたとこなので
これからやってみます!助かりました!
690 :
Name_Not_Found :2007/09/15(土) 09:40:30 ID:C7Y3584U
>>686 var test = [];
document.body.innerHTML.replace(/data1=.{1,},/g, function(s){test.push(s);return s;});
>>688 data1=*,data2=*
上記のような記述が沢山ある場合です。
>>690 その場合は
...replace(/(data[0-9]+)=(.{1,}),/g, function(s, s1, s2) { ...
としてやれば、s1にはdata1、data2等が入り、s2には .{1,} の部分
が入るから。しかし素朴な疑問だけど=の後は . の連続で大丈夫なの?
次のdataとかに食い込んだりすることはないの?カンマで止めるのなら
[^,]+ とかがいいような気がするんだけど。
>>690 おんぶにだっこすぎ。string#replace() のドキュメントくらい
探して読んだらどうなんだ。
693 :
Name_Not_Found :2007/09/15(土) 10:06:37 ID:+nfM098v
ボタンのロールオーバーを簡単に出来ないかと思い、 以下のコードを他サイトを参考に作ってみたのですが、 もう少し綺麗な設定になる方法は無いでしょうか? ご教授お願い致します。 <!--js--> function doSwap(){ var objectClassName="rollover"; var objectFileName="_f2"; var images = document.getElementsByTagName("img"); var preloadimg=new Array(); for(var i=0; i<images.length; i++){ if(images[i].className.match(objectClassName)){ dot_b=images[i].src.lastIndexOf('.'); overimg=images[i].src.substr(0,dot_b) + objectFileName + images[i].src.substr(dot_b,5); preloadimg[i]=new Image(); preloadimg[i].src=overimg; images[i].onmouseover=function(){ var dot=this.src.lastIndexOf('.'); var imgSrc_on=this.src.substr(0,dot) + objectFileName + this.src.substr(dot,5); this.src=imgSrc_on;} images[i].onmouseout=function(){this.setAttribute("src",this.getAttribute("src").replace(objectFileName,""));} } } } <body onload="doSwap();"> <html> <img src="img/img1.jpg" class="rollover" /> <img src="img/img2.jpg" class="rollover" />
694 :
Name_Not_Found :2007/09/15(土) 10:18:27 ID:C7Y3584U
>>691 必ず値の後ろには , が入ってくるので大丈夫だと思います。
ありがとうございました。
<script ... />行を追加するだけで既存のウェブサイトの <a> リンクを ポイントした時に処理を行うようにしたいんですが、 window.onload = function() { links = document.getElementById("a") for (var i = 0; i < links.length; i++) { links[i].onmouseover = custom_function; } } でフックする方式だと、リンクが1000個とかあるページでページロード後の ループが長くて微妙に固まってしまいます。 CSSのセレクタで関数をバインドできればループなしにできていいのですが、 この方式はIE/behavior, FF/-moz-bindingとまだバラバラで、移植性のある方法は ないってことであってますか? window.onclick とかでリンクのクリックイベントをバブルアップ処理の 過程でフックとかできればいいのかな・・・
696 :
695 :2007/09/15(土) 10:45:15 ID:???
しまった、document.getElementsByTagName ですね。実コードではなく 「こんな感じで書いてます〜」というだけなので、コードバグは突っ込まないで下さい。
697 :
Name_Not_Found :2007/09/15(土) 11:57:49 ID:C7Y3584U
unescape関数を継承することはできますか?
>>695 >この方式はIE/behavior, FF/-moz-bindingとまだバラバラで、移植性のある方法は
>ないってことであってますか?
合っています。XBL2がW3Cで策定中ですがまだ草案です
上の方の階層のノードにaddEventListenerでイベントキャプチャ用のイベントリスナを
追加してevent.targetを調べて分岐
(IEではonmouseoverのイベントハンドラ内でwindow.event.srcElementを調べて分岐)、という方法もありますが
必要ないイベントを捕捉する回数が増えてしまいますね(mouseoverは特に)
>>695 //書いただけ。動かなければ自分で直せ。
document.
/*@cc_on @if (1) attachEvent('on' + @else@*/
addEventListener(/*@end@*/ 'mouseover', function (e) {
var a = e./*@if (1) toElement @else@*/ target /*@end@*/;
var r;
while ('A' != String.prototype.toUpperCase.call(a.tagName)) {
a = a.parentNode;
if (!a) return;
}
r = e./*@if (1) fromElement @else@*/ relatedTarget /*@end@*/;
if (r &&
/*@if (1) a.contains(r) @else@*/
(r == a || 0 != (8 & r.compareDocumentPosition(a)))) {
return;
}
custom_function.call(a, e);
}, false);
>>700 誤 )))) {
正 )))/*@end@*/) {
>>693 (1)getAttributeとsetAttributeは使わず ...src = ...src.replace(...)
(2)lastIndexOfとか使うより
overimage = ...replace(/^(.*)(\.[^\.]+)$/, '$1'+objFileName+'$2');
とかでいいんでないの。
703 :
693 :2007/09/15(土) 15:07:09 ID:+nfM098v
>702 レスありがとうございます。 全体をreplaceを使って構成するように作り直してみます。 ご教授頂きましてありがとうございました。
>>670 var a = new RegExp("ほにゃ","g");
while(var m=a.exec(str)) {
....
}
>>674 変数を束縛したいときに使うと思っとけばいいんでない?
女性を緊縛したいときは… ところで、whileのかっこ内のvarというのはECMAにはないようだけど、 できる処理系があるの?やってみようと思ったことがないもんで。
あー、そうだった。いつもつい書いちゃうんだよな。ちょっと不便。
707 :
Name_Not_Found :2007/09/15(土) 19:49:44 ID:ivbIPpAx
えっと、この3日でJavaScriptをいちおマスターしようと始めたんだけど、 この言語ってreplaceが2つあるんだね。ふつーこんなことはないよね。 プロパティのバッティングしないの?これって、開発チームのちょんぼ なの?お願いおせえて。
708 :
Name_Not_Found :2007/09/15(土) 19:53:17 ID:Y5ymxHGl
関数の呼び出し元を調べるにはcallerを使えばいいのですが、もし 呼び出し元がforだった場合は判断のしようがないのでしょうか? アドバイスお願いします。
>>707 オブジェクト指向言語では、オブジェクト種別ごとに同名の操作が
重複して定義されることはアタリマエでジョーシキとなっております。
オブジェクト指向言語をご存じないのであれば、恥をかかないために
勉強されることをお勧めします。
>>708 forは「関数」ではない。calleeはfor文を「含んでいる」関数になる。
つか、ifだのforだのwhileだのが関数に見えるってすげー危うい理解
だから即刻勉強し直した方がいいと思う。
711 :
708 :2007/09/15(土) 23:26:55 ID:Y5ymxHGl
>>710 もし呼び出し元が関数でなければどうなるのか?ということなんですが。。。
たとえば、関数に含まれないfor文で呼び出された場合などです。
ためせばいいやん。なんでforが出てくるのかわからんけど function f() { alert(f.caller); } f(); for(;;) { f();break; }
質問です。 特定イベントが発生した時に、<object>要素などで埋め込んだBGMを 曲の途中であっても即座に停止させたいです。 removeChild()で取り除けば止まるかと思いましたが、FireFoxとOpera では止まるものの、IEとSafariでは止まりませんでした。 では、DOMツリーから削除した後、その変数をつぶして、どこからも そのオブジェクトを参照出来ないようにしたら…と思ってやってみた ところ、IEではようやく止まりましたが、Safariではまだ止まりません。 音声ファイルのurlを書き換えてもダメでした。 Sarariで、BGMを途中で止めるにはどうすればいいでしょうか?
>>711 自分で関数を定義しなくても、トップレベルのコードも一種の
関数の中身「のようなもの」として実行されると思われ。
ページを閉じる
716 :
Name_Not_Found :2007/09/16(日) 01:49:25 ID:89IzcCbQ
HP作成でジャバスクリプトを使っていますが、関数も分からずに、 サンプルのコピーをしていたら、アレンジする時に分けが分からなくなったので 関数を勉強したいんですが、関数を分かりやすく教えてくさい
まずは日本語だな
718 :
Name_Not_Found :2007/09/16(日) 02:09:46 ID:ZN0boA+c
>>712 やっぱり関数でないと判断できないっぽいですね。。。
他の手段とかはないですよね・・・?
719 :
Name_Not_Found :2007/09/16(日) 02:36:40 ID:89IzcCbQ
下記について質問です <SCRIPT language=JavaScript><!-- iList = ["img0","img1","img2","img3","img4","img5"]; cx = 150; // 回転の中心X座標 cy = 100; // 回転の中心Y座標 cnt = 0; offset = 1; rx = 140; // 回転半径(横) ry = 70; // 回転半径(縦) function rotZIMG() { for (i=0; i<iList.length; i++) { n = (i * (360 / iList.length) + cnt) * Math.PI / 180; //(1)? y = cy - Math.cos(n) * ry;//(2)? z = 100 - Math.cos(n) * 50; // (3)? document.images[iList[i]].style.pixelLeft = cx + Math.sin(n) * rx;//(4)? document.images[iList[i]].style.pixelTop = y;//(5)? document.images[iList[i]].style.zIndex = z;//(6)? document.images[iList[i]].style.width = z / 1.5;//(7)? document.images[iList[i]].style.height = z / 2;//(8)? cnt = cnt + offset; } } // --></SCRIPT> </HEAD> <BODY onload="setInterval('rotZIMG()',100)"> <IMG style="POSITION: absolute" src="0.gif" name=img0> <IMG style="POSITION: absolute" src="1.gif" name=img1> <IMG style="POSITION: absolute" src="2.gif" name=img2> <IMG style="POSITION: absolute" src="3.gif" name=img3> <IMG style="POSITION: absolute" src="4.gif" name=img4> <IMG style="POSITION: absolute" src="5.gif" name=img5> <button onclick="offset=-1;">Left</button> <button onclick="offset=0;">Stop</button> <button onclick="offset=1;">Right</button> </body>
720 :
Name_Not_Found :2007/09/16(日) 02:37:16 ID:89IzcCbQ
このプログラムですが、rx = 140; // 回転半径(横)を300にすると
動きがぎこちなくなりますが、どうすればいいでしょうか?
このボタンを、ボタンを押し続けている時だけ、回るようにするには?
まねじゃないけど、こんなのにしたいと思ってます。
http://www.amazon.co.jp/ この上のまんなかあたり。
下記のプログラムはサンプルにアレンジしてもらったものです。
ジャバについては、全く理解していません
ぎこちなく動かないようにすりゃ良いんじゃね
722 :
Name_Not_Found :2007/09/16(日) 03:06:14 ID:89IzcCbQ
どこを変更すればいいかわかりません
724 :
Name_Not_Found :2007/09/16(日) 03:12:24 ID:89IzcCbQ
一、礼節を重んじ常に努力精進すること 一、ブラクラに打ち勝つ精神力を持つこと 一、心身の優れたJavaScriptを学ぶこと 一、雑草の如く生涯JavaScriptを貫くこと 一、感謝と反省を忘れないこと 以上 どこが欠けてますか? 全部?
・JavaScriptとJavaの違いを理解する者 ・スクリプトを組むための最低限のHTML・CSSを理解する者
726 :
Name_Not_Found :2007/09/16(日) 03:15:40 ID:89IzcCbQ
・スクリプトを組むための最低限のHTML・CSSを理解する者 ここは大丈夫です。 JavaScriptとJavaの違いを理解する者 ウーン。字が違うということはわかりますが、 そうゆう意味じゃないですよね。
727 :
Name_Not_Found :2007/09/16(日) 03:22:52 ID:89IzcCbQ
>ジャバスクリプトの方が簡単なんですね それは、違いが理解できるとは言わない。
729 :
Name_Not_Found :2007/09/16(日) 03:53:36 ID:89IzcCbQ
スクリプトはコンパイルが必要ないこと。 これしか違いわかりませんが、やはり、理解しないとダメですか?
>>720 実際どのような意味で動きがぎこち無いと感じているのかは不明だけど、
このスクリプトは一回の表示更新毎に移動する角度が一定なので、
回転半径が大きいほど、一回で移動する距離が大きくなる=動きがなめらかでは無くなるから。
ボタンが押されている時にだけ回転するようにするには、
ボタンが押された時に、mouseupのイベントリスナーを設定すれば可能。
あとこのスレに常駐しているようなにわかスクリプターは、
JavaScriptの事をジャバとかJavaなどと間違って書かれると、そこで思考停止に陥る可哀想な人間なので、
略すならJSあたりをお勧め。
>>713 そのあたりはかなり実装依存だろうから、
<object>で呼び出された中身に対して外から何かできる方法が
呼び出された方に備わっていないかを調べるのが正道。
732 :
Name_Not_Found :2007/09/16(日) 05:30:07 ID:Fyiantsm
例えばこのようなボタンがあった時に、mouseupに変更するには、 どうしたらいいでしょうか? <button onclick="***=-1;">Left</button> <button onclick="***=0;">Stop</button> <button onclick="***=1;">Right</button>
733 :
Name_Not_Found :2007/09/16(日) 06:02:52 ID:Fyiantsm
>>730 JSとJ(ジャバ)の大きな違いとはなんですか?
>>719 このY軸回転の動作を中央ぞろえにするには、どうすれば良いでしょうか?
cx = 150; // 回転の中心X座標
cy = 100; // 回転の中心Y座標
で、位置を変える事もできるようですが、それだと、見る、環境によって、
場所の位置が変わってしまうので、例えばHTMLでいう
<div align="center">で、場所を中央に設定したいのですが・・・
>>733 まったく別の言語だということが分かっていればそれでいいのでは。
ここに来てまったく別の言語の話する奴がホントにいるんで…
質問内容についてだけど、ブラウザ画面の幅を取得する方法がある
ので、幅を取得してそれに基づいて計算で中心座標を決めればいいんでは
ないの。取得する方法そのものは過去スレかぐぐるかでどうぞ。
>>732 onclick→onmouseup
ついにJavaをJという奴が出現したか
そうか、洩れもCOBOLのことをCと略すことにしよう。
738 :
Name_Not_Found :2007/09/16(日) 12:19:57 ID:3q66AmwA
>>734 ブラウザの幅取得は、初心者には難しそうだなぁ?
>onclick→onmouseup
説明が悪かった。
ボタンを押した時、実行するんではなく、
ボタンを押し続ているときに実行
ウーン、
>>719 のプログラムで、ボタンを押した時、くるくる回るが、
これを、押している時だけ、くるくる回るようにって事なんだけど、
俺も初心者で言いたいことを上手く説明できないんだけど、
分かってもらえたかな?
>>735 >ついにJavaをJという奴が出現したか
JA?
これあげるから勉強してみたら。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> var count = 0, elt, timeid = -1; function start() { elt = document.getElementById('p0'); timeid = setInterval(step, 100); } function stop() { if(timeid >= 0) clearInterval(timeid); timeid = -1; } function step() { elt.innerHTML = ++count; } </script> </head><body> <p id="p0">test...</p> <p><button onmousedown="start()" onmouseup="stop()>Test</button></p> </body></html>
農協=農業協同組合
742 :
Name_Not_Found :2007/09/16(日) 13:21:32 ID:3q66AmwA
>>740 開いたけど、
何かいてるかわかんない。
日本語の言語障害だけど、ついでにJSも言語障害
どうしたらいい?
>>741 そのこと。
>>742 ボタンを押している間カウントアップが続く。onmouseupの閉じる「"」が
抜けているので補う(JavaScriptではなくHTMLの問題)。
744 :
Name_Not_Found :2007/09/16(日) 18:48:27 ID:3q66AmwA
>>740 とりあえず、意味が分かった部分
var 予約する。
var ***;
***を変数宣言
***=代入する値を書く
***変数宣言は、英字(a〜z, A〜Z)数字(0〜9)英字の大小文字は区別される。一応アンダーバーも使えるが面倒だから使わない
// を使って、分けが分からないように説明をする
あまり理解していない部分
function 関数名(引数){
処理
}
if (条件式) { 真の場合の処理 ; }
function 関数の呼び出し {処理;}
それ以外、調べてるので、理解したつど更新予定
745 :
Name_Not_Found :2007/09/16(日) 18:59:03 ID:3q66AmwA
上記以外はわかりません。 elt document.getElementById timeid setInterval clearInterva elt.innerHTML ++ この用語がわかりません。jsについての、用語集などはありますか?
>>745 テンプレ読め。全てな。半年くらい計画して。どうしても公開したければ自分のブログかなんかでやれ。
747 :
Name_Not_Found :2007/09/16(日) 19:19:46 ID:PuLAlm+y
ある時間毎にメッセージや背景色を変えたくてやっているのですが phpで同じ事をしてるときは<div class="<? echo $a; ?>">abc</div>で$aを条件で変えるだけだったのですが JavaScriptだとどうやって変えればいいんでしょう。 1箇所だけならその部分で <script type="text/javascript"> <!-- if(a>0){ document.write('<div class="abc">abc</div>'); }else{ document.write('<div class="def">abc</div>'); } // --> </script> とかなのかもですが、変えたい部分が20箇所ほどあるので外部ファイルでやりたいのです。 そのほかの文字はinputで表示しています。
>>747 PHP
<div class="<?=$a?>">...</div>
JS
'<div class="' + $a + '">...</div>'
JavaScript1.6-
<div class={$a}>...</div>.toXMLString();
749 :
Name_Not_Found :2007/09/16(日) 20:22:45 ID:PuLAlm+y
>>748 ありがとうございます〜
同じような書き方もできるんですね。
phpと違って表示部分が難しいので苦労してますw
これからやってみます!
>>747 その20箇所について同じ class を指定して、変更するのは
class に対する色指定の1箇所だけにすればいいんでないの。
IEでJavascriptの正規表現使うとき、HTMLに0x00とか、文字コードに存在しないバイトがあると、ちゃんとした結果が返ってこないのは仕様?
> ちゃんとした結果が返ってこない テストしたわけでも無いのに嘘つくな
おはようございます。 質問です。 //test.js window.onload = function(){ test.time(); setInterval("test.time()", 1000); } test = { time : function(){ testdoc="testdoc"; document.getElementById("testtime").innerHTML = testdoc; } } //test2.js window.onload = function(){ test2.time(); setInterval("test2.time()", 1000); } test2 = { time : function(){ testdoc2="testdoc2"; document.getElementById("testtime2").innerHTML = testdoc2; } } 続きます・・・
754 :
Name_Not_Found :2007/09/17(月) 06:00:08 ID:NXYhjVMq
・・・続きました /html <script type="text/javascript" src="./test.js"></script> <script type="text/javascript" src="./test2.js"></script> </head> <body> <span id="testtime2"></span> <span id="testtime"></span> こうしたのですが、この場合だと「testdoc2」しか出力できません。 test.jsとtest2.jsの読み込みを逆にすると「testdoc」が出力されます。 これは、同一html内では複数読み込みは無理なんでしょうか?
>>753-754 window.onloadを上書きしちゃってるから上書きした方しか実行されてない。
addEventListnerとかを使えば期待通り動くだろうけど、ブラウザ判別して分岐する必要が出てくる。
面倒ならその<script>タグを<span>の後に置けばonloadを待つ必要は無くなるはずだからそうすれば?
756 :
Name_Not_Found :2007/09/17(月) 06:59:05 ID:NXYhjVMq
>>755 レスありがとうございます。
やってみたのですが、やはり後に書いた方しか表示されませんでした。
今ぐぐってたらaddEventListnerが何か関係あることがわかってて
こちらでもaddEventListnerの事を書いてもらってたので少し調べてみます。
それか、1ファイルにまとめてしまうか・・・すごい行数になりますがw
>>756 ごめん、正しいスペルはaddEventListenerね。
<span>の後ろに置くならスクリプトをこういう風に書き直す
//test.js
test = {
time : function(){
testdoc="testdoc";
document.getElementById("testtime").innerHTML = testdoc;
}
}
test.time();
setInterval("test.time()", 1000);
>>757 くぉ!!
こんな時間から申し訳ないです。ありがとうございます!
今test.js test2.js作ってやってみたところ出来ました!
寝ないでやってた甲斐がありましたw
本当にありがとうございます。
これからの事もあるので少し調べて身に付けたいと思います!
FireBugのConsoleのlogを自動でファイルに保存する方法ないでしょうか? 実行に一晩ぐらいかかるWeb巡回マクロなんですが、 朝きたら落ちてるのでlogを自動保存したいのです
760 :
Name_Not_Found :2007/09/17(月) 10:32:47 ID:uxYOTc/q
alertボックスをイベントで出したのですが、 ちがうイベントでクローズできませんか?
できますん。
>>760 人間が確認しないでalert()を閉められるのならalert()の
意味がないだろ。JSで閉じたいのなら普通の窓にする。
>>762 なら、開いたときだけ閉じられるようにすればいいわけだが。
まあ、仕様というのが答えだろうね。
alert を自作するという手もあるがね。
showModalDialogとか
766 :
Name_Not_Found :2007/09/17(月) 17:12:13 ID:ifBBQL1e
onmouseoverでハイライト処理をしたいのですが、tmpColorに前回のbackgroundColorが入らず 希望の動作をしないのですが、何か方法ないでしょうか?御教示よろしくおねがいします。 (対処法として全TDにstyleで背景色指定の初期化をすると動作します) <script type="text/javascript"> var tmpElm = ""; var tmpColor = ""; function Highlight( elm ) { if ( elm.tagName != 'TD' ) return; // TD時のみ動作 if ( tmpColor ) tmpElm.style.backgroundColor = tmpColor; // 前回のTDを戻す tmpElm = elm; // 要素保存 tmpColor = elm.style.backgroundColor; // 背景色保存 elm.style.backgroundColor = "#ffff99"; // ハイライト化 } </script> <table cellspacing=1 cellpadding=5 bgcolor="navy" onmouseover="Highlight(event.srcElement);"> <tr><td> </td><td> </td><td> </td></tr> <tr><td> </td><td> </td><td> </td></tr> <tr><td> </td><td> </td><td> </td></tr></table>
if ( tmpColor ) じゃもともと空だった場合に反応できないでしょ。 if ( tmpElm ) にしたら?
おっとIEならelement.currentStyleだね
770 :
766 :2007/09/17(月) 18:34:36 ID:ifBBQL1e
ありがとうございます。↓に変更でOKでした! tmpColor = elm.currentStyle.backgroundColor; // 背景色保存 ついでに、if ( tmpElm ) にも変更。 しかーし、テーブルからマウスが外れた際、TDが1つハイライトされたままになってしまいます。 (今がそういう動作の設計になってるんだろうから当たり前でしょうけど) コレはこうしろ、コレ使え、みたいなアドバイスありましたら宜しくお願い致します。
>>770 素人の漏れが思い付いたのはonmouseoverとonmouseoutで処理を別にする、ってことくらい。
プロい人だとどうするんだろうか。
ぷろの漏れが思い付いたのもonmouseoverとonmouseoutで処理を別にする、ってことくらい。
アマい僕はJavaScriptを使わずCSSで対処した
チャンチャン♪
上の方にrelatedTarget|(from|to)Elementの使用例が挙がっていたはず。
776 :
Name_Not_Found :2007/09/18(火) 10:31:29 ID:ls624c1g
newしたら自動で実行されるfunctionって作れないんでしょうか。 オブジェクト指向言語のコンストラクタのようなイメージです。
777 :
757 :2007/09/18(火) 10:39:31 ID:PNv0idiD
>>757 の回答を頂きやってる途中なのですが、いまいちinnerHTMLの使い方が分かりません。
<table>
<tr>
<td class="1">a</td><td class="2">b</td><td class="3">c</td>
</tr>
</table>
とあってclassの1,2,3とtd内のテキストa,b,cをそれぞれリアルタイムに変えようとしています。
スクリプト自体の動作がすでに問題なく動いてます。しかい問題は表示の部分で
document.getElementById("1の部分").innerHTML = 1の変数;
document.getElementById("aの部分").innerHTML = aの変数;
でaやb,cは単にテキストなので問題ないのですが、<td class="1">の部分がうまく変えれません。
<span class="id="1""><noscript><td class="1"></noscript>a</td>
なんて出来るわけも無く。
<span id="1"></span>として
document.getElementById("1の部分").innerHTML = "<td class=\""+1の変数+"\">;
などにしてもtdと解釈していないようで、<tabel>外の位置に出てしまいます。
どうやればいいんでしょう。また他の方法ないのでしょうか?
(現在運営中のサイトでは同じ事をphpでやってます)
778 :
766 :2007/09/18(火) 11:01:56 ID:???
>>771-772 onmouseoutで実装しましたが、Table外へ高速でマウスを移動させるとハイライトTDが残ります
これは <table> ではなく <body> にonmouseoverとonmouseoutを付けるしかない?
779 :
766 :2007/09/18(火) 11:12:28 ID:???
すんません原因は分かりませんが直りました。普通に<table onmouseout>で希望動作しました
>>775 relatedTargetはTABLEに対して使うとborder部分で苦労する
innerHTMLには何の動作保証もないんだが・・・
MSDN にも MDC にも載ってることに「何の動作保証もない」ですか ´Д`
>>777 document.getElementById("TDに付けたid").className = "hoge"
>>777 innerHTMLは名前通り要素の「内側」を差し替えるものなんで、
タグ自体についてる属性を変更したければ
>>783 のように要素自体を
いじらないと。脳内で自分勝手に機能を拡張しないようにね。
785 :
757 :2007/09/18(火) 12:02:57 ID:???
>>783 >>784 ありがとうございます。
classNameってのもあるのですね。
innerHTMLとinnerTextとしか知りませんでした。
やってみますー
786 :
Name_Not_Found :2007/09/18(火) 12:27:29 ID:ls624c1g
おーい
>>776 誰も答えられないのかクソどもー\(^o^)/
ん? new X()としたらXが自動で実行されるんじゃないの? というかこれを「自動で」と形容していいのか疑問だけど。 何がやりたいのか日本語が不自由すぎて理解できないが。
誰も答えられない質問というのもある それは質問に問題あるから
789 :
Name_Not_Found :2007/09/18(火) 13:55:04 ID:ls624c1g
applyで解決したぞ役立たずどもー\(^o^)/
>>789 (・ω・`)役立たず? applyと言ったはずだが・・・
Class.createみたいな処理なら、別にapplyなくても出来るよ。
アマい
>>773 さん
CSSを使ってIEでA要素以外にも
マウスオーバーに反応する方法を教えてください
>>782 MSDNに載っているとブラウザでの動作が保証されるのかね。
all()じゃうちのブラウザ動かんのだが、
どこが保証している。教えてくれ。抗議の電話をしたい。
CSSスレでは回答済みです
.htcはcssじゃないじゃん
798 :
Name_Not_Found :2007/09/18(火) 23:14:37 ID:SVdlcxRf
Errorオブジェクトのインスタンスの使い方について教えてください。
投げる
のびるのびる
801 :
Name_Not_Found :2007/09/19(水) 05:01:56 ID:mgCJkcVl
newdate = new Date(); hours = newdate.getMinutes(); earth_time_hour = String(100 + hours).substring(1) として時間を取得してるのですが、 earth_time_hour の時間に1時間たして例えば2+1=3時にしたいのですが 21時になってしまいます。 これはどうすればいいのでしょうか。
>>794 曲解の上にクレクレかよ。甘やかしたバカ親と心中しとけや。
さすが、礼節を重んじるスレは一味違いますな。
>>801 現在文字列なのか数値なのか常に意識するようにする。
Number(earth_time_hour) + 1
次の質問は「24時に1時間足したら25時になるのですが
1時にするにはどうしたらいいのでしょう」と予想した!
礼節を重んじるスレなのではない。
>>802 のような素人バカが多いので
礼節を重んじよといっているスレなのである。
ナ ゝ ナ ゝ / 十_" ー;=‐ |! |! cト cト /^、_ノ | 、.__ つ (.__  ̄ ̄ ̄ ̄ ・ ・ ,. -─- 、._ ,. -─v─- 、._ _ ,. ‐'´ `‐、 __, ‐'´ ヽ, ‐''´~ `´ ̄`‐、 / ヽ、_/)ノ ≦ ヽ‐'´ `‐、 / / ̄~`'''‐- 、.._ ノ ≦ ≦ ヽ i. /  ̄l 7 1 イ/l/|ヘ ヽヘ ≦ , ,ヘ 、 i ,!ヘ. / ‐- 、._ u |/ l |/ ! ! | ヾ ヾ ヽ_、l イ/l/|/ヽlヘト、 │ . |〃、!ミ: -─ゝ、 __ .l レ二ヽ、 、__∠´_ |/ | ! | | ヾ ヾヘト、 l !_ヒ; L(.:)_ `ー'"〈:)_,` / riヽ_(:)_i '_(:)_/ ! ‐;-、 、__,._-─‐ヽ. ,.-'、 /`゙i u ´ ヽ ! !{ ,! ` ( } ' (:)〉 ´(.:)`i |//ニ ! _/:::::::! ,,..ゝ! ゙! ヽ ' .゙! 7  ̄ | トy'/ _,,. -‐ヘ::::::::::::::ヽ、 r'´~`''‐、 / !、 ‐=ニ⊃ /! `ヽ" u ;-‐i´ ! \::::::::::::::ヽ `ー─ ' / ヽ ‐- / ヽ ` ̄二) /ヽト、 i、 \:::::::::::::::..、 ~" / ヽ.___,./ //ヽ、 ー
jsって無名関数使って継続できるの?
たぶんね
継続とは?
jsとは?
>>810 Wikipediaの解説でも読めば。
>>811 もしかしたら「なんとか.js」のサフィックスのことかもねー。
JSと書かれるよりjsと書かれた方が、 すんなりと受け入れてしまった。
815 :
Name_Not_Found :2007/09/19(水) 15:55:58 ID:fU8UjLhl
var l = {}; for(var i=0; i<5; i++) { if(response[i] != undefined) { l[i][name] = response[i].name; l[i][line] = response[i].line; l[i][distance] = response[i].distance } } APIから取得したJSONデータを配列に入れたいんですが、"l[i][name]は定義されてない"というエラーが出ます。 事前にプロパティを定義するには、どうしたらいいでしょうか。
>>812 チミはまだそんなことをいってるか。ぜんぜん無視。
>>815 l[i][name] = response[i].name;
の前に
l[i] = {};
を加えて、l[i][name] じゃなくて
l[i].name = response[i].name;
か
l[i]['name'] = response[i].name;
と記述
818 :
Name_Not_Found :2007/09/19(水) 16:35:30 ID:fU8UjLhl
>>817 いけました。ありがとうございます!
[aaa] はだめで、 ['aaa']はOKな理由がわかりません。。。
>>816 爆笑! 無視できてないじゃん。スルー力を鍛えないとね。
>>818 FAQ
>>4 のQ8/A8を100回読め。または、その'aaa'を場合に
よって取り替えたい(名前を変数に入れて扱いたい)時に
どうするか考えてみたらどうだろうか。
じゃなくて、 a.name = "hoge" //エラー a = {}; a.name ="hoge" //問題なし だけじゃね。
真・スルー 何もレスせず本当にスルーする。簡単なようで一番難しい。 偽・スルー みんなにスルーを呼びかける。実はスルーできてない。 予告スルー レスしないと予告してからスルーする。 完全スルー スレに参加すること自体を放棄する。 無理スルー 元の話題がないのに必死でスルーを推奨する。滑稽。 失敗スルー 我慢できずにレスしてしまう。後から「暇だから遊んでやった」などと負け惜しみ。 願いスルー 失敗したレスに対してスルーをお願いする。ある意味3匹目。 激突スルー 話題自体がスルーの話に移行してまう。泥沼状態。 疎開スルー 本スレではスルーできたが、他スレでその話題を出してしまう。見つかると滑稽。 乞食スルー 情報だけもらって雑談はスルーする。 質問スルー 質問をスルーして雑談を続ける。 思い出スルー 攻撃中はスルーして、後日その思い出を語る。 真・自演スルー 議論に負けそうな時、ファビョった後に自演でスルーを呼びかける。 偽・自演スルー 誰も釣られないので、願いスルーのふりをする。狙うは4匹目。 3匹目のスルー 直接的にはスルーしてるが、反応した人に反応してしまう。 4匹目のスルー 3匹目に反応する。以降5匹6匹と続き、激突スルーへ。
生でスルー が抜けてやしないか
ゲンスルー ゴンに捕まる。
>>821 には差別用語が含まれています。使用には十分注意してください。
>>825 xulやったことないけど、たぶんonclickハンドラつけて、event.button
を見て中クリックかどうかを判別する。正確なとこは自分で調べたら。
>>825 function search(event){
openUILink("
http://www.google.com/ ", event);
}
<toolbarbutton id="buttona" oncommand="search(event)" onclick="checkForMiddleClick(this, event)" />
こんなかんじ
>>827 おおおありがとう!
まさにそうしたかったのです。助かりました!
830 :
Name_Not_Found :2007/09/20(木) 00:23:15 ID:r0eoDLKH
getTime();で取得した秒数にある数字を足してた時間を取得したいのですが そんなのはないのでしょうか? 今やってる方法だと26時とかとんでもない時間になってしまいます。
>>830 26時をもっかい突っ込んで
もっかい取り出せばいい
>>830 date.setTime(date.getTime() + 60 * 60);
date.toLocaleString();
833 :
Name_Not_Found :2007/09/20(木) 01:15:39 ID:r0eoDLKH
>>831 >>832 ありがとうございます。
どちらの方法も帰宅後やってみたいと思います。
なにか色々考えすぎて頭がピキピキしてますw
レスありがとうございました!
.jsって略ならまだ拒絶反応出ないんだけどな。 まあ、略ではなくただの拡張子だからって理由なだけなんだけど。
>>834 JavaScriptとキャメルケースで表記されているくらいだから、
JSと略すのは自然だろ。
836 :
& ◆Dh8B4/6dTo :2007/09/20(木) 11:44:26 ID:uILQ9UCx
안녕하세요, 여러분. 나는, 형식(거기에 유저는 그 날, 달 및 일?t의 해를 각각 입력할 것이다)의 안에 3개의 텍스트 박스를 가지고 있습니다, 수로 바꿀 수 있고 있어 다음에, 변수에 격납된 것.내가 실시할 필요가 있는 것은 변수중의 값을 일자로 바꾸는 것입니다-새로운 일자(year1, date1, month1)를 사용하고, 그것을 하는 것은 가능합니까.I는 im(아마 궤적으로부터 방법)를 알고 있습니다, 그러나 그, 단지 하나의 방법 I는 생각할 수 있었습니다, 그것을 하기 위해서 혹은, 이것을 하는, 보다 용이한 방법이 있습니까.많은 고마워요!!!
チョン乙
838 :
& ◆jD2wIU8cNg :2007/09/20(木) 12:37:19 ID:ntZ6lp4u
바보 일본인 죽어라
839 :
Name_Not_Found :2007/09/20(木) 12:46:05 ID:r0eoDLKH
チョンコ死ねよ迷惑だ
javaアプリ Anfyの日本語のヤツ無いかなぁ・・・ 今のは日本語対応して無いし
IE5.2で印刷ダイアログを表示したいのですがWindow.print()が使えません。 なにか表示する手段はありませんでしょうか?
>>841 function print(){
개의 텍스트 박스를 가지고 있습니다, 수로 바꿀 수 있고 있어
다음에, 변수에 격납된 것.내가 실시할 필요가 있는 것은 변수중의
}
○とか×とか△とかじゃわからん 日本語で書けよ!일본어로おK!
日本語を表示させようとすると文字化けするのですが、 u数字 なんたら とかいうコードに日本語を変換する関数とかないのでしょうか?
846 :
Name_Not_Found :2007/09/20(木) 17:29:28 ID:4JeEu4Ga
そりゃ表示じゃなくて翻訳だろ
ヒント:チョン語翻訳
>>845 こうかな。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function conv() {
var s = document.getElementById('t0').value, t = '';
for(var i = 0; i < s.length; ++i) {
var c = s.charCodeAt(i);
if(c < 256) t += s.charAt(i); else t += '\\u0x' + c.toString(16);
}
alert(t);
}
</script>
</head><body>
<div><textarea id="t0" rows="20" cols="40"></textarea><br>
<button onclick="conv()">変換</button></div>
</body></html>
849 :
Name_Not_Found :2007/09/20(木) 21:50:36 ID:OXwqcbgG
散々ググって調べましたが、全く分からなかったので質問させてください。 【やりたいこと】 <img src="sample.img" title="test" id="photo"> のように「photo」とid名のついた画像からタイトル値を拾って(上で言うと「test」) 文字列として表示させたい。 【作り中のコード】 function phototitle(){ var putimg = document.getElementById("photo") var imgttl = putimg.getAttribute('title'); document.write(imgttl); } phototitle(); 【分からない事】 取得した「title」の値をどうやって文字列にするかが全く分からないです。 そもそも、このコードでは「title」の中身を拾えてないのでしょうか? お願いします。
850 :
Name_Not_Found :2007/09/20(木) 21:55:24 ID:y/rVmF64
imgはaltでしょ
>>849 getAttributeを使うのはやめた方がいいよ。
var imgttl = putimg.title;
じゃないの。しかし洩れも
>>850 が正しい気もするが。
そしてさらに、 FAQ
>>4 のQ4/A4 を読んでない気もするが。
つか勉強が足りなさすぎ! 一旦帰って勉強してはいかが。
>>850-851 IEはaltをポップアップしてしまうので誤解されやすいが、
alt …画像が表示出来ない環境で画像の代わりに表示するためのもの
title …ポップアップなどで補足的な情報を表示するためのもの
で、まったくの別物。
853 :
Name_Not_Found :2007/09/20(木) 23:55:27 ID:r0eoDLKH
いい加減ieメインでサイトを構築するのはやめようよ・・・・ altとtitleの違いもわかんなくなってるじゃん・・・・
勉強しろとか偉そうに言っちゃってるのにaltとtitleの使い方さえ知らないなんて とんでもなく恥ずかしすぎじゃね?w
蛇足
856 :
849 :2007/09/21(金) 08:50:01 ID:???
皆様ありがとうございます。
>>851 そのとおり、勉強全然足りてません。足りてない故にどうやってググれば
いいかもわからなくて。すみません。
var imgttl = putimg.title;
では動かなかったです。
そしてQ4気づきませんでした。
もすこしがんばります…
>>856 「取れているか」と「表示」と分けてチェックしないと
どこがまずいのか特定できないでしょ。とりあえず
取れているかどうか調べるにはalert(imgttl)ね。
858 :
849 :2007/09/21(金) 11:09:04 ID:???
>>857 取れました!そっか、そうやって確認するんですね。
ありがとうです。
さらになんとか表示出来るようにしました。
window.onload = function phototitle (){
var putimg = document.getElementById("photo");
var imgttl = putimg.title;
var span = document.createElement("span");
span.appendChild(document.createTextNode(imgttl));
document.body.appendChild(span);
}
これだと、ページの最期にちゃんとタイトルの中身が表示されます。
ただ、画像の直下にタイトルを表示させたいので、最期の行を
document.putimg.appendChild(span);
としてみましたが、表示されません。
これをやるにはifとかで条件を指定しなければいけないのでしょうか?
まあまずはテンプレに載ってるサイトなどで勉強してくれ。 といってもお前さんの場合、その前にHTMLの勉強をしたほうがいいかもな。 それからDOMについて学んでください。
860 :
849 :2007/09/21(金) 11:29:42 ID:???
>>859 え?なんかすごい勘違いでもしてるのかな?
HTMLなら分かってるつもりなんですが…書く事が出来ても根本的に
学ばなければいけないことがあるんかな…
DOMは、何も分からないです。
はい。勉強します。
>>860 たぶん、bodyの直下にspan突っ込むのはStrictではまずい
とかそういう突っ込みなのかも。まあ色々な意見あるから。
ごめん全然違った。画像の直下にということはこういうHTMLに ならないといけないわけでしょ。 <div><img ...><br><span>タイトル</span></div> だからdiv、br、spanを生成して、imgはdivの下に移して、という DOM操作をちゃんとやらないといけないということなんでは。
imgの親要素取って来て、それにappendChildでくっつけるってのが楽かな img以外にも色々要素が含まれてるなら考えないとだけど。
864 :
863 :2007/09/21(金) 12:04:57 ID:???
色々って言っても場合わけくらいか。 imgのnextSiblingがnullならparentNodeにappendChildすれば良くて、 何か要素があればparentNodeのinsertBeforeでその要素の前に入れれば良いのか。 遠回り過ぎ?もっと直接入れられるかね?
parent.appendChild(child) と parent.insertBefore(child, null) は等価。
DOM使わなくても、画像とタイトルを配列化して 表示のときに呼び出せばいいんじゃない?
>>865 おぉ!そうなのか。それは知らなかった。
ってことは
element.parentNode.insertBefore(new_element, element.nextSibling)
ってやれば自動的にelementの次の要素になるのか。
使う時ないかもだけど知識増えた。ありがd。
868 :
Name_Not_Found :2007/09/21(金) 13:16:17 ID:IQe5f2VB
はじめまして、質問です。
自分のサイトの中で、リンクを貼っている部分にポインタを合わせると
ブラウザの左下に飛び先のURLが出ますよね。
それを隠したくて仕方がないんですけど、今はやり方がわからずに
「○○○へようこそ♪」なんてメッセージが流れるようにして
誤魔化してます。
そうでなくて完全に隠す方法ってないのでしょうか?
あるいはこのサイトの様に
ttp://erodoganavi.blog117.fc2.com/ リンクの部分にカーソルを合わせるとその都度違うメッセージが出るように
するにはどうすればよいのでしょうか?
ちなみに、ソースの上の方にあるjavascriptはいくつか試してみましたが
違うようです。
どうぞよろしくお願い致します。
>>868 お気の毒ですが、そういうスクリプトはこのスレのカルチャーでは
「ユーザに迷惑」ということになってるので回答されません。
>>1 >>3 参照。
まず隠したくて仕方がない理由を聞こうか
871 :
Name_Not_Found :2007/09/21(金) 13:29:40 ID:IcSGVSWY
外部CSSを設定した時間で切り替えたいのですが お勧めのJavaScriptはありますでしょうか? 現在ThickBox3.1を入れています。 心配としては競合しないかという点です。 よろしくお願いいたします。
>>868 webの仕様は利便性や障害者にたいする配慮などさまざまな配慮がなされて
いる。クイズの画面など制作者の勝手で戻るボタンを効かなくしたいとか仕様
を変更したいと思うのだろうが、それは邪道。自分のやり方の方を変えるべき
だろう。
873 :
Name_Not_Found :2007/09/21(金) 14:46:08 ID:9klDJ5w5
>>871 ページ読み込み時に設定すればいいんだよね(つまり表示してる間に
ある時刻を過ぎたら突然デザインが変わるとかじゃなくて)。
だったら、時刻で振り分けて適切なCSSを読むscriptタグを書き出す。
875 :
Name_Not_Found :2007/09/21(金) 18:59:21 ID:SiyZU1bv
function Class { this.initialize.apply(); } Class.prototype = { initialize: function() { (1) } method: function(){ alert('this is method!') } …(2) } var class1 = new Class; -- (1)の地点で、(2)のmethod:にアクセスしたいのですが、一番スマートな方法はどうしたらいいでしょうか。 Class.prototype.methodとしたらいけましたが、Class.prototype内で、自分自身(Class.prototype)を指したい場合の書き方ってあるんでしょうか。
>>875 一番簡単に思えるのは呼ぶ側で this.initialize.apply(this) と渡すとか。
>>875 prototypeをきちんと理解していればそんな考えは100%起こさないだろ
878 :
Name_Not_Found :2007/09/21(金) 23:36:07 ID:3W6z6R/5
>>868 そんなことはカーソルデザインを変えたり頼んでもないのに急に「ようこそ」とかメッセージが
別窓ででたりと同じで自己満足で見る人には不愉快以外なにものでもないので
どうしてもやりたいのなら自分で考えろ。
>>876 それならthis.initialize()でいいね
this.initialize.apply(this, arguments) こういうことだろ?
881 :
Name_Not_Found :2007/09/22(土) 09:28:17 ID:Km88x+i2
よろしくお願いします。 1つのhtml内にパッと見、ギコAとギコBの二枚の画像があり、 ギコA(gikoA0.jpg)をクリックすると画像がgikoA1.jpgに入れ替わり、 ギコB(gikoB0.jpg)をクリックすると画像がgikoB1.jpgに入れ替わり、 それぞれもう一度クリックすると元の画像になる、というのをやりたいのです。 ネット上にあるJS素材(元は画像1ヶ所を入れ替え)を応用して <head> <SCRIPT type="text/javascript" language="JavaScript"> <!-- now_imgA = 0; function chang_imgA(){ if(now_imgA==0){now_imgA=1;}else{now_imgA=0} document.slide.src = "gikoA"+now_imgA+".jpg"; } now_imgB = 0; function chang_imgB(){ if(now_imgB==0){now_imgB=1;}else{now_imgB=0} document.slide.src = "gikoB"+now_imgB+".jpg"; }//--> </SCRIPT> </head> <body> <a href="#" onclick="chang_imgA();return false;"><img src="gikoA0.jpg" width="240" height="240" name="" border="0"></a> <a href="#" onclick="chang_imgB();return false;"><img src="gikoB0.jpg" width="240" height="240" name="" border="0"></a> ※以下、JS切ってる人への代替リンク等 </body> までは書いてみたのですが、動作しません。 多分関数2つの定義と画像表示部の指定が上手く言ってないのでは、と 漠然と思っているのですが、どう直せばいいのかよくわかりません。 アドバイスをお願いします。
>>881 プログラミングやったことがないように思える書き方だな
これだと画像が増えるたびに関数増やさなくちゃじゃん
せめてAとかBを関数に渡せばいいのに
document.slideがimg要素を指してるつもりなんだろうけど、
slideがそもそも出てきてないから何も起きない
>
>>881 scriptタグからして中身を疑うべき。どうせいっぱし面のサイトなんだろ。
document.referrer ってなんのためにあるんですか?
あんたのサイトを訪れた人間を監視するためさ
>>886 document.referrer いつも空っぽじゃね?
あ、設定・・・(ノω`)
889 :
Name_Not_Found :2007/09/22(土) 19:17:04 ID:PqSlR+KE
先日ある人と話していたら、いまJavaScriptでマウスオーバー効果をやって る奴はアホだみたいなことを言われました。CSSでで簡単にできるそうです。 これは本当のことでしょうか。CSS出どうやるのか教えてくれません。ご存 知でしたらお願いします。JavaScriptは必要なくなるのでしょうか?
>>889 できますよ
ぐぐると腐るほど出てくるから、スレ違いでもあるし
さすがにぐぐるか、cssスレに移動してください
891 :
Name_Not_Found :2007/09/22(土) 19:24:58 ID:yBe9/Gap
お絵かき掲示板でお絵かきしようとすると、必ず 「同じプロセスで実行中のいくつかのJava仮想マシンによってエラーが発生しました」 と書かれた小さなウィンドウが出てしまって、お絵かきができません。 また、「SUNのJAVA」の無料ダウンロードを実行しても、同じウィンドウが出てしまいます。 この場合、どうしたらお絵かきができるようになりますか? 解決策をご存知の方がいましたら、是非よろしくお願い致します。
>889 IE7未満はA要素にしか:hoverは効かないし ビヘイビアは結局スクリプトファイルを呼び出すし IE6までにも対応させたいのならスクリプトは必要だと思うけど
×IE6までにも ○IE6以前でもA要素以外に
895 :
889 :2007/09/22(土) 21:37:57 ID:C9Tt2P/3
emacsでjavascript開発する時、便利なモードってありますか?
javascript開発
jscript-mode 使ってる
システム開発
900超えたのでテンプレ論議があればどうぞ。
prototypeのAjax.Updaterで 読み込むファイルが存在しない場合 onFailureに記述したfunctionが実行されるので そこでエラー処理すればいいと思うのですが、 CMSなんかで404がリダイレクトされて メッセージページが出るように設定している場合 エラー処理をした後でそのメッセージ画面が読み込まれてしまいます。 これを回避(エラー処理をしてstop)するにはどうしたらいいでしょうか?
>>3 × FFxのJavaScriptコンソール
○ Firefoxのエラーコンソール
>>904 サーバが吐くヘッダを勉強すれば道は開ける。
<textarea></textarea>や<input type="text">に入力された文字の一部に スタイルを適用させるにはどうすればいいでしょうか 指定した文字が入力されたら色を変えたりしたいです ポップアップしたり入力ボックス外に表示されるバリデータはありますが <textarea></textarea>や<input type="text">内の一部にというのは そもそも無理ですか?
そもそも無理な稀ガス。
全体の文字色や背景色やボーダーが変わったりってのもありますが 指定した文字が入力されたら「その文字だけ」にスタイルを適用する ってのはやっぱり無理なんですね どうもありがとうございます
いや。簡単にできるだろ。
すまん。一部の文字か。そりゃむりだがformでなくすればできる。
912 :
Name_Not_Found :2007/09/24(月) 10:13:31 ID:8/3UmYcf
アニメGIFを鏡面化(90度反転)させるスクリプトってありますか?
JavaScriptでは無理。 IE依存なら「CSS filter 回転」でぐぐれ。
914 :
912 :2007/09/24(月) 14:09:10 ID:rgMP6EGF
ところで、90度反転てどゆこと?
そんなこともわからんのか。 第1象限においてπ/2ラジアン傾けてY軸対象に反転すること, だろ?
917 :
Name_Not_Found :2007/09/25(火) 11:29:35 ID:I3ZDTBvE
JavaScriptで独自のタグを作ることはできませんか? 例えば<MOVIE></MOVIE>のようなタグを作りたいです。
>>913 できません。が、XHTMLで名前空間使えばXHTML以外のタグも
混ぜられるので、その部分をDOMで取り出して解釈すれば
JavaScriptでできる動作なら実現できるかも。
JScriptなら可
920 :
Name_Not_Found :2007/09/25(火) 12:21:58 ID:iS/pTge0
prototypeの概念がわからん。 a.prototype.prop = 1; 例えばこれはどういうこと? aにpropっていうプロパティを追加するってことでおk?
aのprototypeにpropっていうプロパティを追加するってことでおk
∧_∧ / \ / <0> <0>ヽ IE ッテ スゴイ | ∀ | ヽ ∪ ∪ \ / ∪~ ̄∪
923 :
Name_Not_Found :2007/09/25(火) 13:12:45 ID:iS/pTge0
>>923 newってやるとオブジェクトができるじゃん?
その時にプロパティ(メソッド)が一緒についてくるじゃん?
で、たとえばhumanってオブジェクトだとして、nameとageってプロパティがあるとするでしょ。
加えてwalkってメソッドがあるとする。
AさんBさんをnewで作った時に、name,ageはそれぞれAとBで別々に保持しなくちゃだけど、
walkってメソッドは両方共通で良いじゃん?
そのとき、human.prototype.walkでメソッドを定義してあげれば共通で扱えるのだよ。
ほら、何か効率的な感じするじゃん?
メモリとかそういうのが効率的なんじゃないかな。
僕の知識ではここまでが限界。
925 :
Name_Not_Found :2007/09/25(火) 13:24:35 ID:iS/pTge0
こんなところで聞くよりまず自分で勉強しろボケ。
928 :
Name_Not_Found :2007/09/25(火) 16:14:20 ID:5pY4pb48
だからどうしたって話ですね><
まどうでもいいんだが, 質問のときはちょっとできそうな風でいっぱしだからな.
931 :
Name_Not_Found :2007/09/25(火) 20:28:46 ID:T5RRzpR9
質問です。 argumentsの取得で、それ以上引数がないときイテレートしないように したいのですが、indexでnがないとき、argument[n]||null; としても空白 を書き出して空間ができてしまいます。argument[n]||delete argument[n]でも やはり同じです。nがないときは何もなしにするにはどう書けばよいので しょうか。ご教示ください。
>>931 js> function f() {if ('0' in arguments) print(arguments[0]);}
js> f(undefined)
undefined
js> f(null)
null
js> f(false)
false
js> f(0)
0
js> f('')
js> f()
js>
今日ねクライアントにプレゼンしたのよ でね、写真を10枚ぐらい見せるページがあったんだ 迷った末、JavaScriptで組んだのよ そしたらクライアントが「なんか昔からあるJavaScriptっぽくて古くさい」 「やっぱキレイにシャキッと写真が映えるFlashにしてよ」だってw やっぱJavaScriptって古くさいんだろうな・・・。
スレタイ読めない馬鹿は氏ね
それは
>>936 のセンスの問題という可能性が…
そりゃまあ簡単キレイなのがFlashだからね。 日本語のサイトだと、jQueryやMooToolsなどのFrameworkを使ったサイトも少ないし、 今でもMM_swapimageを使っているようなサイトも多いくらいだから、 スキルの無い人間による臭いコードの氾濫と、無知な素人による偏見ってのは、 過去のJavaScript暗黒時代と同様。
940 :
Name_Not_Found :2007/09/26(水) 11:19:41 ID:CzRkiyPX
var C = function() { this.init.apply(); } C.prototype = { prop: 10; init: function() { alert(this.prop) } } var c = new C; これでpropの10がアラーとされると思ったんだけど、undefinedと出ました。 newされる前にinitだけ実行してるんですね。。。 コンストラクタ内で定義したらいけるかなと思って、コンストラクタ内でthis.prop = 10としてもだめだった。 newされるときの動作の仕組みがわかんねぇ〜
またおまいか
わけもわからずapplyとか使うからそうなる
943 :
Name_Not_Found :2007/09/26(水) 12:27:39 ID:CzRkiyPX
apply使わなきゃ、クラスベースの言語みたいな「コンストラクタ」は実装できないですよね?
あなたがそう思うならそうなんじゃないすか?
>>943 アンタが思う「必要なこと」は何さ。クラスベースの言語の真似が
したいのではなく、本来の「やりたいこと」があるはず。
>>943 いや、ごたくはいいから、最初の引数を渡せよ。
>>945 いや、そのまんまnewしたときに、特定の関数を実行したかったんでぃす。
>>946 おお・・applyにthis渡したらできました!ありがとう!
だからさ… その場合「this.init.apply(this)」と「this.init()」 っておんなじだろ。
>>948 ほんとうですね。それでもいけました。
apply(this, arguments)
これだったら利点があるのかな?
>>949 this.init 本体だけに集中できるという利点がある。
ただし、そもそも、this.init が不要。
いかにRubyっぽく書こうかという流行の名残りかもしれないが、
関数C自体がコンストラクタなので、this.init は自己満(自分が書きやすいと思い込んでいる)でしかない。
>>949 それも「this.init(arguments)」と同じだろ。いい加減目を覚ませ。
それは違う
>>953 げげっ! 違うね… 渡される情報としては共通だけど…
じゃapply()はいつ使うの・・・?
>>954 callの存在を何だと思ってたんだ
>>955 まずどう動作するのかを知ってから何に使うか考えようぜ
だからapplyがどーしても必要になった時に使うんじゃまいか。 アンタの目的は「applyを使うこと」かな?違うでしょ。 ちなみに洩れは普通のOOのためにapplyを使ったことはないなー。 オブジェクトとメソッドを自前で検索してそれを呼び出すなんて いう変わったことをするときにapply使ったことはあるけど。
俺も継承するときに使うぐらいだな
プロトタイプチェイン(継承)で、コンストラクタに引数がある時、 MySuper.apply(this, arguments); しておけば、一々同じ事を繰り返し書いたり書き直したりせずに済む。 たぶんこの利用が一番多いような気がする。 他では、望まないエラーを回避するのに使うことも多い。例えば、 function trim(s) {return s.replace(/^\s+|\s+$/g, '');} は、s が String である必要があるわけだが、 function trim(s) {return String.prototype.replace.call(s, /^\s+|\s+$/g, '');} のように書けば、たとえば s が Number や undefined であっても、自動キャストしてくれる。 引数をチェックするなら前者を、そうでないなら後者を使えばよく、 後者のようなエラーが起きない実装を希望する場合が普通に多いと思う。
次スレは975超えたら。テンプレ訂正予定はJavaScriptコンソール→ エラーコンソール、ね。
>>957 普通のOOPかどうかは知らんけど、
無名関数やクロージャで、その関数を定義するスコープでのthisを使いたい時には、
applyを使うので、結構applyの頻度は高いね。
引数でthisを渡すとか、var objRef = this;などと一々書くのは面倒なので。
>>959 後者なら String(s) や new String(s) の方が良いと思うがなぁ
右クリックしたら ”右クリック禁止!!!1”ってアラート出して、 右クリックしたハッカーのパソコンをぶっこわしたいんですが、 どんなjavascript書けばいいでしょうか
>>963 右クリックしただけでハッカーって、お前の周りはどんだけハッカーだらけだよ
>右クリックしたハッカーの ってどうしてハッカーってわかるのさ?印刷したいだけかもしれないじゃん。 消えろボケ。
>>963 「右クリ禁止」はこのスレのカルチャーではユーザの迷惑となる
スクリプト (
>>1 参照) に相当するので絶対回答されません。
お帰りください。
967 :
963 :2007/09/26(水) 17:09:25 ID:???
今日も大漁大漁w
1時間も持たないのかよコイツ…
1時間もつもたないとか意味わからなすw負け惜しみ乙wwwww
>>998 とか970
知らないのは黙ってろよ。知ってる人からちゃんとした情報で聞きたいだけだ。
それとも、ここって右クリも知らない人間の集まり?
さあどうかな?質問者の役に立っているかどうかは過去スレ
(最近の数スレ)を見て各自が判断すれば済むことだな。
>>971 そうやって煽っても無駄とかもテンプレに書いてあるんで。
糞スレ決定
977 :
Name_Not_Found :2007/09/26(水) 23:39:12 ID:w2XY79F1
sec = Math.floor((time / 60 * 60) % 612) とすると612までカウントしてくれるのですが、 0〜612ではなく、612〜0と減算するにはどうすればいいんでしょう。 sec = (Math.floor((time / 60 * 60) % 612))-612 とすれば減算になるんですが、-522 とかマイナスが付くので付かないようにしたいです。
減算になるのか?
0-612 612-0
>>977 それではムリ。forで回す。
それから、timeってなに?いきなり変なもの書くなボケ。
わけわからんなw
おそらく
>>979 の回答で正解なんだろうが・・・
質問です。 java scriptを使ってカーソル動かすたびに 星とか花がぱーっと出てくる仕掛けありますよね。 あれなんですけど、どうやったら・・・ ていうか、どういう神経したら ああいうものが作れるんですか? 誰にメリットがあるんですか?
桶屋が儲かります
星とか花がぱーっと出てくる ↓ ユーザーが発狂 ↓ 頭に血が上りすぎて死亡 ↓ 桶屋が儲かる
*``・*。. 。.:☆ . *。+゚ ★ | `*。 ;* †▲_*;.。.: ∧ ∧ /*。 ,。∩ *. ゚*: (('A`);゚' +< ,,‘∀‘> つ *。+゚ + (・ω・`)*。 ゚・* ( 7 `*。 二つ *゚* `*。 ヽ つ*゜* . < ヽ \+。*・' `・+。*・`゜⊃ +゜ *。+゚ ∪`J ☆ ∪~。**'``・* 。 `・+。*・゜. | `*。 ,。 _,,∩,_ * もうどうにでもな〜れ〜☆ + / ,' 3 `ヽ* 。+゚ `*⊂ ,j *゚ * ゚と・+。*・' ゚ +゚ ☆ `(ノ′ 。* の気分が味わえる
すみません最近はじめたばかりで初歩的なことだと思いますが 配布されていたサンプルに var aaa = '<'; aaa+='a href="' + url + '"'; aaa+='>'; document.write(aaa); みたいなのがあったのですが var aaa = '<a href="' + url + '">'; document.write(aaa); と書いちゃ駄目なんでしょうか あと document.write('<a href="' + url + '">'); と書くのともまた違うんでしょうか 違いがよくわかりません・・・
>>988 結果は違わない。
しかし、都合よく区切って(ついでに改行して)おくとメンテしやすくなると信じる人がいる (俺もそう思う)。
>>989 どうもありがとうございますm(_ _)m
いろんな書き方があるんですね
混乱します・・・
var aaa = '<'; aaa+='a href="' + url + '"'; aaa+='>'; これにどういう利点が考えられる?
この書き方以外の書き方は同じなのか違うのか疑問を持つことが出来て その結果書き方はひとつではないということがわかる
なるほど、作者がそこまで考えていたとは・・・
よしお、パパの技をよおく見ておくんだぞ
小学生のとき、少し足し算、引き算の計算や、会話のテンポが少し遅いA君がいた。 でも、絵が上手な子だった。 彼は、よく空の絵を描いた。 抜けるような色遣いには、子供心に驚嘆した。 担任のN先生は算数の時間、解けないと分かっているのに答えをその子に聞く。 冷や汗をかきながら、指を使って、ええと・ええと・と答えを出そうとする姿を周りの子供は笑う。 N先生は答えが出るまで、しつこく何度も言わせた。 私はN先生が大嫌いだった。 クラスもいつしか代わり、私たちが小学6年生になる前、 N先生は違う学校へ転任することになったので、 全校集会で先生のお別れ会をやることになった。 生徒代表でお別れの言葉を言う人が必要になった。 先生に一番世話をやかせたのだから、A君が言え、と言い出したお馬鹿さんがいた。 お別れ会で一人立たされて、どもる姿を期待したのだ。 私は、A君の言葉を忘れない。 「ぼくを、普通の子と一緒に勉強させてくれて、ありがとうございました」 A君の感謝の言葉は10分以上にも及ぶ。 水彩絵の具の色の使い方を教えてくれたこと。 放課後つきっきりでそろばんを勉強させてくれたこと。 その間、おしゃべりをする子供はいませんでした。 N先生がぶるぶる震えながら、嗚咽をくいしばる声が、体育館に響いただけでした。
3
4
(´ω`)
1000ならJSっていう略し方禁止
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。