+ JavaScript の質問用スレッド vol.98 +
JavaScript を自ら学ぶ人のための質問スレッドです。
>>2-4 のテンプレを読んだ上で質問してください。
■質問を書く上で
(1) 質問にならない投稿はご遠慮ください。(煽り、コード制作依頼など)
(2) 他の人に迷惑をかけるスクリプトの質問はご遠慮ください。
(ブラクラ、[戻る], [閉じる], [クリック] の妨害、画面占有など)
(3) 長い間連続して質問する場合にレス番を名前にしてあれば、質問の流れが回答者に伝わりやすくなります。
(4) 常に自発的に調べる心構えを持ってください。
具体的には「自分で調べてから質問する」「回答をもらってわからない単語があればGoogle検索してみる」など。
わからない内容を代わりに調べてくれる回答者をお望みの方は余所で質問してください。
(5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
(6) 出来るだけサンプルコードを掲示してください。言葉による説明は行き違いが生まれる場合があります。
※必ず「問題の事象が再現されること」を確認してください。
必要な部分だけ切り出したつもりで現象が再現できていなかったケアレスミスがしばしば見られます。
(7) サンプルコードに HTML が含まれる場合は
http://validator.w3.org/ で [Check] してみてください。
(8) 質問を具体的かつ詳細に書くと回答を得られやすいです。質問テンプレートを活用してみてください。
■質問テンプレート
【環境】OS, ブラウザをバージョンと共に記入してください。(ex: IE8, Firefox4)
【何をしたのか】何をしたら問題の現象が発生するのか。再現手順を具体的に書いてください。
【エラーメッセージ】エラーメッセージがあれば正確に書き写してください。(Windows なら「コピット」を活用)
【期待する結果】最終的にどういう結果を望んでいるのか、を書いてください。
【サンプルコード】現象を再現可能な最小限のコードを書いてください。
1レスに収まらないならコード投稿サイトを利用してください。
http://jsdo.it/ http://jsbin.com/ http://jsfiddle.net/ http://ideone.com/
■主要FAQ (全部は
http://fiddle.jshell.net/vSqKr/33/show/ )
Q1. 別窓・フレーム内容やローカルファイルを読み書きしたいのですが…
A1. 別サーバのページやファイルの内容はセキュリティ制約でアクセス不可です。
Q2. document.write()でページ内容を追加したいのですが…
A2. 一度表示完了後にwriteするとページ内容が消去されます。DOM等別手段を。
Q3. table内容のinnerHTMLやDOMでの変更がうまく行かないのですが…
A3. IEではtable/tbody/trのinnerHTML書き換え不可です。DOMを使いますが、
DOMの場合tableの直下にはtbody要素が(作らなくても)あることに注意。
Q4. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A4. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
グローバル変数はwindowのプロパティなので「x」と「window['x']」も。
Q5. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A5. 取得には document.defaultView.getComputedStyle() を使う必要あり。
IEでは要素オブジェクトのプロパティcurrentStyleを使う。
Q6. setAttribute("class","foo")、setAttribute("onclick","bar()")が動きません…
A6. IEではそれは不可。「obj.className="foo"」「obj.onclick=bar」でどぞ。
Q7. タイマーやイベントハンドラに設定するコードにthisを含めたいのですが
「"...this..."」とか「function(){...this...}」ではうまく行きません。
A7. 実行時にthisが別のものを指してしまってる。以下のようにthisを束縛保存。
「function(x){return function(){...x...};}(this)」
Q8. input type="file"の値を設定(参照)できないのですが…
A8. セキュリティ制約のため設定は絶対に不可。参照はブラウザにより不可。
Q9. getElementById('ID名')や$('ID名')で要素が取れないのですが…
A9. コード実行時点でHTMLがそこまで読まれてない。window.onload 中でやるとか。
そのプログラミング板にあるJavaScriptスレは入れない方がいいと思うが。 当スレでいま揉めてるところだし。漏れも重複スレみたいなもんだと思うな。
サーバーサイドJavaScriptとWebのJavaScriptは構文ぐらいしか共通点ないだろ
サーバサイドならWebProg板になるんで。
>>8 書き方次第でいくらでも共通化できる部分はあると思うが
サーバーサイドとローカルの違いって何なの? サーバーサイドはperlとかphpとかそういうものなの?
サーバーサイド→サーバーにアクセスして結果が返ってくるもん クライアントサイド→ブラウザ一つでぜんぶやっちゃう
ブラウザで動かすJavaScriptはDOM寄り
何かお題があって、それを各々JavaScriptで作ってみようみたいなスレとかないん? と思ったがすぐに宿題スレになりそうだな・・・
>>12 たった2行だけど、君が素人だって言うのはよく伝わってくるよ
>>12 つかその1行目からして間違ってるだろ。それクライアントサイドだよ。
よくその理解で解答しようとか思えるよね。勉強してからにしてほしい。
と言いつつ説明できないのがこのスレの住民の特徴
文句だけは一人前w
クラ→鯖→クラだから一行目間違ってはないな 読解力of日本語の問題
クライアント→背景の色変える サーバー→画像をサーバーに保存
別スレで質問しましたが回答がなかったのでこちらで質問します データバインドにで一般的なソートは <BUTTON onclick="hyou.Sort='+no';hyou.Reset();">順番</BUTTON> 並び替えの時このボタン押せばソートしますが、 ページを読み込んだ時に自動的にソートさせたいのですがJavaScriptで可能でしょうか?
<body onload="hyou.Sort='+no';hyou.Reset();">
>>22 即レス感謝です。
bodyに埋め込むだけでできたんですね
盲点でした。
あんまり納得が行かない。「鯖にアクセスする」のなら鯖の外のコードだから クライアント側コードで、「クライアントからアクセスされる」のが鯖のコード だと思うんだけど。だれか正確な定義おしえてください。
サーバクライアントモデルという系で構築されるシステムにおいて サーバ側で動くのか、クライアント側なのか、てだけじゃね? 言語が何なのか、どんな役割なのかは実装次第じゃろ
ただクライアントサーバモデルはWeb関係ないからな〜 サーバサイドなら〜とかクライアントサイドなら〜とかは間違い
皆何を言い争ってるんだろう サーバーで動かせばサーバーサイドだし、 クライアントで動かせばクライアントサイドだろう JavaScriptの場合両者は言語が違うと言うよりただ書き方の傾向が違うだけだ 書き方の傾向が違えばスレを分けた方がいい もちろんライブラリ系もそう
今気づいたが初心者板でここに誘導してるから初心者な質問が多いんだな
>>25 まったく賛成なんで、ただ、サーバに「アクセス」するコードは
クライアントにないとおかしいじゃん、というのが自分の感じたこと。
>>29 自分はこう思うまでにしておけ
今まで他のレスに文句付けるので散々荒れてきただろ
31 :
Name_Not_Found :2012/03/02(金) 13:34:05.37 ID:CAFuDUH7
>>14 以前、手取り足取りスレというのを作ったけど
あんまり評判よくなかった
2chでは、何でどのプログラム言語が良いかの話で、プログラム言語 のけなし合いが始まって、具体的にどこがいいとか悪いという 話が出てこなくて、〜はクソ、〜は産廃とかの悪口ばっかの 書き込み合戦になるのですか?
ム板のjsスレは隔離スレみたいなもの
34 :
Name_Not_Found :2012/03/02(金) 15:57:45.58 ID:CAFuDUH7
>>32 ◯◯は糞と貶すのは誰にでもできるけど
◯◯は素晴らしいと賞賛するには、造詣と経験がいるから
スレ違い、いや板違い
休みの日は、ぼーと、Ajaxの勉強をヤフー知恵袋と2chと英語の サンプルサイトを見ながらやってると12時間くらい飲まず 食わずだったりする。なんかコード読みながらキーボード 叩いてると落ち着くんだよな。 なんか病気かな。まぁ、パチンコ中毒よりましか。
ダークサイドJavaScriptと聞いて
以前このスレで、変数名をHanteiってつけたら、依頼主から 変数名Hentai(変態)ってどういうことやねん?ってクレームきて、 いいえHantei(判定)ですって言ったって話は面白かったな。
ああ、あれだな。どっかの研究でなんか読めるやつ。あれでいうと同音異義語だな
ローマ字使うんなら漢字使えばよっぽどわかりやすくていいのに
var 荻原 = "Ogiwara"; var 萩原 = "Hagiwara";
var おぎわら = "ogiwara", はぎわら = "hagiwara";
>>39 var 変態="hentai";
こうですね、分かりました。
{ '変態':"Hentai", '反対':"Hantai", '判定':"Hantei" } とオブジェクトがある場合にこれを { 'Hentai':"変態", 'Hantai':"反対", 'Hantei':"判定" } にするES3の範囲で一番速い方法ってなんだろ?
>>43 方法複数ある?
for-inで列挙する以外に方法ない気がするけど
46 :
Name_Not_Found :2012/03/04(日) 14:25:24.13 ID:q1jDoTjl
たとえば [] instanceof Array [] instanceof Object はどちらもtrueが返りますが A instanceof B でtrueが返るBの部分をすべて取得するにはどうすればいいですか?
ネイティブとグローバルオブジェクトにある関数を全部試せばいい
そんなん必要なことあるか? インスタンス作成時にプロパティーとして情報残しとけよ
>>46 Object.getPrototypeOf
>>49 Object.prototype.getPrototypeOf //undefined
>>49 Objectが[[Global]]['Object']の事か[object Object]の事か[object *]の事かわからなかったから
Object.getPrototypeOf //undefined
Object.prototype.getPrototypeOf //undefined
>>52 うーむ…、あの流れで大文字から始まる "Object" を [object Object] や [object *] と思うものなのか…
> Object.getPrototypeOf //undefined
>>4 を見てgetPrototypeOf をサポートしているブラウザで試せばわかる
あと、せめてぐぐってから指摘してほしい
MDNにでも使い方はのってるはずだから
MSDNって書けよとおもったらMDC・・MDN・・あれ・・
指摘する前にMDNとMSDNとECMAScriptとHTML Standardを読むと幸せになれる
このブラウザだったら動くとかいうのは良くない。 NFの組み込み用でも動くようにしなくちゃ。 特に指定が無いときは基本E3でしょ。 queryとか使っちゃダメ。
>>1 より引用。
> (5) 出来るだけ一般的な用語を使用してください。脳内オレオレ用語は混乱の元です。
>57の解読 このブラウザだったら動く(けど他じゃ動かない)とかいうのは良くない。 N(et)F(rontブラウザ)の組み込み用(タイプ)でも動くようにしなくちゃ(ダメ)。 特に(質問者の)指定が無いときは基本E(CMAScript)3(準拠の範囲で回答)でしょ。 query(Selecter)とか使っちゃダメ。
残念、セレクタのスペルが違うヨ。
61 :
60 :2012/03/04(日) 16:02:32.73 ID:???
serectorだろアホがwwwwwwwwwwwwwwwwwwww うぇっwwwwwwwwwwwwwwwwwwwwうぇっwwwwwwwwwwwwwwwwwwwwうぴィーwwwwwwwwwwwwwwwwwwww
ECMAScript3をE3と略したり、querySelectorをqueryと略したり、無駄にスレが長くなるねえ。 querySelectorがECMAScript3に何ら結びつかない所から見てqueryはjQueryの気がしないでもないが。
jQueryだろうな
なぜjQueryがでてくる?もうどうでもいいけど
E3準拠じゃないquerySelectorは使っちゃダメってことじゃないの?
な q あ | i'⌒! っ u た | f゙'ー'l た e .し l lト l! よ r ./ .7 ├ y / l ト、 __に / r''f! l! ヽ \{ イ,: l! , ,j! , ト、 ,/ :',ォ ≠ミ ':. l ヽ. . ,ll 〃 yr=ミ:、. ゙': ゙i ll iイ {_ヒri}゙ '゙ ! ヽ.  ̄´ リ ヽ {ニニニイ / i! ∨ ,_, / ,. '"´:.:.:l! ゙こ三/ イ.、 /:.:.:.`ヽ:.:.:.:ゝ、 }:.\ /:.:.:.:.:.:.:.:.:.:i:.:.:.:.:.:.:`:.:ー ---‐':.:.:.:.:ヽ . /:.:.:.:.:.:.:.:.:.: :|:.!:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:{: :.:.:. /:.:.:.:.:.:.:.:.:.:.:.:.j/:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:}:.:.:.:i
本当にES3しか認めないのならXHRもDOMもHTML5(レガシーDOM)も使用できないが、どう考えても現実的じゃない
NFはNoFuture E3はEval.Eval.Eval queryはjQuery の略だと思う つまり1にeval、2にeval、34がevalやjQueryの奴らは 未来が無いってことだろうな
NFはNoFuture E3はEval.Eval.Eval queryはjQuery の略だと思う つまり1にeval、2にeval、34がevalやjQueryの奴らは 未来が無いってことだろうな
>>69 お前アホ邪念wwwwwwwwwwwwwwwwwwww
ド素人ですんません プルアップメニューなんだけど、スマホから閲覧すると初回タップ時だけhove(文字色のハイライトなど)がうまく機能しません。 別の場所をタップしたり、閉じたり開いたりすると機能するようになります。 どうにか初回からばっちりhoverを機能させる方法はないでしょうか? Firefox3.6では正常な動作でした。 $(function(){ $("ul.sub_list").hide(); $("ul#ul_menu>li").hover(function(){ $("ul:not(:animated)",this).slideDown() }, function(){ $("ul",this).slideUp(); }) $(".close").click(function(){ $("ul.sub_list").slideUp(); }); })
>57がオレオレ用語を使わなければこうなることは回避できただろうに
???「任天堂はこのままでは没落してしまう」 \ | | | / / \ l ! .l / / \/\ 女壬_女辰\/ / ヽγ\/ノ ( \ //ヽ/ _ / / ⌒r ⌒ヽ__r ⌒ヽ ) ─ ─ミ/ ̄ ̄ヽ゜_ノ ヽ゜_ノ ̄ヽ ─ ─ i~` (.o o,) | ─_ GK乙! 0 ・ i∠ニゝ i ・ | _ 没落するのはクソニーの方だというのに! /| ・ ・ |〈ニニ〈 | ・ ・ | ─ × ノ `ー ' ヽ /\ \ / /ヽ_i ── _ ノヽ \ / | i l | ヽ ヽ \ / 人 ヽ | ノ( / \ l | ⌒∠二iノ ハ i二ゝ、 l /::::::::::::::::: | ノ─( =・= )-( =・= )-l ノ \\\ /:::::::::::::::::::::::::::::: l (ヽイ  ̄ つ  ̄ `l_,/ \\\||::::::::::::::::|_|_|_ ヽ(__i ,=三=、 |_) _ \\ \;;;;;;;;;;ノ \,, ,, l (〆, ─ 、ゝ)// \ \\\( 6 *)─ ゝ、 ____ノ /__ \ 彡\ノ\ )))∴( o o) / \ ___ノ \ \ |\ )))∵ 3 / _ / ヽ;;\ ヽ (___) / ドゴォ! ゝ〉 〉 〉ノ_\__ ∵::__ ``t675k``
「AA禁止」「www禁止」をテンプレに加えることを提案する。
『www』を禁止したらリンクの半分くらいが無効になるがそれでもいいのか?
>>80 細かいが、www(全角)ならリンクの半分は無効にならないんじゃないか?
NGしとけやwww
何スレか前から AA 貼る馬鹿が沸いてきたよな。
行末のwwwにしておけば、URIは除外できるかと。
却下。 次の質問どうぞ
掛け布団がどうしてもカバーの中で丸くなってしまいます。 足が冷えて寒いのですが、何か良い方法はないでしょうか?
布団と布団カバーにはコーナーに紐と輪がついていて結びとめれるようになっているものです。確認してみましょう
長い靴下を二重三重に穿け
え!?靴下はいて寝るの???
二―ハイソックスおすすめ
靴下も履かずに足が寒いとか笑えるわ 寒けりゃ着る暑いけりゃ脱ぐは基本原則だろ
なんかESのα版見てみたら<|演算子とか沢山ヘンテコな細かい仕様が出てきてたんだけど MathとかRegExpを拡張する案は控えめだった おかしくね? 本当にオールマイティ言語目指すならオブジェクトとかの前に まず数や文字列の扱いを強化して欲しいんだけど
数値や日付、ロケールについては、Microsoft が提案してただろ。
靴下履いて寝るくらいなら寝袋の方がまし><
>>93 ライブラリレベルでどうとでもなることは後回しっつうか、むしろ最低限の方が自由度あっていいだろ
V8をコマンドラインから実行する方法を教えてください Windows
98 :
46 :2012/03/04(日) 21:05:09.56 ID:???
すみません、つまりどうやればいいんでしょうか・・・?
>>96 アホか
継承やオブジェクト操作こそ既に山ほど方法あるしどうにでもなるわ
文字列処理や特に数値処理は速度が命だからライブラリじゃこれっぽっちも意味ねえんだよ
>>94 MSが提唱してるのはもはや当たり前過ぎる最低限のレベル
それすらも実装が進まない現状どうなのよ
結局まだMSが一人で言ってる状態だよ
MSがIEにでも先行実装すればまだ早く広まるだろうに
そういう方向性には行かないと思う。そういうことがしたいなら別の言語使えばいい
いや、ウェブページの縁の下の力持ちを越えて活躍して来ると 必ず必要になるからいずれはなる MSはたぶんWin8絡みでそういう意味もあってESに取り入れるのを推してるんだろ だからブラウザにはすぐにはわざわざ組み込まないと とにかく文字列操作はまだいい、ES6で需要に応えるレベルまではいきそう 早く数値関係を何とかしてほしいわ! <|とかそのあとでいいやん!まあClass系もES6くらいでさっさと入れた方がいいけどさ
( ◞≼◎≽◟◞౪◟◞≼◎≽◟) <そういう方向性には行かないと思う。
C/C++、Java、EcmaScript(JavaScript) 用途にあわせて使い分ければいいと思うんだがなあ
Java はいらない子。
使い分ければいいというが、これからいろんなものにブラウザが搭載され、現実的に選択肢がECMASCRIPTしかない件。 俺的に128bit浮動少数とか整数とか今の時代ではあっていいと思う。 インタプリタ言語の頂点としてもう少し力を付けて欲しい。
>>106 確かに整数はあっていいと思うな
bigintとか面倒くさすぎる
ちょいと質問させてください 変数の型をobjectからblobにキャストするにはどうすればいいですか?
内部形式的意味のちゃんとしたキャストはできねえよ 低級言語じゃないんだからさ JSON化でもしてやれ
ガーン ありがとう だからjavascriptは嫌いだーーーーー
嫌いならもうくんなよ
内部形式毎弄れたらC+を無保護のまま動かせる事になって危険窮まりない
>106 自分はミリ秒よりももうちょい細かい時間が取得したいんだが こういった需要少ないかな
>>114 その速度にブラウザが追いつけるならあってもいいね
追い付いてると思うけど 昔はミリで十二分だったろうけどな
720000_秒
>>113 「回覧サイト」って何だ? 閲覧の事?
それと、履歴でも盗“聴”なのか?
細k(ry
細川
HTMLのscriptってhead内に書くのが一般的だけどさ DOM読み込みしてからの操作が多いから結局、DOMContentLoadedとかダラダラ書くじゃん。 defer属性あるけど、ブラウザの対応しだいだし。 だったら、body内に書いたほうがいいと思ったりするんだが…
で?
>122 いや、みんなどうしてるのかなぁと思って書いただけ。
DOMContentLoadedの方がよっぽど対応環境少ないという突っ込みはおいといて 基本onloadでしょ それに正直別にどこに書いてもいいと思うけど そもそもheadとかbodyとか自体基本いらないし
128 :
Name_Not_Found :2012/03/06(火) 16:55:36.62 ID:DQT6xhPU
>>126 mozとwebkitはdivにaddEventListenerで問題なかった
IEがだめなの?
129 :
128 :2012/03/06(火) 16:57:38.67 ID:DQT6xhPU
面倒くさがらずにやってみた var box = document.getElementById("box"); if(box.addEventListener) box.addEventListener("scroll",function(){ console.log("scroll!!"); },false); else box.attachEvent("onscroll",function(){ alert("scroll!!"); }); これで普通に動いたよ
>169 :Name_Not_Found :2011/12/17(土) 15:13:29.72 ID:yc85Pnxp ><div style="position: relative; overflow: scroll"> ><p>hello world</p> ><p>hello world</p> ><p>hello world</p> >… ></div> > >このようなdiv要素の中でスクロールが発生したときに、そのイベントを取得したいです。 >組み込みのscrollイベントはdocument要素にしか適用されてないので… >自分でdivの中のスクロール位置を監視して、カスタムイベントを発火させる以外に方法はあるでしょうか? これか
131 :
Name_Not_Found :2012/03/06(火) 20:11:22.22 ID:VUZS9y4L
>>123 別にbodyの下の方に書いてもいいだぞ
133 :
Name_Not_Found :2012/03/06(火) 23:58:24.96 ID:0GYuPXQK
関数内のスコープでのみ好き勝手prototype汚染して抜けたら元に戻す、みたいな事がしたいんだけど、良い方法あるかな?
具体的に
>>133 createHTMLDocumentの中で実行するとか
以下の条件を満たす難読化ツールを探しています。教えてください。 ・コメント、スペース除去 ・変数名、関数名変更 ・複数ファイル間の連携を壊さない ・evalなど未使用で実行速度は落とさない ・Webサーバーからの呼び出しで動作する、もしくはPHPで書かれたシステムに組み込める
Closure Compilerでいいじゃね
難読化とか圧縮とかもういっぱいあるだろ 検索して好きなの選べよ
1個ずつ圧縮するのはいろいろあるけど、複数ファイルを連携壊さずリネームとかするのが見つかりません 探し方が悪いのか、もしくはわかりにくいけどできるのか
>>140 名前が変わるとマズいからね。
1本にマージして難読化して再分割とか。
なるほど、確かにそれでいけるかも ちなみに、Closure Compiler試してみたけどjQuery使ってるとうまくいかない等難しいな (出力が空っぽになったり、逆にjQuery全部取り込んだ巨大な出力が出てきたり) ちょっといじってみます
>>133 おおー、これはよさそう!
と思ったが、client <=> workerでfunctionやらwindowやらのやりとりが出来なかっ>たので、あまり使いものにはならなそうな感触だった。
>>134 使用例としては
safeScope(function() { ... }) みたいなのが欲しくて、この無名関数の中でString.prototype.fooみたいなのが生やされていても、ここを抜けたら消えていて欲しい。
やりたい理由としては、メソッドチェーンの書き心地や読みやすさが好きなので使い
たい一方、組み込みのものにprototype汚染をするリスクも承知しているので、そこ>の落し所としてこういったものが欲しかった。
>>136 まだこれちょっと試せてないんだけど、WebWorkerの問題がクリアできてるといいなー。
こんど時間出来たら試して、また報告にくるね。
ChromeExtensionの質問はここでよろしいでしょうか?
FirefoxならXULスレがム板にあるんだが、それのChrome版は無いのな
147 :
Name_Not_Found :2012/03/10(土) 12:47:01.01 ID:/PrPzsGO
文字列をコンマで区切るにはどうすればいいですか? そのとき \ を直前に置くことでエスケープ出来るようにしたいです。
>>147 アバウトすぎんだろ、一文字一文字区切るっつーことか?
>>149 文字列って言ってんだろ、すっとこどっこい
その手の処理はよくあるけど、 後読みが使えないから面倒くさいんだよね。地道にやるしかないと思うよ?
>>147 var str="文字列";
str.replace(",","\,");
str.split(",");
こんな感じじゃないかな。
配列をさらに戻したければjoin使うヨロシ
それはコンマで区切られてること前提じゃないか
_, ,_ パーン
( ‘д‘)
⊂彡☆))Д´)
>>153
はい use strict; use utf8; use Encode; use 5.010; my $str = "文字列"; say encode 'utf8',join'\\,',split'',$str;
<?php echo str_getcsv("文字列");
>>147 「カンマで区切られた文字列に対してカンマ間の文字列を要素とした配列に変換したい」でいいのですか?
言葉通りに読むと「ある文字列をカンマで区切りたい」と読めるのですが、アルゴリズムが示されていないので答えられません。
'hoge'.split('').join(','); // h,o,g,e
'a,b,c' => ['a','b','c'] 'a\\,b,c' => ['a,b','c'] こうじゃね?もうちょい説明してくれよ。
説明不足なのにも関わらず回答しようとしてるアホどもが悪い
こういう事だろ {ARRAY{STRING{a,b}}&{STRING{c}}} /<-/ {STRING{a\,b,c}}
説明不足だったことに>147も気がついてなかったのだろう
いやいや、ここの質問はほぼ全部説明不足じゃん きちんとどういう環境で動かしたいかまで書けよ
これが
>>147 を最後に見た瞬間だとはその時の俺たちには知る由もなかった…
とかいわれない内に>147は説明してくれ
どういう環境かと言うと・・・ 父、母、姉、僕の4人暮らしです。 姉と僕とは、歳が10歳も離れています。 幼馴染の友達(男)が一人いますが、 最近、そいつが僕と同じ人が好きだという事を知り心揺れてます。 そんな環境で、文字列をコンマで区切りたいです。
>>167 君に必要なのは身近な相談相手だからお家に帰りなさい
>>167 彼女いない歴 = 年齢です。
最近頭髪も薄くなってきており、現在無職です。
お姉さんを僕にください。
|┃三 /::::::::ハ、\、::::::::\\::::::::::::', |┃ i:::::::イ `> ー─--ミ::::::::::::| |┃ {::::::::| ::\:::/:::: \:::リ-} ガラッ. |┃ ',::r、:| <●> <●> !> イ |┃ ノ// |:、`{ `> .:: 、 __ノ |┃三 |::∧ヘ /、__r)\ |:::::| |┃ |::::::`~', 〈 ,_ィェァ 〉 l::::::》 |┃ |:::::::::::::'、 `=='´ ,,イ::ノノ从 |┃三 ノ从、:::::::::`i、,, ... ..,,/ |::::://:从
ばっかだなぁ早まりすぎ もっとお姉ちゃんの環境も聞かないと。 お姉ちゃんの環境によって、 大きくパターンA、パターンB、パターンCと考えられる もう少し詳しく教えてもらえれるなら・・・ どのパターンでコンマで区切るか伝授できない事もない
CookieやWebStorage等で排他処理をするにはどうしたらいいでしょうか? 今現在別のタブで同じドメインのサイトが開かれているか取得する方法があればいいのですが
SharedWorker
排泄処理に見えた
高齢化が進んじゃってる・・・
排他処理を知らないのか
飲み過ぎた時とかによくするよ。 排他処理
SharedWorkerからWebStorageを使うのが良さそうですが 環境が限らはらてきますよね…
私の中のあなたほど あなたの中の私の存在は まだまだ 大きくないことも わかってるけれど 今この同じ 瞬間 共有してる 実感 ちりもつもればやまとなでしこ! 略して?ちりつもやまとなでこ! くらくらり くらくらる あなたを見上げたら それだけで まぶしすぎて くらくらる くらくらり あなたを想っている それだけで とけてしまう 神様 ありがとう 運命のいたずらでも めぐり逢えたことが しあわせなの
確かに限らはられてきらますな
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| ちょ、ちょーとまって!!!今
>>183 が何か良い事言ったから静かにして!!
, ,-;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:,. ヽ─y────────────── ,-v-、
/;:;:;:;:;:;:ミミ;:;:;:;:;:;:;:;:;:;`、 / _ノ_ノ:^)
/;:;:;:;:彡―ー-、_;:;:;:;:;:;:;:;| / _ノ_ノ_ノ /)
|;:;:;:ノ、 `、;;:;:;:;:;:i / ノ ノノ//
|;:/_ヽ ,,,,,,,,,, |;:;:;:;:;:;! ____/ ______ ノ
| ' ゚ ''/ ┌。-、 |;:;:;:;:/ _.. r(" `ー" 、 ノ
|` ノ( ヽ ソ |ノ|/ _. -‐ '"´ l l-、 ゙ ノ
_,-ー| /_` ”' \ ノ __ . -‐ ' "´ l ヽ`ー''"ー'"
| : | )ヾ三ニヽ /ヽ ' "´/`゙ ーァ' "´ ‐'"´ ヽ、`ー /ノ
ヽ `、___,.-ー' | / / __.. -'-'"
| | \ / | l / . -‐ '"´
\ |___>< / ヽ
「西暦を使うなら日曜始まりが正しい」と書いている人がいますが、それは誤りです。 もともとの曜日の起源から考えると、実は土曜日が週の最初の曜日と考えられます。(地球から最も遠い) また、国際標準では、ISO 8601で月曜が週の始まりとされています。 ただし、私は日曜始まりを否定しているわけではありません。 多くの国でカレンダーは日曜始まりです。 ただ、だから日曜始まり以外は邪道だみたいな言い方は良くないと思いますね。 フランスなんかでは月曜始まりなんですよ。 起源やそれぞれの国の慣習、宗教などに影響を受けて今の形があるのですから、 それを頭ごなしに否定するのは自分の勉強不足を晒すようなものです。
MH
187 :
Name_Not_Found :2012/03/10(土) 18:19:10.94 ID:ugQNgp5V
で、私はカレンダーはインテリアとして置いているのでたまたま日曜始まりのものなだけ。 スケジュールが月曜始まりなのは、学生の頃からの癖です。 仕事も主に土日が休みですし。
俺はDate.getMonth()が0-11なのがきにくわん 英語圏基準で考えんなっつーの
皆さんの環境では1+2と1&2どちらが速いですか?
>>189 だよな。
Dato オブジェクトの akiriMonato() にするべき。
>>192 は?
1-12にするのが世界基準でいいに決まってんだろ
いちいちMonthだけ+1するの気持ちわりぃんだよ
Date#getMonth が 0-11 は機械基準で 1-12 が人間基準だと思ってる
なでしこでも使ってろよ。
どちらかといえば Date.getMonth と書いてあるのが気持ち悪い。 Date.getMonth は undefined に決まってるだろう…。
月表示のI18Nをし易くするのは0-11でしょ。
干支も導入するべき。
monthは0-11だけどdayは1-31だよね…まあdayは終わりが28〜31までぶれるからな
0-6 じゃないか。
何で「0」が日曜なんだかな。
>>185 に従うなら世界標準は月曜だろう。
ヤードだのjanuaryだの原始的やな
なんで月が0-11か 英語圏は月にそれぞれ名前があるからな ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] これで理解できるだろ
いや、そんなこと皆承知の上だが?
>>204 ブログなんか見ててもほとんど名前で表記してるでしょ。
206 :
147 :2012/03/11(日) 00:29:41.94 ID:et0RyIjF
すいません。やりたいことは
>>160 ですけど、方法分かりませんか?
昔頑張って六曜を作ったのはイイ思い出
209 :
147 :2012/03/11(日) 01:06:58.04 ID:et0RyIjF
曜日はまあいいとして、 年月日時分秒で月だけズレてるのはおかしい 文字に変えたいときにちょっと手間かけて-1するべきだと思うが
最初って配列が0番目、1番目、2番目ってなってるのに 数えると3個になってたりしたからちょっとイライラして髪の毛むしったりしたよね
>>204 生真面目な小父さんなんだから
そっとしといてあげて
>>209 作ってから気がつきましたが、その仕様ではデータの最後に "\" を置くことが出来ません。
['a\', 'b'] は仕様上の制限で作れないということです。
仕様を見直すべきだと思います。
\をエスケープ文字とするんだから、\\\\で置けるようにするのが正しい実装じゃないかな。
ああ、\\ね。入力感覚で間違えてしまった。
>>214-215 そうですね。ECMAScript 3 における文字列リテラルの仕様(\ に後続する全ての1文字をエスケープする仕様)が真っ先に思いつきました。
string.replace(/\\[\s\S]/g, callbackfn); で実装可能だと思います。
んだよ、また明日ので取り消します。では普通のためは、また明日ので取り消します。では
CSV使うようにすればええんとちゃうんか
>>219 誰もがそう思っているが、>147が採用しなければ元も子もない現実。
221 :
Name_Not_Found :2012/03/12(月) 07:37:28.61 ID:5gvfCoVf
"test".length; これみたいに変数の後にカンマメソッド名?みたいにして利用できるコードの書き方を教えてください 例えば var a = "test"; a.echo; で alert("test")と同等なことがやりたいです
>>222 Stringを拡張すれば良いけど
それやると怒る人もいる
String.prototype.echo = function() { alert(this) }; 'aaa'.echo();
JavaScriptのスコープはグローバルとfunctionのローカルの二種類しかないのだと思うのですが、 これはグローバル自体を一つのまとまりと見ると実質一種類と見なせないでしょうか。 それとも実際にはそんな事はなくて 明確にグローバルとローカルは完全に別のスコープの枠の取り方と、 そう見たほうがいいのでしょうか。
>>222 のコードを再現するなら、こうかな。
String.prototype.__defineGetter__('echo', function () { alert(this); });
'テスト'.echo;
>>225 どんな言語でもスコープは場所と浅いか深いかの度合いが違うだけでタイプなんてない
>>225 スコープはグローバルとfunctionローカルしかない。それだけ。
>>228 頼むから無知はでしゃばって質問者に間違った知識を与えないでくれるかな?
letを入れたらあと3つか
文句は言うけど訂正なんてできませーんw
ザ・2チャンネラー
訂正したら本人のためにならない
お前ら本当に愛がたりねぇな
ちなみにStringの拡張じゃなくてオリジナルのオブジェクトを作って、そこに追加で書くのはダメなんですか?
(function (i){ i=-1 try{throw 0}catch(i){ for(i=0;i<100;i++){} } alert(i) i=-1 with({i:0}){ for(i=0;i<100;i++){} } alert(i) })()
>>238 "abcd".echo
^ここでプリミティブからStringオブジェクトに変換されるから無理
>>229-230 スコープはグローバルと関数の2つだよ。新しい規格には let があるけどね。
>241-242 with文とtry-catch文はスコープを作るんじゃないの?
スコープというかスコープチェーンに影響を与える感じだな。 スコープは元から言われているようにグローバルとローカルしかない。
変数の頭を見えないオブジェクトに固定するのが、その範囲のスコープだと考えたらわかりやすい これはスコープ「ブロック」 function (){var hoge; hoge; ⇒ [[FunctionVars1]].hoge; これもスコープ「ブロック」 with({hoge:undefined}){ hoge; ⇒ [[{hoge:undefined}]].hoge; これはスコープ状だがスコープとは普通言わない {hoge:undefined}.hoge;
>246 letもそうなの?
クロージャーとかラムダ関数みたいに言語によって細かい部分が多少違っても、 働きがだいたい同じならスコープって呼んでいいんじゃないか。 働きが同じでも変数宣言が必須な言語かどうかで意味合いが大きく変わるし。
負け惜しみ乙乙^^
質問者だけスコープの外に取り残されてます……
with ブロックをスコープなんて絶対言わんわ。
君が言わないのは構わないがあるもんは認めような
>>252 スコープの意味が分かっていないか、with の動作を理解してないだろ。
んじゃ説明して貰おうじゃないの(笑)
with がブロックスコープとか、どこのアホだよwww
258 :
↑ :2012/03/12(月) 19:54:23.85 ID:???
βακα..._φ(´ι _` )
>>256 こういう奴って、with が何故速度低下に繋がるかも理解してないんだろうな
んじゃ説明して貰おうじゃないの(笑)
◯ 説明して下さい
プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。 ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。 このときこれらの変数はスコープ外である、「見えない」といわれる。 大域スコープ (global scope) プログラムの「全体」から見えるスコープのこと。 局所スコープ (local scope) ある関数やブロックの範囲内に限定されたスコープのこと。 何を持って範囲を与えるかは言語により様々だが、一般に入れ子のローカルスコープは外側を参照できるのが普通である。 このとき兄弟関係にあるスコープは見えない。
いや、まず、自分で調べてから、どこが分からなかったか詳細に説明するべき。
プログラミングでのスコープとは、ある変数や関数が特定の名前で参照される範囲のこと。 ある範囲の外に置いた変数等は、通常、その名前だけでは参照できない。 このときこれらの変数はスコープ外である、「見えない」といわれる。 大域スコープ (global scope) プログラムの「全体」から見えるスコープのこと。 局所スコープ (local scope) ある関数やブロックの範囲内に限定されたスコープのこと。 何を持って範囲を与えるかは言語により様々だが、一般に入れ子のローカルスコープは外側を参照できるのが普通である。 このとき兄弟関係にあるスコープは見えない。 名前空間 (namespace) 厳密にいえば名前空間自体はスコープではないが、スコープを導入する機構である。 名前空間はある名前の集合を定義したもので、任意のタイミングで名前空間を導入し、定義された名前を参照可能にすることができる。 名前空間では持続範囲を指定できるため、外部で必要のない名前の拡散を避けることもできる。 名前空間自体も一種のスコープを持ち、名前空間の名前によって参照される。 この視点では、上記のファイルスコープやローカルスコープも暗黙の名前空間でスコープを構成していると考えられる。 ただし無名であり、外部に導入できない名前空間である withブロックはスコープで間違いないと思う。 ただし分類としてはローカルスコープか名前空間になるのかな。
馬鹿に反応するスレチの奴らもいい加減馬鹿やってるって気付け。 荒れるから他の回答者にレス付けんなって言ってるだろ。 今まで何十回とこうやって荒れてきて質問者おいてきぼりくらって まだやるって事は相当な馬鹿か荒らしでしかない。
>>266 こういうレスが元になって、質問者が置いてきぼりどころか、
フッとんだことがあったなw
賢い人はフレームワークに絡めて別スレでうまくやってるよ 何にでも口を挟みたがる人はフレームワークがわからないみたいでここに居座ってるから
( ゚д゚) ・・・・・・ _(__つ/ ̄ ̄ ̄/_ \/ / ( ゚д゚ )何質問しようとしたかフッとんだ _(__つ/ ̄ ̄ ̄/_ \/ /
※春休み明けまでお待ちください。
>>229 みたいな言葉遣いするから恥をかくんでしょ。
むしろここが議論雑談スレとしてうまく機能してるからこれでいいよ 回答しない回答者同士のしゃべり場
ここは一応質問スレだからな。
質問がある→答える
これだけ。口論は
>>274 で。
具体的なWeb制作に絡まない質問が住人同士の議論に発展する ということをわかった上でそういう質問を投下してるわけだからこれからも繰り返されるよ サイト上での具体的な動作・機能の実現方法に関わる質問に限定しない限り
そうじゃないだろ。雑談したがりが溜まってるからそうなる。雑談・煽り合いは
>>274 で。
テンプレ議論よりましだな。 あれこそ、何の進展もない真の雑談。
(アードッコイ) (アーヨイショ) 見渡せば一面 ハッピーの世界に 一歩だけ踏み出して 何時までもとまらない この胸のトキメキで 一緒に踊ろう 君の背中であの日見つけた 月は 今日も ミラーボールみたいに夜空で キラリ チラリ 輝いてる 変わってくもの 変わらないもの 飽きっぽい私が 初めて知った この永遠を 君に誓うよ プラ チナ 嬉しいのに プラ チナ 切なくなって プラ チナ 涙が出ちゃうのは なんで どうして ディスコティック
数年ぶりにやってきたけどすごくスレのレベル下がってるのな 何があったんだ
質問の流れに沿うなら多少の雑談はいいが、煽りは不要
多少の雑談はいいとか言うから荒れる 完全禁止にすべき
>281 こういうのが一番うざい
プッ
レベルの高い人が特に質問するでもなく質問スレを数年ぶりに覗きに来て さらに「数年ぶりに来てみたらすごくレベルが下がってるよ!下がってるよー!」なんてレスをしたくなる心境にさせる このスレはそんな魅力的なスレ
JSが多く使われるようになって 質の悪い知ったつもりになってる回答者が増えただけだな ここ1年で特に酷くなった
ここに書かれるまともな質問はそんな高いレベル要求するものじゃないから別にいいんじゃない? たまにふざけてるのか勘違いしてるのかくだらない質問がきて荒れるだけ そういうのは結果他の質問者の迷惑になるから知恵袋でやって欲しい
289 :
Name_Not_Found :2012/03/13(火) 11:14:41.31 ID:H5LMZ+O5
>>287 そういう感想はここ1年に限らず
古くはJS-MLなんかでも、見たり思ったりして
後になって思い返すと恥ずかしくなったりするから大丈夫
どっちかというと自分がその間に勉強したりしてレベルが上がってるから そう思うんじゃないの。過去スレ全集見れば分かるんだから、そういうこと 言うのなら「何番のスレの何番付近はこんなちゃんとしたことをやっている」 とか書いて欲しい。そしたらこちらも「でもその当時だってこんなひどい 質問や解答があったでしょ」とか言えるから。何も調べず自分の印象だけ 言いっぱなしとか腹立つね。
292 :
Name_Not_Found :2012/03/13(火) 16:12:53.95 ID:SU5kmNxT
まじめか!
そもそも
>>229 の中途半端なツッコミが荒れる原因だな。
>>225 に対してevalもスコープを作るよとか言う必要ないだろ。
まあ、
>>229 が何を思ってたのか結局わからんがな。
煽ってるだけのレスに反応する必要があるんかい
evalなんてどこにも出てない、と言うか皆過去を学んであえて避けてたのにここで話題に出すクズ
素直に過ちを認めなよ。 大人になれないゾ。
┏┳┳┓ ハイ. ┏┳┳┓ ┏┫┃┃┃ 雑談は ┃┃┃┣┓ ┃┃┃┃┣┓ ここまで ┏┫┃┃┃┃ ┃ ┃┃┏━━━┓┃┃ ┃ ┃ 雑談 ┣┫ . ・∀・ ┣┫. STOP!┃ ┗━━━━┛┗┳━┳┛┗━━━━┛ ┏┻┓┃ ┏━┛ ┣┻┓ ┗━━━┫ ┗━┓ . ┗━━━┛
クライアント側のみで動くJavaScript(HTML+CSSも含め)の 素晴らしい作品集みたいなサイトがあれば教えてください クライアントサイドのみでどこまでできるのかを知りたいです
HTML5 〇〇 とかで検索しろ 情報知りたきゃ対価を払え!
302 :
Name_Not_Found :2012/03/13(火) 19:22:44.05 ID:SU5kmNxT
>>299 JavaScriptマリオでどうだ、Canvasのじゃなくて
すげーなと思ったよ、当時
JSによるPCのエミュレートも凄いな
ファミコンやスーファミってJavascriptでも出来ちゃうようなレベルのコンピュータだったのか
jsでlinux動くんだしGBAぐらいまでなら動かせるだろう 3D描画が入ってくるとwebglとか使わないとパフォーマンス的にだめだけど
超情弱乙! SFCやGBAはポリゴンを使わない見せかけの2.5Dと呼ばれるものしか使えないからweb-glの出番はありません!
知ったかぶるのも良くないが 謙遜し過ぎると回答できない 難しい問題だなぁ
Dico "si fa clic su Do!".Sar "on Ti Dick" e. Inoltre, il ragazzo sembra Qual il tuo passato?Piuttosto che domani, piuttosto che anche domani, piuttosto che anche domani, ma di solito bianco e intenti, come spinta, si dir , perch la cura ー impastare In!
>>299 HTML5でツイッターで検索したら、いっぱい引っかかる。
やっぱ英語圏の人の方が、作ったプログラム公開してる人が
日本人より圧倒的に多いし、開発者が解説してたりするし。
英語は勉強しといて、プログラミングの勉強に損はない。
HTML5とかはJavaScriptのすごい作品って言われると違和感ある
HTML5はこんなことができる! って謳い文句でCSS3やJavaScriptの記事を書く そんなお仕事
もうお前らgoogle村の住民になっちまえっつーの
用途が違う
サーバーサイドJSだと同じようなことはできるのか?よう知らんが
こういう元々サーバーサイドの言語は根幹からいろいろ違うからちょっとJSとは比べにくいよ 例えば文字列の操作やマッチングなんかはJSもそこそこ優秀な方だがこれらには遥かに及ばない 今の調子だとES7辺りでやっとこれらを十分置き換えられる言語になりそう
数年前のことは知らんけど、 バッドノウハウ入りまくりのコード書かれてんのにソーシャルでの評価が高い記事を見たり 素のJSもロクに弄れないのに、フロントエンドのプロ顔してるヤツ見かけてイラッと来ることが最近本当に多くなったわ。 というわけで、良かったら、最近「濃いなー」と思ったJSの記事を教えてください><
バッドノウハウ入りまくりの記事を教えてよ。人によって基準は違うし。
ご存じの方がいらっしゃいましたら、どうかご助言お願いいたします。 ◇ やりたいこと スクリプト開始時に、サーバから取得した正確な現在時刻をローカルタイムに反映させる。 以降 new Date した際の getTime() や getSeconds() は、上記で設定した値を取得したい。 ◇ つまっていること サーバから取得した値を、JavaScriptが利用するローカルタイムに反映する方法が分かりません。 Date.prototype.getTime = function(){ … }; のようにひとつずつ設定していくしかないのでしょうか。 あるいは、「JavaScript がネイティブに使用するUNIX時を格納する変数」みたいものが存在し、 それを一個所書き換えてやれば、あとは解決するのでしょうか。 どうがアドバイスのほどよろしくお願いいたします。
324 :
Name_Not_Found :2012/03/14(水) 18:21:01.91 ID:VpfWgWnB
>>323 標準時プロジェクトのAPI使ってやったときは
APIから取得した時刻とnew Date()の時刻を比較して、ローカルの時間が
どれくらいずれているか取得しておき
実際に使うときに、その時差を差し引き
て感じでやった
Date拡張しちゃうなら、例えば
Date.prototype.getTime = function(){
return this.getTime() + 時差;
}
とでもすればいいんじゃないかな
325 :
Name_Not_Found :2012/03/14(水) 18:22:54.76 ID:VpfWgWnB
適当に書いたから、間違ってる
オリジナルのgetTimeを別に保存しておかないといかんですね
>>324 の拡張案は忘れてくださいごめんなさい
>>323 global.serverTime = new Date(serverTime) みたいに定義して、それを使いまわす。
質問内容の方法だと保守が大変だよ。JSというより、設計の問題だけどね。
いい忘れたけど、関数形式で定義しないとダメだよ。
誤差を取得する関数実装してそれ呼べばいいんじゃ
何がしたいのか良くわからんが Dateを補正したいのなら Dateごと上書きすればいいんじゃね?
Date.prototype.__defineGetter__とか使ってバインドすればOK
普通はmy補正Dateとか別に作るべき どうせ.getSeconds()とか使うの決まってるんだろうから大変じゃないだろ
>my補正Date プッ どうせなら 我補正月日 くらいにしろよw
2バイト文字ってどの程度きちんと外国の環境で見れるの? ☆とか記号は結構いけるみたいなのは知ってるけど 多分漢字は中国フォントで表示されるんだよね?
>>333 Unicodeなら、見えないかもしれないけど
他の文字に解釈される可能性はぐんと小さくなる。
フォントは環境依存。
UTF-16ならASCII範囲内でも4バイトだけどなあ というのは置いといて、2バイト文字=日本語圏の文字ならたとえばWinXP英語版には日本語を収録してるフォントが無い ラテン語圏・ヨーロッパ圏の文字なら英語版でも入ってたと思う Win7だと英語版でもほぼ全部カバー、Vistaはしらん
だったらもし変数名に日本語使う場合は \uXXXX\uXXXX=123 みたいにするのが無難かな
それわざわざ使う意味なくね?
エスケープする意味もわからん
単に文字に対応する図形が無いだけなのに
<table id="table1"> <tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr> <tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr> <tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr> </table> というテーブルを配列に行ごとにtrに入れるにはどうやるのでしょうか? 配列にいれてその配列からtdにアクセスしたいのです
rowsとcellsとgetElementByIDでできました
>>339 そういう場合コピペすると空白になる場合があるから
エディターでマクロとか使って変数名エンコードしたのを出力した方がいいんじゃね
変数の値が数字かどうか調べる最善の方法を教えてください isNaNはダメなようです
文字列か数値じゃなくて[0-9]の数字?
どういう判定をしてダメだったのか書けよ
夏休みの作文宿題みたいに 何文字以上何文字未満って制限する必要がありそうだな
javascriptで無駄に00と書いてあるスクリプトを見つけたんですがこの00の部分って何の意味があるんでしょうか? jQuery(document).ready(function(){ for(var n=9; ++n<30;){ load(n); jQuery("#btn" + n + " p").click( 00(function(m){ return function(){ jQuery.post("count/post.php", {"param1":"count" + m + ".txt"}, function(){load(m);}); 00}; 00})(n) 0); } });
テーブルの3番目と1番目のtrをreplaceChildで入れ替えたいのですが出来ません <table id="table1"> <tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr> <tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr> <tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr> </table> var t = getElementById("table1"); t.replaceChild(t[2], t[0]);
俺のケータイはなるな。
特殊文字はHTMLに出力した時点でもうJSの仕様外だから保証されないのは当たり前だろ
改行がtextNodeになってるんじゃね t[2]とかを出力してみろよ
<table> <tbody id="table1"> <tr><td>a1</td><td><b>b1</b></td><td>c1</td></tr> <tr><td>a2</td><td><b>b2</b></td><td>c2</td></tr> <tr><td>a3</td><td><b>b3</b></td><td>c3</td></tr> </tbody> </table> <script> var t = document.getElementById("table1"); t.replaceChild(t[2], t[0]); console.log(t[2]); // undefinedになります console.log(t); // →<tbody id="table1">...<tbody>ってなって、矢印のとこをクリックするとtrが3tu arimasuta </script>
3tu arimasuta は3つありましたのミスです
>>355 replaceChildは考えてるような都合のいいメソッドじゃない。
replaceChildの振る舞い。置き換えるノードと
置き換えられたノードがDOMツリー的にどうなるのか。
ここを理解すればどうにかできるはずだけど、それでも分からなければもっかいおいで。
そんな回答は何も知らない素人でもできるわ
>>347 意味ないと思うよ。気になるからそのスクリプトの場所教えてくれない?
>>358 >>357 で終わりなら、その通りかも知れないけど
終わりじゃないですよ的な意思表示はしてあるし
まぁ、なまあたたかく見守ってよ。
わかったよ すまない
363 :
Name_Not_Found :2012/03/15(木) 13:14:10.58 ID:oklBpMsq
>>347 俺がエスパーで回答すると、
@エンコード間違ってる。
A改行コードがcrlfが間違ってるか。
BHTML特殊文字。
Cプログラム自動出力時のエスケープ。
D俺の知らない実行環境では正常に動く。
Eモニタに0のいたずら書きがしてある。
F疲れ目。
G次期 ECMAScript/Zero の原案ソース。
H修正途中のコード
のいずれかだな。
俺はCと見た。
>>362 エディタで開いたら、その箇所は単に全角空白だったぞ
まさかjavascriptで釘宮病治療センターのURL見るとは思わなかったw まぁ今シャナとルイズやってるからどこに張られててもおかしくない状況だが
368 :
Name_Not_Found :2012/03/15(木) 13:27:55.01 ID:oklBpMsq
>>362 ちなみにどういう環境で確認した場合、0が入ってたと思ったん?
今すぐ、フォントを変えるかメガネを買うことをお勧めするよ。
まさかIがあるとは思わなかった。。。
textareaがページ内に10個あるとします このとき特定のtextareaにカーソルがあるとします そして、カーソルが外れます このとき、外れた時のtextareaを取得する方法を教えてください
370 :
Name_Not_Found :2012/03/15(木) 13:55:59.81 ID:oklBpMsq
onblur
この前言われてたから、順番以外でRegExpの速さ変わらないのか試してみたが マジで変わってなくてワロタw 今まで最速の為ならコードは長くなっても構わないってのが俺の信条だったのに無駄だったでゴザルw
>>357 ごちゃごちゃしてコードが汚くなってしまいましたが出来ました
>>373 RegExpだろうがmarch(正規表現)だろうがキャッシュで
最初にやったのが遅くて二回目以降の処理は早くなるらしい
ブラウザによっては逆の場合(1回目が早くてそれ以降は遅い)もあるらしいけど
3月かあ
タイプミスの多い同僚のおかげで毎日デバグ残業
つ乳力捕姦
えっち
今年も「あー、そこの正規表現はこうだねっ♪」って新入社員に教える時期が来るのか
<div onclick="a(this)">test</div> こういう風にしたときに function a(){ alert(self); } でtestって文字列でアラート出したいのですが取れません
innerHTML
流石にこれは不勉強過ぎ、というかやる気がない どこで覚えた知識使ってthis書いたの? ヤケクソにしか見えないんだけど
>>383 <div onclick="a(this.innerHTML)">test</div>
function a(s){
alert(s);
}
できました
>>384 回答者>>>質問者>>>>越えられない壁>>>野次馬
んまープロパティとメソッドについて勉強するべきだな
textContentはFirefox限定
こんな入門サンプルレベルのこと質問してたらいつまでたってもJavaScriptできるようにならないぞ 理解できない理屈もきちんと分かってないのに回答だけ知ってできた気になるのはまずい
「何で調べればいいのか」を教えてあげるべきだねこういうのは オブジェクトにはプロパティがあってー
いいんだよ別に。俺らは親でも教師でもなんでもねーんだから。 似たようなレベルの質問を乱発されても困るけどな。
回答者にも責任はある。 それにこれを見て勘違いする質問者が出るかもしれないからきつくお灸を据えとかないとな。
そいやーさ、俺がjavascriptはじめた時の入門書には onclick="a()"のカッコ()内でスクリプト書かせるような事は書いてなかったんだが最近そういうのがデフォなのか?
何かただ邪魔したいだけの池沼が荒らしてるな
()の中が無くても常に[""]が付いてるのなら見たことある
質問スレッドで偉そうな奴って定期的に現れるよね 質問するんでも無く回答するんでもなく、無意味なレスをするタイプ リアルであまり人に相手にされてなくてネットで威張りたいだけかね いじめられてるのは同情するがそれをネットに持ち込んで他人に迷惑は掛けるな
初心者板で誘導してるからしょうがない。初心者嫌な奴は黙って見てればいい
別に半年ROMれとか死ねとか言ってる訳じゃないしよくね? ○○勉強してから来いとか指摘してくれてる分ツンデレみたいなもんと認識してるんだが
視野が狭い人ほど偉そうな言動するんだよ。
jqueryでハッシュからボタンを複数個作成して、それぞれのclickに機能を割り当てて、 押されたボタンに対応した動作をさせたいのですが、どのボタンが押されたかはどうやって取得すればいいのでしょうか? グリモン使ってるので、onclickでは難しそうです。 //コードコピペできない環境なので一部省略。 for(var key in hash){ //ボタン作成。idを"btn_"+keyに $("#btn_"+key).click(function{ //ここでkeyを使った処理がしたい。 }); }
id取得してそっからbtn_の部分削ればいいんじゃねー?
clickのfunction内でidを取得する方法を教えてください keyはnameにでもセットしておきます
jQuery使ってんなら$(this)で自分のイロイロ取得 そんでそっからはattrというのを調べてきなさい
できました。 ありがとうございます。
407 :
Name_Not_Found :2012/03/16(金) 21:14:07.44 ID:KiRPuV9p
要素のスクロールを制御するにはどうすればいいでしょうか? たとえば、ページの上側に横長のRSSがあって、その下にコンテンツがあるとしますよね。 そのとき、RSSを下までスクロールすると次はコンテンツがスクロールされるようになりますが、(スクロールの対象が移る) これを防ぎたいと思っています。もしかしたらHTMLの属性の話になるのかもしれません。
keyを使った処理 の部分をforの外に出す工夫をしようぜ。
(null == "\0")がfalseなのは何故ですか? あと\0ってreplaceで削除したほうがいいですか?
>>407 同感で、CSSスレできけばすむ話だと思うよ。
>>409 概念的な話だと、
NULL(エル2つ)は無効なオブジェクト、
NUL(エル1つ)は文字0。
まったく違う物だから、比較するのが間違い。
>>409 "\0"はstring
nullと==で一致するのはnullとundefinedくらいか…?
NaNはなんだっけか
not a number
but it's prototype is the Number.prototype.
oh mistake...
いやいやその解答は違うだろ! 「NaNはなんだっけか」「なんだよ」
インド料理だろ
lol
chromeのコンソールで ある要素に割り当てられたイベントを見る方法を教えてください
デベロッパーツール -> Elements タブ(要素選択) Properties - イベント属性 Event Listeners - DOM Event
selectボックスを使用したフォームについて教えてください。 ・ボックス1[特技] (様々なオプションから特技を選択) ・ボックス2[歌] (特技が選択されたらボックス2では歌・踊り等のオプションを選択可能に。) これを、特技を選択→実行→ボックス2という形ではなく、 同一ページでブラウザを更新しないまま、特技が選択されたら次のボックスでは特技の種類を選択可能に、 と言う風にしたいのですが、どうしたらいいでしょうか? 教えてください、お願いします。
var s1=new re.Abc("boy1"); s1.init(); var s1=new re.Abc("boy2"); s1.init(); var s1=new re.Abc("boy3"); s1.init(); としたら動かないと思ったのですが、何故か3つとも独立して 思い描いたとおりに動いてます。 変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。 (3つとも正常な動きとは、id=boy1、boy2、boy3をクリックしたときに それぞれ独立した挙動をするという意味です。)
426 :
Name_Not_Found :2012/03/18(日) 06:04:30.51 ID:qIY6Mzj5
re = {
427 :
Name_Not_Found :2012/03/18(日) 06:23:58.46 ID:qIY6Mzj5
>>425 質問するのに自分しか知らない情報でしか質問しないのはやめろw
おそらく↓みたいなコードなんだろ?
>function Abc(id){
> this.id = id;
>}
>Abc.prototype = {
> init:function(){
> document.getElementById(this.id).addEventListener('click',callback,false);
> },
> destroy:function(){
> document.getElementById(this.id).removeEventListener('click',callback,false);>
> }
>};
>function callback(){
> alert(this.innerHTML);
>}
>>変数s1は上書きされると思うのですが、何故正常に動くのでしょうか。
jsの変数ってのは型情報を持たないただの参照で、
new re.Abc("boy1")/new re.Abc("boy2")/new re.Abc("boy3")のインスタンスはjsランタイムの中で生きてるから、”正常に動く”ように見える。
変数s1はあくまでインスタンスを操作(initメソッド呼ぶとか)するための参照にすぎない。
↑のコードのdestroyが呼べなくなるが、使い捨てならそれでもいいんじゃね?w
>>425 あんたのそのコード、
new re.Abc("boy1").init();
でも動くんでしょ。つまり変数s1なんてどうでもいいってことだよね。
何故prototypeを一つにまとめてオブジェクト指向に書くのがメモリの効率がいいんですか?
431 :
Name_Not_Found :2012/03/18(日) 13:47:14.86 ID:qIY6Mzj5
function A(){
それぞれのオブジェクトが同じ関数を共有してるのと、 それぞれのオブジェクトが同じ動作をする関数をそれぞれ持ってるのと、の違い 固定電話一個だけ持ってるのが前者で 各自で携帯電話を持ってるのが後者
つまり前者はESαで検討中の非同期構文系を使うと競合して多少パフォーマンス落ちるかもってこと? 一長一短だな
mutexが必要な処理ならそうなるだろうな
435 :
425 :2012/03/18(日) 15:55:35.38 ID:???
ありがとうございました。
>>436 まさにお前みたいな人間の為の問題なんだろう。
勉強になってよかったな。
回答番号3はSameOriginPolicyを無視してるね。 だから「サイト」の定義によるんだけど、あえて選ぶなら2番じゃないかな。
プ
同じ名前でもドメインごとに保存できるけどな ブラウザが暗にドメインごとに分けてるだけなのか?
>>440 同一生成元ポリシーは理解しておいたほうがいい。
1番、3番は100%間違い、2番はサイトの定義による。よって2番でしょうな。 少なくとも答えを3番とする解説は大間違いだし書いた人はこれっぽっちも分かってない。 単にローカルストレージが分かってないレベルじゃなくて、おそらく基本原則の常識が理解できてない。
解説からリンクされてる記事ではちゃんと説明してるのに…どうしてこうなった…
var hage=1,hoge=2,huge=3とあります。 get('hage'); としたときに1が帰ってくるようにしたいのですが、うまくできません。 function get(){ return arguments[0]; }
禿が求められたと聞いて、スカトロ板からスッ飛んできますた。
DOM空間におけるグローバル変数は全てwindowのプロパティとなる つまりwindow['unkotintin']の形でアクセス出来る あとは自分で考えろ
dom関係あんの?
get(hage);
>>447 DOMが根っこに無いJavaScript環境だってあるわけで。
例えば今流行りのnode.jsとかな。
window の代わりに thisつかえばいい。でも場所には注意な。
var obj3=['A', 'K', 'B']; for(var t=0;t<3;t++){ var ss=obj3[t]; alert(ss); } ってした時にjs Lintではエラーにならないのは何故ですか? 実行すると変数ssが3回、宣言されることになり エラーになると思うのですが。
宣言は一回だよ
for() { var a = } これと var a; for() { a = } は、ほぼ等価
おや、48回繰り返したらjslintの様子が・・・?
455 :
Name_Not_Found :2012/03/20(火) 16:37:58.14 ID:jJaWvQWv
ブログパーツを作りたいと思ってます
イメージとしては、別サイトに書いてある自分の読書のリストを
また別のブログやサイトのサイドバーに表示するものです
読書のリストにアクセスするサーバサイドプログラムは用意されてて、
http://example.com/list.php?userID=自分のID です
この時に、ブログ側にはどう記述したらいいでしょうか?
調べたところでは、一つの方法として
<script type="text/javascript" src="
http://example.com/list.php?userID=123 " />
としてlist.php側でtext/javascriptをヘッダにして一覧出力する方法を見つけましたが
それ以外には方法ないでしょうか?
スクリプトを貼る人間(webに詳しくない一般人)の負担にならない程度の難易度で、
もっといいやり方、別の方法があれば教えて欲しいです。よろしくお願いします
(前述のやり方で納得してない理由は、参考にした記事がずいぶん古いので
その後もっと良い方法があったんじゃないかな?という程度です)
456 :
455 :2012/03/20(火) 16:44:36.81 ID:???
すみません、適当書いてました phpで出力するヘッダは header("Content-type: application/x-javascript"); でした
× application/x-javascript ○ application/javascript; charset=UTF-8
iframeにしておいたほうが無難 サイトによってスタイル指定違うしブロックしやすい
plain/textでいいだろ Content-Typeの指定なんてPHP側じゃ不要じゃね?
plain/textってなんだよw
text/plainかプレーンテキストで覚えてるからその順番に書いちまったZE
俺は今日までPerlやPHPはJSONやらXMLでやらでデータだけ吐いて、 表示なんかは全部JavaScriptでするのが美しいと思っていた。 けど、今日その考えを打ち砕かれた。 IEのJavaScriptエンジンの糞さに絶望した
互換性考えたらtext/plainでいいよ これは実質的にオールマイティに使える物だから headerは変わったのを出力しないのが大事
互換性考えたらapplication/ecmascriptだろ
466 :
455 :2012/03/20(火) 20:14:54.79 ID:???
皆さんありがとうございます
またいろんなサイトで調べてたんですが、Content-typeはtext/plainでもapplication/x-javascriptでも
何でも良い(ブラウザはチェックしない)なんて記事を見つけて「?」て気分です
>>457 さんが書いている文字コードはどうすべきでしょうか
指定しなくても大丈夫なんでしょうか
ブラウザは基本はチェックしないよ。 だから一応無難なtext/〜とかにしといたらいい。 文字コードは一言じゃ言えないからバグったらその時また考えなさい。
間違ったタイプ付けるのは無難じゃねぇ どうせ変わらんなら正しいの付けときなはれ
applicationタイプを受け付けないIEが全て悪い
text/*は別に間違ってはなくね? stream/*とかだと大間違いだが application/*は正解かもしれないけど現実的にベストじゃないと思うなぁ
ここから濃厚な議論が始まります…… でわ… どうぞ!! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
RFCに従うのが真のシュミグラマ
IEでも別に問題ないだろ HTML5で書けば
間をとってtext/javascriptでいいよ、うん、これが無難
application/javascriptを避ける必要はAjaxで旧IE用の処理を書く必要と同程度にはある。
プロフェッショナルに対してアマチュアだし プログラムのプロとプロフェッショナルのプロをかけて シュミグラマじゃなくアマグラマって呼ぶほうがしっくりくる
まあHTML5のデフォルトがtextだしな。廃止されてるけど
478 :
455 :2012/03/20(火) 21:44:45.34 ID:???
あー、IEがapplication/***を受け付けないんですか 勉強になりました、皆さんどうもありがとうございました
>>463 JSエンジンってパフォーマンス悪いのばっかで、やっとまともな
JSエンジンを備えたブラウザが2008年のグーグルクロームって本に載ってた。
ieも7以降ならまだマシ 7もcss周りは地獄 6対応は死ねる 実質8以降だな使いものになるのは
もうIE6と7は切り捨てろ、マジで 会社で使わされてるとか言っても知るかボケで片付けろ
だからさぁ…IE云々とかいう問題以前にこれからは家電などのあらゆる機器に搭載された あらゆるブラウザで最低限サイトが機能するように作るのがMustなの
IE6と7はもうすぐ絶滅する 8も数年後Windows XPと一緒に死ぬ そうなればゲーム機だろうが家電だろうが何でも来いだ 標準から外れたレガシーなコード書いてると全部無駄になるぞ いつまでも古いIEに対応して甘やかすとそういう未来はどんどん遠のく
さっさとXPを死滅させてIE8までをこの世から消してくれ そしてIE9への対応は2017までだからIE9ベースでやってりゃいいことになる IE9ならaddEventListenar持つかえるから問題ない
IE9はHTML5対応してるからいいんだが 更にこの上が出てきたら今度はIE9が足引っ張るんだろうな、歴史は繰り返すエンドレスワルツ
何格好つけた事言ってんだ
googleのプラグインがあるからそんなことない
XP死滅はあと10年は無理だろう
俺という凡人の発想力では非同期通信、HTML5(改良)、jQueryでもうHTMLはこれ以上の進化ないんじゃね?と思ってるんだが 近未来的な予想されてる技術とかほかにあったりするの?
コアHTMLの話だとインプット要素をもうちょい拡張するとか、時代が進めば進むほど絶えず細々出てくる まあウェブアプリをいろんな形で実現させるに当たって改良しないといけないところはあるな HTMLに乗るCSSやらSVGやらも完璧ではない だがしかし、一番進化しないといけないのはJS とりあえず64bit整数作れよ、オセロ高速化するの大変ダロウが
JSが64bitになったらHTML5もスマフォでススイのスイなのかな? 今まではプロセッサの問題があったから32bitだったけど 林檎が脱flash脱flash言ってたから友達のiPhoneでHTML5動かしたらとてもじゃないが実用性があるとは言えたもんじゃなかったし
>>492 お前と俺とではまず考えてることが違う
お前さんが思ってるであろう縁の下の力持ち的のJSで遅いっていうのは
DOM操作やらCanvasやら正直JSコアは関係ない部分の影響が大きい
俺が思ってるのはゲームなんかのアルゴリズム、思考ルーチン何かにて
配列の変わりにbit演算を使った高速化の話しだ
32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる
他にもいろいろ恩恵はある
本当は見せかけでもいいから1024bitくらいまで入れて欲しい
自分で見せかけるのは速度の前にめっちゃ大変だから
まぁブラウザ上での高速化はブラウザ戦争に任せるしかねーな
今から俺がブラウザ作るからお前ら対応しろよ 独自エンジンで組み込んでやるからよ
シェアを1%でも取れるなら対応してあげるよ
日本からシャア1%でもとれるブラウザ出たら誇りだなぁ
>>497 日本のwebユーザーを増やしてガラパゴス化させれば…
日本ブラウザー逆襲のシャア
>>493 128bitから1024bit整数が使える言語ってある?
あるのならブラウザの拡張でインターフェイス作ってやればいいと思うけど
>>493 >32bitで64マスを扱うより64bitで64マスを扱う方が高速なのはもちろん遥かに、遥かに簡単になる
ちとピンとこないな。
っつーか、「16bitの漢字は16bitのパソコンでないと扱えない」みたいな勘違い臭がする。
JS的に考えると、内部で自動的に型を変換して、処理速度とメモリが許すまで無限に大きい数を扱えるようにして欲しい。 現状でも特定の変数を32bit浮動少数型からより小さい整数型にしたりして勝手に高速化したりしてるんだからそれくらいできるはず。
503 :
Name_Not_Found :2012/03/21(水) 19:36:55.32 ID:YCMMZm+f
>>501 JavaScriptではbit演算は32bit整数扱いになる
各ビット、(または何ビットかずつ)でマスの状態を表す事で
演算一回全てのマスにで効果を与える事ができて、
何回かの単純な演算をするだけで目的の効果を全てのマスに与えられる
これは配列でループ的なものを使ってやるより普通ビックリするくらい究極に早い
いわゆるパターンマッチは(場合によってトリッキー(繁雑)になるが)もう配列より遥かに得意
なにより演算だけでなく参照もarray[n10]よりint&n2の方が早い
ライフゲームとかだともう天と地ほど違う
おまけでメモリ消費量も少ない
8x8マスのオセロ(色んな箇所でbit演算が非常に有効)でやろうとすると64ビット必要
これを32ビット×2でやると桁溢れ等の始末や、
どちら、または両方のどの位置同士を演算するかを求める演算が別個にいる
演算を補助するためにそれより多く演算がいるんだから数倍から下手すると十倍くらい
パフォーマンスが下がる上に非常に面倒な処理を書かなくてはいけなくなる
盤上のオセロの状態って、石無し、黒石、白石、の3状態だから1マスにつき2bitの情報量が必要じゃねの?
8*8*2=128bit
>>504 ビットきっちりのデータ構造よりも、1セル1バイトや1ワードの方が
特定ビットを取り出す演算がない分、すっきり書けるよ。
オセロもライフゲームも、書いた事ないでしょ。
経験者の発言とはちょっと思えない。
>>505 ベテランの504さんが1bitで出来るつってんだから出来るだろ
C+で作ったときは白他、黒他、有無の3つ64bit用意して使うたな。 128bitで2bitずつ使うのはこれよりどれだけ楽になるのか。 奇数を有無、偶数を白黒とかにする…? うむ???
64bitを3つだと1マスにつき3bit使ってることになるが・・・
>>507 オセロ、将棋、囲碁、ライフゲーム、○×、五目並べといろいろ作ってるよ
オセロで64ビットでできるというのは間違えてた
一番昔にオセロ、直近にライフゲーム作ってビット演算で悩んでたから混乱してたわスマン
でも
>>509 のやり方でできるのか?
使用メモリ量を減らすことと、処理速度を上げること、トレードオフであるから用途に合わせて好きなようになさい
配列とビット演算ならどちらもビット演算の勝ちじゃないの?
ビット演算がいいのはコピーが早いこと。 これは配列がどう足掻いても勝てない。
>>510 64bitまでしかないからね。
128bit実装するのはJSよりは現実的にできるけど。
>>511 囲碁のプログラミングは難しいだろ、すげーな。
でも、『GNU GO』みたいなdilation/erosionをするには、
1ビット(又は2ビット)じゃ足りないよね。
どうやってビット単位で?
ネット弁慶の机上の空論なんだから
>>501 で正解。
そう言えば、「丘サーファー」みたいに「振りだけのプログラマ」を指す
短い言葉ってあるのかな。
518 :
Name_Not_Found :2012/03/21(水) 20:44:38.08 ID:YCMMZm+f
お前らすごいね 大学や専門学校でプログラム勉強してCとかさんざやったあと javascriptの世界に来たの?
俺はニワカ知識でjavascriptやって状況に応じてC++とかやってたらいつの間にか知ってたな 大学の情報とか専門行ってたやつと比べると穴だらけだが
Cは学生時代にやった。 今はプログラミング言語はPerlととJavaScriptとVBAしか使わない自称社内SE。 比率は7:2:1くらいか。
>>516 お前さんが何を言ってるのかちんぷんかんぷん
思い出してみたらbit演算を本気でやろうとしてたのはライフゲームだけで
あとは特にオセロ何かでは配列の変わりに文字列を使えないか悩んでたんだったわ
それでごっちゃになってた、スマン
囲碁が難しいってCOMのAIの話か?
そんなの9路で素人の自分にも負けるようなしょぼいのしか作れんわ
スマホがメインだから処理がきつくてきつくてな……
オセロはスマホでもそこらの奴らには負けなくなったけど
囲碁はちょうど今モンテカルロ系を知って作ってみようかってところ
523 :
Name_Not_Found :2012/03/21(水) 20:55:37.02 ID:YCMMZm+f
学校でちゃんと習ったのは、大学の一般教養でCのポインタまでと 研究室で院生に教わったアセンブラでDSPを動かしてたくらい あ、小学校のときBASICを独学した というか本に載ってるプログラムを丸写しがほとんどだったなw
さっきから、自己の主張を否定する事をよく「思い出す」な。
>>524 本当にスマンかった
その通りだ申し訳ない
var fade = function (node) { var level = 1; var step = function ( ) { var hex = level.toString(16); node.style.backgroundColor = '#FFFF' + hex + hex; if (level < 15) { level += 1; setTimeout(step, 100); } }; //setTimeout(step, 100);//Javascript Good partsの記述 step();//これでも挙動が同じ }; fade(document.body); good partsにクロージャのサンプルとして背景を黄色から白色に 徐々に変えていくとコードが載ってましたが、 setTimeout(step, 100);である必要ってのが理解できません。 step()でも全く問題なく同じ挙動しているようにみえるのですが、 教えてください。
同じ挙動に「見える」だけで、同じじゃないだろ。 逆に、setTimeoutって何よ?
質問させて下さい ブログでランダム記事を作成したいと思っています <script type="text/javascript"><!-- function GetRandomNumber() { var randnum = Math.floor( Math.random() * 100 ); document.getElementById("sample").innerHTML = randnum; } // --></script> <p> <input type="button" value="ランダムな番号を選ぶ" onclick="GetRandomNumber();"> </p> <p> ランダムに選ばれた番号: <span id="sample">***</span> </p> この * 100 の部分にURLをいれればいいのでしょうか?
>>528 なんかもう、ぜんぜん分かってないじゃないか・・・
お前には無理だやめとけ
なんだよURLって、記事のURLだとは思うが
記事のURLがどんなのなのかわからねぇよ
http://blog/kiji1.html 、/kiji100.htmlとかだったら
"kiji"+ランダムの数字+".html"になるけど
んじゃそのアーカイブ数字はいくつからいくつまでが存在して、いくつからいくつまでを指定すんのよという話に
>>532 ここの数字を完全にランダムにしてしまうと
他の人のブログに飛んでしまいますんで
自分のブログ内でのランダムにしたいんです
説明が下手で申し訳ないです
534 :
Name_Not_Found :2012/03/21(水) 23:09:49.46 ID:YCMMZm+f
>>533 じゃあまずその数字の規則性を見つけないと
535 :
Name_Not_Found :2012/03/21(水) 23:10:39.81 ID:YCMMZm+f
ああ、途中で・・・ 規則性がないなら、自分の番号だけを配列に入れておこう
>>535 この場合は、自分のURL全体をランダムにするより
数字だけをランダムに入れた方が
表示は軽くなりますよね?
自分のブログのRSSを取得して配列にぶち込む ぶち込んだ配列の最大長までのランダムなキーを生成 配列からデータ取り出して、記事URLへリダイレクト これが理解できないなら無理 以下次の質問へ
>>537 ヒントいただき有り難うございます!
頑張ります!
RSSってなんだそりゃー もはやjavascript関係ねー
>>536 さして変わらんと思うよ
俺なら全部入れとくと思う
えー、xhrの出番だろ?モロにJSじゃないかJK
てかlivedoorのブログってその記事番号変えただけで人のブログになるような仕様になってんの? そんなアホな
ウェブ上で科学計算が出来るページを作りたいのですが その計算に使われるデータが膨大になり,スクリプト本体ではなく サーバ上のデータファイルにアクセスするような仕様にしたい場合は Javascriptでは厳しいでしょうか? 別の言語でCGIを利用すべきですか?
>>543 ちょっと何言ってんのかわかんない
ってか、質問者の日本語が分からないのが多いんですけど
CGIで計算XHRで入出力か、全部JSでやるかって事だろ そんなんどっちがいいか状況に合わせて考えることで一概にには言えない
>>543 普通はcgi
JSでやるにしてもサーバー側でのプログラミングも必要だしデータのマージ処理も大変面倒
ただサーバー側が重くなるので限界はある
完全に分散処理でweb上で行いたいならJSでもいいんじゃね?
どちらにせよブラウザがギブアップして処理を中断すると予想
そんな処理なら並のPCのCGIでやらせたらも危険だから逆にブラウザでやらせるべきだな Workerとか使ってさ
JSで分散コンピューティングか。面白そうだ。 Nodeとか使えばJSオンリーでいけるよ。
別に分散コンピューティングとは決まってないが
>>543 処理内容によっては必要ないデータをスクリプト外に出したいって話なら
jsonやjsonp、あるいはXMLにすればいい
ただし非同期な処理になるのでそこらへんは考慮すること
にしてもお前ら要件定義下手糞だな
質問も下手すぎだろ
555 :
Name_Not_Found :2012/03/22(木) 13:49:18.60 ID:iBo2DReU
得てして、本当は何がしたいのかを簡潔に説明出来る人って なかなかいないよね、ITに限らず 義務教育の国語でその辺をしっかりやればいいのに
556 :
Name_Not_Found :2012/03/22(木) 22:22:42.27 ID:/XSCPDeP
質問させてください。 var Sample = (function(){ var Func1 = { run : function() { alert('run'); } } }); のようなクラスがあり、これを継承したものを以下のように作り、 Sample2 = Object.extend(Sample, function(){ }); 下記のようなメソッドを定義して Sample2.alert_run = function() { Func1.run() } Sample2.alert_runを実行した場合、 Func.run() の行で Func1は定義されていないといったエラーになってしまいます。 (Object.extend はおそらくprototype.jsの機能だと思います) こういったコードの場合に親クラスのFunc1オブジェクトを子クラスから参照できるようにするには どのように書けばよいでしょうか。 教えていただけますと嬉しいです
Sampleの値確認しろ。
558 :
Name_Not_Found :2012/03/22(木) 23:13:00.86 ID:iBo2DReU
var Sample = Class.create(); Sample.prototype = { initialize : function(n){ this.name = n; }, run : function(){ alert(this.name); } }; var Sample2 = Object.extend(new Sample,{ initialize : function(n){ this.name = n; }, alert_run : function(){ this.run(); } }); var s1 = new Sample("うめ"); s1.run(); // うめ var s2 = new Sample2("さくら"); s2.run(); // さくら s2.alert_run(); // さくら こんな感じで 継承されたっつーことは、自分の持ちもんになった的な
継承とかクラスとか、それっぽいこと書いてるけど var Func1... の時点でもうねぇ。 var Sample = (function(){ var Func1 = { run : function() { alert('run'); } } return Func1; }); var Sample2 = Sample(); Sample2.run(); これでいいだろ。
560 :
558 :2012/03/22(木) 23:18:58.73 ID:iBo2DReU
>>558 わかりづらすぎたごめんなさい
var Sample = Class.create();
Sample.prototype = {
initialize : function(n){ this.name = n; },
run : function(){ alert(this.name + "AAA"); } // これはSampleのrunメソッド
};
var Sample2 = Object.extend(new Sample,{
initialize : function(n){ this.name = n; },
run : function(){ alert(this.name + "BBB"); }, // これはSample2のrunメソッド
alert_run : function(){ Sample.prototype.run.apply(this); } // これもSample2のメソッドだがSampleのrunを呼んでる
});
var s1 = new Sample("うめ");
s1.run(); // うめAAA
var s2 = new Sample2("さくら");
s2.run(); // さくらBBB
s2.alert_run(); // さくらAAA
561 :
Name_Not_Found :2012/03/23(金) 04:04:53.08 ID:nsoPDskq
>>560 なんでprototype.jsが用意したprototypeを破壊してんだよw
var Sample = Class.create({
initialize : function(n){ this.name = n; },
run : function(){ alert(this.name); },
override_test_method :function(){ alert('based:'+this.name); } //基底クラスのメソッド
});
var Sample2 = Class.create(Sample,{
initialize : function(n){ this.name = n; },
alert_run : function(){ this.run(); },
override_test_method :function($super){ $super(); alert('drived:'+this.name); } //継承クラスのメソッド
});
板違いなわけだがニコ厨にそれ言っても無駄か ついでに言うと環境だけのせいじゃない 例えばSQLインジェクションが発生するのは大抵フロントエンドのせいだろ
JavaScriptから入った俺としてはもうJavaScript5年やってその意味は理解できてるんだが、 擬似クラスを用いた継承をわざわざ積極的にしようとすることの有効性が未だにわからない。 狙わなくても自然とそれっぽく組んでしまうときもたまにあるけど、 普通そんな書き方よりいいというか、JavaScriptぽい素直な書き方はあるよ。 わざわざクラスっぽいのを使いたがる、クラスを使ってることにしたがる理由は何だろう?
565 :
Name_Not_Found :2012/03/23(金) 07:46:16.85 ID:nsoPDskq
>>569 javascriptっぽいってなに?
疑似クラスを用いた継承ってのもjavascriptに包含されてる機能じゃないの?
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。
俺が理解できないものは素直な書き方じゃないって言いたいのだろう。
>>565 その通り何だけど実際そうじゃないじゃん?
JAVAみたいなクラスを実現することに凝る人が多いことに違和感を感じてるってこと
移植や多言語との連携があるなら、 それらとの親和性を大事にする事だってあるんじゃないかな。
俺はサーバサイド(java,php)長年やって ここ2年くらいUI側でJavaScriptだけど UI側ではクラスは使わないな。 UI描画と入力、バリデーションを 極力シンプルにやらせてる。 サーバとのやりとりはJSONのPOSTのみ。 複雑な処理はサーバで。
>>569 書いてみてって?
そもそも自分が普通に書いててクラスが必要になった事がほとんどないから
そんなにJAVAっぽいクラスに凝る必要があるのか疑問なんだ
ニューラルネットワークの実験したときくらいかな、意図的にそういうクラス目指したの
>>572 普段書いているクラスと"JAVAっぽいクラス"の違いがよく分からないから、コードで示してほしいなと。
え、ニュアンスが伝わらなかった? JavaScriptにはクラスはない、継承の仕組みもない それなのにそれらを擬似的に再現したものを、 まるで配列やオブジェクトのように元からあって 当たり前のように扱うことに凝る風習に違和感を感じるって言ってるの クラスを作ろうと凝って擬似クラス形Aにたどり着いて、 (あたかも元から正式にJSに仕組みが整っているかのように) ちゃんとクラスを作ったぞ!って考えるのに違和感を感じてるの 目的の事を成し遂げるためにJavaScriptの構文を組み合わせて、 それがたまたま形Aになることはあるけどねって言ってる 要はJAVAみたいな所謂『クラス』はJSにはねーよ!勘違いすんなっ!って言いたいの
>>574 大規模開発の経験が無いんじゃないかな。
大規模って言えるものは無いかな?あるかな? 開発に15人くらいのプログラマが関わるのが大規模って言うならならあるんだけど クラス? 一人もそんな言葉自分から言い出した奴は多分いなかったね 俺主導で俺がJS教えた奴らばかりだったからかもだけど? まあそれがニューラルネットワクの話でクラス使うんだけどね
>>576 ある程度の規模になってくると足並みを揃えることが大切だよね。
そういう意味では576は自分が主導する立場に立つことで足並みを揃えられた訳だけど、
世界一般で考えると、やっぱりクラスベースなんだよね。オブジェクト指向の支えもあってね。
"凝った"と批判するけども、サイ本に紹介されるようなクラス定義であれば特別凝った方法だとは思わないし、
それで開発の基盤を築けるならもう使うしか無いよね。たとえばドキュメントなんかもそう。ある程度はっきりとした
"クラスとはなにか”が定義されていないと、今のようなウェブアプリ開発なんてやっていけない。
書き込みを読んでていても、いまいちJSのクラスを批判する理由が分からない。
578 :
Name_Not_Found :2012/03/23(金) 10:15:24.24 ID:nsoPDskq
>>574 javascriptには↓のようにクラスも継承も仕組みとしてはあるぞ。
別に擬似的に再現してるわけじゃないんじゃね?
言語の能力を抑制して開発するのも悪いことじゃないから攻めはしないが。。。
>function Base(arg){
> this.arg = arg;
>}
>Drive.prototype.methodA = function(){
> alert('Base.methodA:'+this.arg);
>}
>
>function Drive(arg){
> Base.apply(this,arg);
>}
>Drive.prototype = new Base;
>Drive.prototype.constructor = Drive;
>Drive.prototype.methodB = function(){
> alert('Drive.methodB:'+this.arg);
>}
ああ悪かったprototypeを使ったやり方にケチ付けてるんじゃ無いんだ だがそれは元々言語仕様としてクラスからそれ繋がりで継承が抜群に定義されてる言語でいうクラスとは違う 見せかけのクラスだ、もちろんそれを分かって使うのは素晴らしいことだ
それが「見せかけのクラス」だっていう考え方がそもそも違うな JSでOOPするにはこうしますっていうJSなりの自然なやり方を お前みたいなアンポンタンにも分かりやすく教えるために 「つまりこれはクラスみたいなもんですよね」って言ってるだけだ
だからクラスみたいなものと思うのは良いっすよ だってクラスみたいなものなのは間違いないじゃない つうか構造上は実質クラスだし?いやクラスだから そういう事じゃなくて………… JSにはクラスという機構があるみたいに思ってそれに凝る風習があるのに違和感感じてるんですよ
582 :
556 :2012/03/23(金) 11:30:25.16 ID:YJLrIXia
レス色々ありがとうございます。
訳あって
var Func1
の部分を変えることができないので、そのままの形で継承させたいのです・・
>>559 var Sample2 = Sample();
Sample2.run();
これだと継承になっているでしょうか?
新しく定義したい
Sample2.alert_run の中でrunを走らせることができないようです
大規模なものは技巧に走ると破綻する
JavaScriptがLISPやScheme系の言語でC++やJavaとは違うってことを受け入れられずに C++やJavaのようなクラス継承を実現しようと腐心してJavaScriptはクソ言語だと...(省略)
585 :
Name_Not_Found :2012/03/23(金) 12:13:14.58 ID:nsoPDskq
>>582 Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。
var Sample2 = {
>>582 ややこしいからprototype.jsなしで説明するが
function A(name){ this.item = name; }
A.prototype.udon = function(){ alert("好きなうどんは"+this.item); };
function B(name){ this.item = name; }
B.prototype = new A(); // ここで継承
B.prototype.soba = function(){ alert("好きなそばは"+this.item); };
var b = new B("きつね");
b.udon(); // 継承したからメソッドudonが使える
この継承と、定義したudonを余所から使うことは全く別次元の話で
A.prototype.udon.apply(thisとして扱いたいオブジェクト,引数配列);
てすれば、クラスも継承も関係なく使える
もちろん他のクラスのメソッド中でも構わない
587 :
Name_Not_Found :2012/03/23(金) 12:26:06.26 ID:nsoPDskq
↑失敬
>>582 Sampleはそもそもクラスじゃなくオブジェクト(インスタンス)だから継承したいってのがそもそも。。。
やりたいのは↓ってことでいいのか?
>var Sample2 = Object.extend({
> alert_fun:function(){
> return this.run();
> }
>},Sample);
prototype.jsのObject.extend()って第一引数にプロパティ追加して返す感じだったから、第一引数=Sampleにしとくとオブジェクト汚染する。
Object.extend()ってちなみにオブジェクトの拡張であってクラスの継承ではないぞ。
588 :
586 :2012/03/23(金) 12:42:15.07 ID:M/+jiXcZ
>>582 だからさ、「継承」なんてもっともらしいこと書くから
prototypeうんぬんのレスがわんさか出てくるのよ。さっぱりわからんだろ。
わけもわからず「継承」なんて持ち出すなってこと。
「継承って何?」て話なら別だけど、var Func1 をよそで使いたいって話だろ?違うのか?
var Sample2 = Sample();
Sample2.alert_run = function() {
this.run();
};
Sample2.alert_run();
「新しく定義したい Sample2.alert_run の中でrunを走らせる」でいいなら、なんとでもできるだろ。
>>582 Sampleの定義部とSample2の定義部とを一ヶ所にまとめて書いていいなら、こんな感じかなあ。
横長でごめん。
var Sample, Sample2;
(function enclosure() { // Func1をローカルに隠す関数。説明のためだけに名づけていて、無名関数でも可
var Func1 = {
run: function () { alert("run"); }
}; // 関数enclosure内で作られる関数(Sample, Sample2のインスタンスのメソッド)を介してのみ呼べる
Sample = function () {}; // コンストラクタ グローバル変数Sampleにローカル関数への参照を入れている
Sample.prototype.runOnce = function () { Func1.run(); };
Sample2 = function () {}; // コンストラクタ
Sample2.prototype = new Sample(); // ※1
/* 継承。Sample2のインスタンスでメソッドrunOnceを呼ぶと、
※1で作られるSampleのインスタンスの、メソッドrunOnceが替わりに呼ばれる(委譲?) */
Sample2.prototype.runTwice = function () { Func1.run(); Func1.run(); }; // 2回呼ぶメソッドを追加
})();
/* 関数enclosureの定義部が終わってすぐに呼び出している
これ以降で直接 Func1.run(); と呼ぶことはできない
Func1.run を呼ぶメソッドをさらに追加することも、これ以降はできない */
var s = new Sample2();
s.runTwice(); // Func1.run が2回呼ばれる
591 :
590 :2012/03/23(金) 14:38:41.54 ID:???
590の続き。Sampleの定義部とSample2の定義部とを離して書きたいなら、 Func1を見えるところに出すしかない。 下の※2のようにSampleにぶら下げておくのが一般的かと思います。 function Sample() {}; // コンストラクタ この場合は関数定義文でもOK Sample.prototype.runOnce = function () { Sample.Func1.run(); }; Sample.Func1 = { run: function () { alert("run"); } }; // ※2 function Sample2() {}; // コンストラクタ Sample2.prototype = new Sample(); // 継承。「※2でSampleにぶら下げたFunc1がSample2にもぶら下がる」ということには「ならない」ことに注意 Sample2.prototype.runTwice = function () { Sample.Func1.run(); Sample.Func1.run(); }; var s = new Sample2(); s.runTwice(); /* ここで直接 Sample.Func1.run(); と呼ぶことができるし Sample.Func1.runを呼び出すメソッドをさらに追加することもできる Sample.Func1.run 自体を書き換えることでrunOnceの動作も変わることに注意 */
592 :
Name_Not_Found :2012/03/23(金) 14:49:37.74 ID:nsoPDskq
ここのスレの皆でCoffeeScriptみたいなの作ろうぜ
594 :
Name_Not_Found :2012/03/23(金) 16:47:40.55 ID:nsoPDskq
世界にアピールするにはGreenTeaとかの方がいいな
596 :
Name_Not_Found :2012/03/23(金) 21:38:45.56 ID:P6jysABl
javascriptのゲーム開発に興味があって arctic.jsというライブラリのソースを見ています。 /** * 回転角度を取得 * @returns {Number} 回転角度 */ getRotation:function(){ return this._rotation; } この例のような関数の上にコメントをつけるパターンは javascriptでは流行っているものなのでしょうか。 また、こうしたコメントはツールか何かで自動で記述しているのでしょうか。 よろしくお願いします。
>>596 コメントは開発者が明示的に記述するもの。
目的は保守性の担保。
関数の処理単位のコメントは関数の上に。
詳細な処理は関数内で随時。
まずJsDocでググろう
599 :
Name_Not_Found :2012/03/23(金) 22:13:17.38 ID:P6jysABl
ありがとうございます。 なるほど、JsDocというものがあるのですね。 これについて調べていたところGoogle JavaScript Style Guide というものを見つけました。 これを見たところ、コメントはJsDocで書くべきといような ことを書いていますので、そうしたいと思います。 enchant.jsというゲームライブラリもそうなっているようです。 プライベートの変数の先頭には_を付けるのも主流なようですね。 文字列は""ではなく、''とするべきとも書かれています。 確かに手元のライブラリでは9割以上''が使われていますが 一部の場面で""が使われています。 if(typeof arguments[0] == 'function'){ } というような場面はいつも''なのですが、 throw new Error("invalid frame index"); というようなメッセージを記述している場合は""になっていることがあります。 これは何か意図があってのことでしょうか。 それともうっかり""にしてしまったということなのでしょうか。
600 :
Name_Not_Found :2012/03/23(金) 22:18:19.47 ID:P6jysABl
Google JavaScript Style Guide をよく見ると末尾に_とありますね。 これはoffsetX_のようにすべきということでしょうか。 手元のライブラリでは_offsetXというように前に_をつけています
>>599 JSにおいてはシングルとダブルに違いはないからうっかりだと思う
>>600 どちらが正しいという訳ではない。好きな方を使えばいいし、ルールがあるなら従うべき。
前から思ってたんだけどgoogle関連って有料にならないの? 無料で使わせてたらメリットなくね?
603 :
Name_Not_Found :2012/03/23(金) 22:51:08.10 ID:P6jysABl
>>602 クロームが一番効率的に処理できるようなライブラリを配布してんじゃね
何それ超セコイ
すでに企業が利用するようなのは無料じゃなくなってるよ
607 :
Name_Not_Found :2012/03/23(金) 23:46:17.71 ID:M/+jiXcZ
GoogleMapAPIも大アクセスすると課金されるようになりましたしね
【環境】 WinXP SP2, SP3 IE6 / Win7 SP1 IE8 jquery 1.7.1 【何がしたいのか】 JQueryでセレクタの値をタグの種類、属性に依らず透過的に取得できる関数を作りたい。 引数としてid属性、またはname属性を可変個受け取り、対応する値を取得する必要があります。 今は各タグ種類ごとにname属性とid属性で値をとってみて、取れればそれを戻すというやり方で愚直にやっています。 もう少し楽にタグ、属性の判別をする方法はないでしょうか。 【期待する結果】 textbox(input type='text')の場合はvalue、 selectBox(select option)の場合はselected、 ラベル(p, span)の場合はtextを取得し、 {KEY: VALUE, KEY2: VALUE2}のJSON形式に集約して戻す。 また、selectBoxが複数選択の場合は、VALUE部を配列にする。 ※ KEY : 引数として渡された属性、VALUE : 取得した値 【サンプルコード】 // foo, baa, hogeはid、またはname属性の値 // hogeはselectBoxで複数個選択を想定 var jsonObj = func1('foo', 'baa', 'hoge'); alert(jsonObj) // => {'foo': 'val1', 'baa': 'val2', 'hoge': ['val3', 'var4']} よろしくお願いします。
609 :
Name_Not_Found :2012/03/24(土) 01:03:49.36 ID:XJ3TURWK
valとserializeではいかんの?
608です。 var fArray = $('form').serialiseArray(); $(fArray).each(function(key, val) { // マッチング }); // マッチしない場合はラベルの可能性あり。 こんなんでいけそうな感じがしてきました…
質問です
ミスりました javascriptのarrayは、vbscriptより処理が遅いという内容をネットで見たんですが、 本当にそうなんでしょうか? 外部のファイルを読み込んだりして、その情報を jsでtableにし、結構沢山arrayを繰り返しで処理したりしています。 タイミングによりますが、ロードしたとき確かにちょっと時間かかるかなという時はあるような。 array自体や、document.writeなど、arrayの繰り返しに関わる部分だけ、 vbsの記述に直した方がいいんでしょうか?
自分でちゃんと試せよ、試したんなら自分で結論出せるだろ 一応言っとくとvbの方が早いなんて有り得ないから 縄文時代から来た人でつか? ロード時に時間がかかるのは最適化してるんだから当たり前
縄文時代にはまだJavaScriptは誕生してないよ
ワロタw 『絶対ない』と言う事を証明出来る事は絶対ない って常識なんですけどーw阿呆ですかーwんー?
業務でブラウザ決め打ち出来るならともかく、いやそれでもvbsとかやめろよ
サーバーサイドのvbscriptとjscriptの話じゃね?
618 :
Name_Not_Found :2012/03/24(土) 15:12:39.10 ID:lLyrOwf9
Function.prototype.applyの第二引数ってargumentsそのまま渡すとエラーになる実装って何かあったっけ? 昔何かあったような気がして、sliceかましてるけど、その実装がなんだったか思い出せないんだが、 もし自分の勘違いならその辺なおしたいと思って質問してるが、何か有用な情報あたらくれ。
この世にブラウザ、バージョンは無数にある 自己判断自己責任で君の好きにやればいい
少なくともIE6以降のwebブラウザでは問題ないと思うがなあ Mac版IE5とかiCabとか初期のsafariとかとか、怪しい気がしなくもないけど
IE で NodeList を渡せないってのはあるけど、arguments は大丈夫だとおも
>>618 「sliceかましてる」って、そっちの方が危ないだろ
623 :
Name_Not_Found :2012/03/24(土) 17:39:13.37 ID:lLyrOwf9
いいから早くうせろって……空気読めよ
でも少し… この風…泣いています
ここ質問スレじゃないの?
627 :
Name_Not_Found :2012/03/24(土) 19:28:58.24 ID:lLyrOwf9
>>624 空気よんでないって俺か?
Array.prototype.slice.call(arguments,0)を行うことの危険性について知りたいって
質問が空気読めないっていわれてるなら、どうすればいいんだよ。
解らずに批判した馬鹿だろほっとけ sliceなんか古典的方法だし 多くのライブラリ等で使われてきた方法だろ
>>627 Function.prototype.applyの第二引数にargumentsを渡せるのは仕様。
Array.prototype.sliceのthis値にargumentsが適用するかは実装依存。
631 :
Name_Not_Found :2012/03/24(土) 20:46:14.40 ID:lLyrOwf9
>>629 ありがとう。
ちょい仕様書読んでみるが、jsの場合は過去の実装依存が残ってる以上は仕様よりも実装優先、
過去の慣例のほう優先って感じだから、実装依存を無視できないのよ。。。
applyの第2引数はまさしくargumentsになるのに、argumentsが渡せないのはどう考えてもおかしいだろ そんな実装は聞いたことないし、どうやったらバグができるのか検討もつかないね
もしかして:見当もつかない
ゲーム製作用に右か左クリック長押しのときにイベント発生したいんですが何てイベントハンドラを使えばできますか?
>>634 toStringとか比較とかでggrkstd
せっかくだから自力で調べてよくJSの根幹を理解しろ
>>635 ここは保育園じゃありませんよ!?ggrkstd
ググってもわからなかったら代案考えろ
そこがプログラマーにとって一番大切な所だ
>>636 そんな文章は知識が無くても書ける
知らないくせに偉そうにレスするでない
引っ込んでおれ
鏡
で
知らねえんだろと煽っても無駄です。とずっとテンプレに入ってましたからね。
煽りじゃなくて忠告しただけだ。 無理にレスしないで引っ込んで俺と言っておるのだ
>>635 mouseupとmousedownじゃねえの?
>>641 君のレス付けは下手な催促か荒らしてるようにしか見えない事を客観的に判断できないと。
君は満足できたのかもしれないけど他人には迷惑にしかなってないから気をつけな。
>634,635は自分でここまでやりました感、コードが一切ない ぱっとでの質問のように思わるのがいけないところ コードがない質問は荒れるな
黙れ
知識も無いくせに威張りたいだけの低脳にようはない 誰も頼んでないから黙っていてくれないかね
第一
>>636 はよく質問内容も理解できてないのに
>toStringとか比較とかでggrkstd
という的外れな回答にもならないレスをするでない!
荒れるから他の回答者にケチ付けんなって そんなに俺には他人より能力があると思うのなら黙って回答示しとけばカッコイイのに まああんまり質問者を甘やかせるのもどうかと思うけどな
質問者はマヌケ、回答者はマナーが悪すぎ
jQuery使ってもライブラリ使っても解決するなら何でもアリなんですが Ajaxで読み込んだファイルサイズを取得する方法ってあるんでしょうか?
652 :
Name_Not_Found :2012/03/26(月) 12:54:22.34 ID:zaDWYvfi
ヘッダに書いてないかい?
ごめんなさい言い忘れてました 読み込むのはデータを保管しているtextファイルです
ヘッダにボディサイズが書いてあるだろ ないのならlength使え どちらもヘッダサイズを足すのを忘れんなよ
655 :
Name_Not_Found :2012/03/26(月) 13:42:25.42 ID:0LZD1uwT
クライアントからのXHRリクエストにより、サーバーで複数のファイルに対して処理をするのですが このとき処理結果と進行状況をクライアントに知らせるようにしたいと思っています。 で、次のようなテストコードを書きました。 ※perlCGI(抜粋) - バッファリングを無効にして5秒ごとメッセージを出力している $| = 1; print "Content-type: text/plain; charset=utf-8\n\n"; map { sleep 5; print $_; } @results; ※javascript(抜粋) - レスポンス受信のたびメッセージを切り取って表示している var cursor = 0; xhr.onreadystatechange = function() { if (xhr.readyState === 3) { var message = xhr.responseText.substring(cursor); cursor += message.length; callback(message); // メッセージをHTMLリストに追加 } else if (xhr.readyState === 4) { callback("finish!!"); } }; 一応目的は達しているのですが、処理のよっては長時間(1分以上)接続したままになります。 こうした長時間の接続って通常、問題ないでしょうか。 cometやwebsocketsのプログラミングは未経験ですが、調べてみた範囲では 順番に受信して終わるだけの上記の目的には大げさにも感じました。 アドバイスもらえたらうれしいです。
test.addEventListener('click', 'battle(10)', false); 第二引数で関数に引数をつけて書くにはどう書いたらいいですか?
657 :
Name_Not_Found :2012/03/26(月) 13:49:35.07 ID:zaDWYvfi
>>656 test.addEventListener('click',function(){
/* 関数側から引数になる値を取りに行けばいいよ */
},false);
無名関数にしちゃうとremoveEventListenerで削除できないので困ります
>>656 出来ません。共有したい値があるならオブジェクトを渡してください。
wakarimasita
661 :
Name_Not_Found :2012/03/26(月) 14:55:10.70 ID:zaDWYvfi
>>658 こうすればいいじゃない
var fn = function(){
/* 関数側から引数になる値を取りに行けばいいよ */
}
test.addEventListener('click',fn,false);
662 :
Name_Not_Found :2012/03/26(月) 14:55:51.11 ID:zaDWYvfi
セミコロンが抜けてた すまんこ
セミコロンなんてただの飾りです
665 :
Name_Not_Found :2012/03/26(月) 16:28:43.71 ID:0LZD1uwT
666 :
Name_Not_Found :2012/03/26(月) 17:44:06.14 ID:mUYzqlZ8
>>665 IE「標準APIの安心感?やらねぇよw」
ある要素の横幅を取得する方法を教えてください
a = function(){alert(1);} b.addEventListener("click", a, false); これができない function a(){alert(1);} b.addEventListener("click", a, false); これはできる なぜか?
できるだろ
質問です。 配列の添え字を、実際に数字で書くと動くのに、 変数を指定するとスクリプトが動かなくなるのは何故でしょうか。 var path = new Array(); path[0] = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\""; path[1] = "c:\\Windows\\notepad.exe"; function app(pathW){ wshshell=new ActiveXObject("WScript.Shell"); wshshell.run(pathW); } for(var z = 0 ; z < 1 ; z++){ document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(path[z])>'); }
document.writeされた内容を確認してみたら一目瞭然
672 :
Name_Not_Found :2012/03/26(月) 21:18:09.36 ID:zaDWYvfi
document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(',path[z],')>'); でしょうか? うまくいかんです・・・ カンマで繋げると、とほほ等には書いてありましたが。。。
674 :
Name_Not_Found :2012/03/26(月) 21:50:36.31 ID:zaDWYvfi
またと古くさいとほほにひっかかってる。まあ、document.writeの結果が求めるものに なるまでがんばったらいいんじゃないの。つか、過去すれ全集見ればいくらでもそういう ことやってるサンプルがあるんで、探す気があるかないかだけの問題だな。
>>666 eventsource.jsでIE向けにも使ってる
すいません、初心者すぎるのか、理解力か低すぎるのか・・・ document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=app(' + path[z] + ')>'); だと、読み込み時からエラーで document.write('<INPUT TYPE="button" NAME="string" VALUE="string" ONCLICK=' + app(path[z]) + '>'); だと、読み込み時に勝手に実行されます。 過去スレ全集とは、落ちたスレも見れるサイトがあるのでしょうか?
あんたがテンプレの
>>1 すら読んでないことはよく分かった。それでいて自分の質問だけは
するのね。よく考えた方がいいよ。
>>673-674 どこにも「カンマで繋げる」なんて書いてないけど。
たとえば、document.write(a,b) としたら、これは document.write(a);document.write(b); と同様。
タグの場合は一度に出力するんだから当然 + での連結になるよね。
>>677 基礎をちゃんと勉強するべきかも。それと、エラーが出るんだったらその内容を伝えないと。
以下は動作確認はしてないけど、同じような形で書きなおしてみた。
var paths = [
'\"c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"',
'c:\\Windows\\notepad.exe'
];
var run = function(path) {
if (typeof path === 'number') {
path = paths[path];
}
var wshshell = new ActiveXObject("WScript.Shell");
wshshell.run(path);
};
for (var i = 0; i < paths.length; i++) {
var path = paths[i];
var name = path.slice(path.lastIndexOf('\\') + 1);
document.write('<input type="button" value="' + name + '" onclick="run(' + i + ')">');
}
document.close();
>>680 ありがとうございます。
参考にもうちょっと勉強してきます。
他、レスくれた方々もありがとうございました。
わからないのをいろいろ考え試行錯誤するのがためになるのに 2、3日くらい考えてもいい
<img id="ura3" src="ura2_s.png"> 画像を→ボタンを押して動かすにはどーするのですか?
if (式) {実行文} を (式) && (実行文); という書き方で、代用する書き方は一般的に多用してもいい?
685 :
Name_Not_Found :2012/03/27(火) 17:22:32.89 ID:6GXlzqDM
>>683 キーイベントを拾って
<img>のスタイルを変更すればいいよ
>>684 if文の代用って発想はなかったなぁ。
簡単な例文を書いてみるといい。それで回答を求めたらどうか。
>>684 perlなんかでやるよね。
可読性を損なわないと思うなら、使えばいいんじゃないかな。
可読性は置いといて、評価だけでも普通に使うのか。(オレはやんない)
"一般的に"ならこんなこと聞く必要もないだろ わざわざ聞くのは自分で一般的じゃないと思ってるからだ
>>684 多用どころか使うべきではない。
前者がわかって後者がわからない人はいても、その逆はいない。
693 :
Name_Not_Found :2012/03/27(火) 20:35:44.52 ID:WAzw1IcN
var a = objOrNull || {}; ってのもよくやるよなjsなら。 まぁ、他言語と挙動が違うから多人数プレイの時はやるべきじゃないけどね。
0なのかnullなのかundefinedなのかが、それだと判別出来ない ムダ知識だがperlは近年になって // というキーワードが追加され my $input = $VAR{PARAM} // 0;と書けるようになった
質問させてください <div id="hoge"> <div class="moge"></div> <div class="moge"></div> <div class="moge"></div> </div> このようなDIVの形で、 $(".moge").click(function() { で、クリックのイベントを拾った時。 それが、何番目のDIVをクリックしたかを知りたいのですが、 どのように、その要素を取得すれば良いでしょうか?
>>695 めんどくさいから予めDIVにインデックスを振っておくのが無難。
毎回調べるなら、#hogeのdiv子要素を全て取得して、インデックスを増やしながら一致を探す。
当たり前のように ほげほげ && ほにゃらら()・・・スタイルで書いていてVBを書くとき詰まった 短絡評価しない言語もあるんだね
何でも短くする人いるよなあ。ありゃスパゲッティコード職人だ。
>>696 そうですか・・・
わかりました、ありがとうございました。
三項演算子の入れ子とかひどいよね。
スパゲッティコードメーカーとは誤解してほしくないが、こんな単純なVBコードね。 Bad : If IsNumeric(hage) And CLng(hage) > n Then スレチなのでこれ以上は自重
質問です。 以下のようにスコープ?参照渡し?っていうんですかね、 配列を代入した変数を、関数の引数として、繰り返し処理でボタンを置きたいんですが、 表示はうまくいっても、中身が全て最後の配列になってしまいます。 どう処理させるのが一般なんでしょうか? 以下は、最終的にjを回しているforの部分は関数化して切り出し、 scに入れる配列を操作させることで中身や回数を気にせずボタンを設置したいです。 var arr = new Array(2); arr[0] = [1,2,3]; arr[1] = [9,8]; var sc; sc = arr[0]; for (var i = 0; i < arr.length; i++) { sc = arr[i]; for (var j = 0; j < sc.length; j++){ document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">'); } document.write('<hr>'); } document.close();
>>701 ちょっと違うんじゃね?みんなが言ってるのは、hideFlag && inDocument && hide(); てな感じだと思うよ。
スレチなのでこれ以上は自重
>>702 あなたも過去スレ全集読むといいよ。かってよくあった質問だね。
>>702 DOMとクロージャを組み合わせるのが一般的かな。
onclick="alert('+sc[j]+')" とすれば動くだろうけど、これは参照渡しでもなんでもないね。
706 :
684 :2012/03/27(火) 23:47:07.07 ID:???
意見サンクス。ちゃんとif文書いた方が良さそうだな。
>>695 動かなかったらごめん。
idxに何番目か入ってるはず。
$(".moge").click(function(){
var idx = $(this).parent().children(".moge").index(this);
});
外部ファイルで呼ぶ時にファイルパス間違ってないと思うけど呼べない時どうすればいいの?index.htmlと同じ階層なら呼べるのにjsってフォルダ作ってscript.jsを入れるとファイルパスはjs/script.jsだよね?
>>708 ローカルで試してない?一応先頭に ./ をつけるといいよ。./js/script.js
710 :
702 :2012/03/28(水) 00:03:57.50 ID:???
>>705 ありがとうございます。
dom・・・
難しいですね。
もっと色々書いて精進します。
本当にjsやるんだったらdomは必須だぞ。一度理解したら他の言語でも使えるしな。
function hogehoge{ hogehoge.prototype.x1=10; this.x2=20; } 上記の2行目と3行目の書き方に違いはあるんでしょうか? function hogehogeの外から var z=new hogehoge(); z.x3=30; 等の追加、編集が出来ると思いますが 使わなくても z.x2=22;と書けますよね? 違いとメリデメがよく分かりません
2行目は外に出せる、3行目では出せない 常識で考えろ
その常識ってのはお前の中だけだろ
>>713 2行目と3行目は、コードのとおりプロトタイプかインスタンス変数かの違いなんで
インスタンスが1つですぐ終わるスクリプトなら一見動作は同じだけど、
複数のhogehogeインスタンスを生成したりすると事情が変わってくる。
例えばこうしたときどうなる?
function hogehoge(n1,n2) {
hogehoge.prototype.x1 = n1;
this.x2 = n2;
}
x = new hogehoge(10,20);
console.log(x.x1); //=>10
y = new hogehoge(20,30);
console.log(y.x1); //=>20
console.log(x.x1); //=>これがどうなる?
また以下の式のx.x1はなに?
x.x1 = 100;
console.log(x.x1); //=>100 これはhogehoge.prototype.x1の値ではない
>>715 他の回答にケチ付けてる暇があったらより良い回答してやれ
その行為は誰の特にもならない
配列Aを値渡しで、別の変数Bにそのままほうり込み(B=A)、 変数Bを関数Cの引数として渡す。 関数Cは(D)と内部変数を定義して、 処理内でDをループなど配列展開。 これを行うと、Dがないとエラーが表示されます。 Aの中身が数値だとうまくいったりしますが、 文字を入れるとエラーが出てしまうのは何故でしょうか?
単独自立型WEBアプリを学校や許可を取った友達のPCに入れて あまり使われて無いときのリソースを集めて利用したいのですが 参考になる文献やサンプル等を知りませんでしょうか? また、WEBアプリの存在を隠蔽できるようなNPAPIを利用した 拡張機能をご存知ありませんか?
つーか配列に関してB=AしたときBはAの参照になるがな
自分でうまいソースできてなくて、上の書き込み参考で色々やってます。 以外だと、scがないと言われます。 最終的には、ここから本文を書き換えたり、ページのリンクを生成しようと思ってます。 var arr = new Array(2); arr[0] = ["あ","い","う"]; arr[1] = ["を","わ"]; function fu(sc){ for (var j = 0; j < sc.length; j++){ document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">'); } } var wk; for (var i = 0; i < arr.length; i++) { wk=arr[i]; fu(wk); }
あ=い=う=を=わ="あんぽんたん" をこのソースに追加しろ 自分がPCにさせていることに責任を持て
>>722 alert(あ);
「あ」という変数が無い
alert("あ");になるようにするには、どうしたらいいか?
addEventListenerを使うのはどうか
document.write('<input type="button" value="' + j + '" onclick="alert(' + sc[j] + ')">'); を document.write('<input type="button" value="' + j + '" onclick="alert(sc[' + j + '])">'); にすると、最初に作ったボタンの中身が変わってしまいます…
>>722 chromeのデベロッパーツールやFireFoxのFirebugなどでは、javascriptで操作後のHTMLが確認できる。
まずはそういうので、どうなっているか確認するんだ。
質問するはそのあとでも遅くない。
まあ、まずはdocument.writeをconsole.logにしてだな……
これだけヒント貰ってわかんないんだから皆言うだけ無駄無駄 document.write('<input type="button" value="' + j + '" onclick="alert(\"' + sc[j] + '\")">'); これが答え さあ帰った帰った
この早漏め
回答者は調子に乗りすぎに思うのですが。
だからなに? どうしてほしいの?
ぼくちゃんどうちてほちぃんでちゅかあ?
基本ツンデレだから偉そうなヤツだろうが、お前は本を買えって言うやつにも ちゃんと教えてくれるのがココの奴ら
回答者は投げやりにならない質問者が納得できる形で教えて下さい。 こちらはまず初めに頭下げてお願いしている訳ですから、そちらもちゃんと誠意を見せて欲しいものです。
私も
>>735 の意見に賛成です。
次回から回答者の心構えをテンプレに入れましょう。
それなら知恵袋とかで聞けばいいんじゃね
知恵袋よりこっちの方が正確だしいい回答だと思う
>>735 こういう「頭下げてるんだから優しく教えろよ」みたいな文句垂れるくらいなら
>>738 って事
もしくは金払ってプロでも教えを乞えば懇切丁寧に分からない所教えてもらえるよ
回答になってないのはまた別問題で
回りくどいのは意地悪してるのも居るかもしれ無いが頭働かせて閃くように促してるのが殆どだと思うんだが
740 :
739 :2012/03/28(水) 15:53:38.76 ID:???
よくわからんな ここは知恵袋より劣悪な環境だ、嫌なら来るなと言いたいのか? 俺はここの方が幾分マシに思えるが
ちゃんと回答してんのにケチつけられるとか たまったもんじゃねーわ
ここって俺が知ってる限りネット上では奇跡的と言えるほどマトモなスレなんだけどな
それは暫く俺がレスしていなかったからかな。
746 :
739 :2012/03/28(水) 16:23:24.02 ID:???
俺も聞く側ですわ 口ぶりが気に入らないならもっと丁寧に説明してくれる場所があるでしょって言いたいだけ 回答の良し悪しで言うならココがいいと思ってるし
良い回答を得たければ質問者は良い質問を心がけろ
そのためのコツはテンプレ
>>1 に書いてある
運の要素も否定しないが、質問をスルーされたり、
ピントのズレた回答が付くのにも往々にして理由がある
それで誠意見せろとか冗談も甚だしい
知恵袋の回答者の方が、明らかに上から目線だよね
_, ,_ パーン
( ‘д‘)
⊂彡☆))Д´)
>>735
751 :
Name_Not_Found :2012/03/28(水) 16:50:32.26 ID:FJcXPkO4
質問する人が、問題を解決できる回答を期待するように
答える側も「ただ問題点の指摘だけでなく根本的にわかってもらう」ために
>>724 みたいな回答をして、理解してもらえることを期待している
双方とも期待を裏切られると「なによ!なんなのよ!」て気持ちになっちゃって
ちょっと殺伐とした空気になるのはしゃーなしだな
※良い例だと思ったので勝手に安価しました
>>724 さんすみません
まあとにかくだ、document.writeする前に それをconsole.logに書き換えてどう出力されるのか確認したまい Firefox なら Ctrl+Shift+K で IE なら F12 で Chrome なら で Chrome Lite なら about:debug で Opera なら で Safari なら で Konqueror なら で Lynx なら で Netfront なら で w3mなら で WebConsoleが開くから Firebug使ってもいいけどな
>>751 何を指摘されてるのか理解できたら、
>>723 も同じ事言ってるのが分かるけどな
正直先を越されたと思ったし
春休み特別企画が始まってたのか ↑ここまでなりすましの自演 ↓まだまだ続くよ
757 :
Name_Not_Found :2012/03/28(水) 17:25:07.87 ID:AcktYBaU
758 :
Name_Not_Found :2012/03/28(水) 18:00:12.54 ID:FJcXPkO4
>>757 星の数ほどある入門向けの定番の1つなんで
サンプルは適当に探してもらうとして
nameでもidでもclassでもtitleでもsrcでもなんでもいいいから
「切り替わる大きい画像の<img>要素」が特定できればいいわけじゃん?
getElementByIdとかquerySelectorとかを使うといいよ
あとnameはタグじゃなくて属性ね
759 :
713 :2012/03/28(水) 19:09:13.09 ID:???
>>716 丁寧に解説して頂き有り難う御座いました。
凄い理解できました。
760 :
757 :2012/03/28(水) 20:13:06.94 ID:AcktYBaU
761 :
Name_Not_Found :2012/03/28(水) 20:27:05.50 ID:FJcXPkO4
>>760 マウスオーバとかのイベントのたびに、大きい画像のimgを探してるわけだが
そうじゃなくて、まず最初に探して変数に入れておく
そうすれば、大きい画像のsrcが最初は何だったかわかるじゃん
それも変数に保存しておく
あとは、マウスオーバしたら画像のsrcをお好みのものに変える
マウスアウトしたらsrcを保存しておいたものに変える
<test1.js> var paths = ['c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE', 'c:\\Windows\\notepad.exe']; <test2.js> function run(pathw) { var wshshell = new ActiveXObject("WScript.Shell"); wshshell.run(pathw); } <test3.js> function loop(wsc){ for (var j = 0; j < wsc.length; j++){ document.write('<input type="button" value="' + j + '" onclick="run(wsc[' + j + '])">'); } } <main.html> var sc; sc = paths; loop(sc); for(var i=0;i<paths.length;i++){ paths[i] = '"' + paths[i] + '"'; document.write('<input type="button" value="test" onclick="run(paths[' + i + '])">'); } と書いた場合、最後のhtml内に直接書いたfor〜のrun()はうまく動きますが、 外部ファイルに切り出したloop()から呼ばれるrun()は動作しない理由はどこにあるんでしょうか?? ieのF12で見れるソースを見ると、 ともにhtmlの<inputタグは全く同じように展開されていて、問題ないように見えるのですが・・・
jQueryUIのタブでそのサイトと同じようなこと出来た気がする
764 :
762 :2012/03/28(水) 23:00:32.49 ID:???
追記です。 書きもれましたがloop()で、 パスの前後にダブルコーテーションつけるように処理入れてます。
>>764 wscはloop関数内のローカル変数だから。
script側から画像の読み込みを強制中断させるにはどうしましょう
またggrばすぐ分かる事を
>>765 記述が同じになっていても、
渡す引数がないってことですか。
このような場合はどう対処すると、
ローカルを乗り越えられるんでしょうか?
()に直接パスを展開させてしまうと動きませんでした…
769 :
Name_Not_Found :2012/03/29(木) 08:45:54.52 ID:K1Gn5nTR
>>768 ロカール変数は外からは参照できないよ
>>762 でやろうとしていることは
function loop(wsc){ // 変数wscは関数loopのローカル変数
}
loop(sc);
<input type="button" value="" onclick="run(wsc[0]);">
<input type="button" value="" onclick="run(wsc[1]);">
こう書いているに等しい
直接展開させると動かないって書いてるけど
<input type="button" value="" onclick="run('c:¥¥Program Files¥¥Microsoft Office¥¥OFFICE11¥¥EXCEL.EXE');">
<input type="button" value="" onclick="run('c:¥¥Windows¥¥notepad.exe');">
このようにHTMLを書けば動くはず、つまり何か書き間違えている
やろうとしていることが「onclick属性の中に各JSをJSで書く」という
とても遠回りなことになってしまっているよ
>>769 ()の中に、シングルコーテで囲って
パス書いたのも動きますか?
同じように書いても、ファイルが見つからないと言われます
クォーテーションをクォートを略すのは見聞きするけど、 コーテーションをコーテと略すのはどこの流派だ。
流派? 携帯だったのと、長くなるから 途中で止めただけです
773 :
Name_Not_Found :2012/03/29(木) 13:14:16.27 ID:K1Gn5nTR
>>770 それはJSの問題じゃないから知らんw
¥とバッククォートが間違ってるとか、その辺じゃないか?
774 :
Name_Not_Found :2012/03/29(木) 13:15:08.06 ID:K1Gn5nTR
間違えた 誤:バッククォート 正:バックスラッシュ すまんこ
>>770 パスに空白を含む場合、パスをダブルクォートで括る。
var path = '"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE"';
or
var path = "\"C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"";
new ActiveXObject("WScript.Shell").Run(path);
776 :
766 :2012/03/29(木) 14:38:13.37 ID:???
なら強制切断はいいや 画像が存在しているかチェックするにはどうしましょう ただしimg.srcにアドレス入れるのはダメな 毎回画像読み込んでたら重くてしょうがねぇ
HEADメソッドでも使えば
778 :
Name_Not_Found :2012/03/29(木) 17:16:16.11 ID:K1Gn5nTR
errorは駄目なん?
普通にDocumentContentLodedのときにwindow.abort()すりゃいいじゃん
>>775 それはもちろんそうしています。
ただやっぱりrun()に直接パスを書いた場合は動かないんですよね?
回りくどいやり方をしているとのことですが、
パス、ボタン設置、オープン動作、を
機能分けするとこの形になっちゃうと思ったんですが、
最初のローカル変数だから動かない事象を起こさず、
値をパス→設置→動作へ、渡す方法があるってことですか?
781 :
Name_Not_Found :2012/03/29(木) 19:35:23.64 ID:K1Gn5nTR
>>780 >run()に直接パスを書いた場合は動かないんですよね?
期待通りに動いていない理由を切り分けられていない
htmlにこう書いて
<script type="text/javascript">
function run(pathw) {
alert(pathw);
}
</script>
<input type="button" value="" onclick="run('c:¥¥Program Files¥¥Microsoft Office¥¥OFFICE11¥¥EXCEL.EXE');">
<input type="button" value="" onclick="run('c:¥¥Windows¥¥notepad.exe');">
書いた内容がアラートされるなら、引数の受け渡しは問題ない
http://jsfiddle.net/mVkru/ つまり動かない理由は関数runの中にある
782 :
Name_Not_Found :2012/03/29(木) 19:52:22.45 ID:K1Gn5nTR
>>780 んで、俺だったらこんなふうにします
var path = ['hoge','fuga']; // 値
function run(p){ alert(p); }
for(var i=0,l=path.length ; i<l ; i++)(function(p){ // ループ
var path = p;
var button = document.createElement("input");
button.type = 'button';
document.body.appendChild(button); // 設置
button.addEventListener('click',function(){
run(path); // 動作。ここからならループのスコープは参照できる
},false);
})(path[i]);
どこからどう見てもIEを想定してる上に、おそらくIE6くさいから addEventListener じゃなくて attachEvent だな
>>782 pとか使うんだったら最初からpathsにしたほうがよくね。命名って大切だぞ。
785 :
Name_Not_Found :2012/03/29(木) 20:13:29.51 ID:K1Gn5nTR
指摘感謝
>>781-785 ありがとうございます
domですよね?
今まで書いてきたコードと構文も違うので、もうちょっと勉強しますが、
>>782 のものは、そのまま転記しても動かないですよね?
>>783 に書き換えても。
JSで特定の要素のdisplayをnoneからblockに切り替えた際、 その要素に指定されているmarginが正しく反映されません。 具体的には、左右のmarginは効いているのですが、margin-top だけがゼロになってしまいます。 この現象はIE8のみで起きていて、IE7やその他のブラウザでは意図したとおりに 表示されます。 どのような原因が考えられるでしょうか?
788 :
782 :2012/03/30(金) 00:08:29.68 ID:zxyEdfC3
>>786 動かんかね?
firebugでちゃちゃっと書いただけだからあれだけど
head要素に書くなら、loadとかdomContentLoadedで動かすようにしてくだされ
入門書の最初の方にはdocument.writeでやるのが書いてあるかも知れんが
今、世の中に転がってるサンプルとか解説はdom前提だから
食わず嫌いしないで覚えるといいよ
wshについては、詳しい人が現れるのを待つか、
wshスレで聞いてちょ
>>786 動かないよねって実際に試してみた?動かないならエラーが出るはずだけど。
>>787 jsfiddleとかで再現してみるといいかも。
791 :
787 :2012/03/30(金) 01:24:18.94 ID:???
>>790 jsfiddleでは正しく表示されました。
結局marginを使用せず、他の方法で位置調整することで
対応することにしました。
>>791 それならdoc宣言を疑うべきだったかもね
スレ違いだろ
>>786 addEventListener の文字列をそのまま attachEvent に変えるだけじゃ動かんよ。
attachEvent の文言でぐぐってみて違いを見てみよう。
だがしかし、スコープがまだわかってない相手にDOMは、一足飛びのような気がしないでもないね。
796 :
766 :2012/03/30(金) 08:00:01.09 ID:???
XMLHttpRequestでHEADリクエスト送って404確かめよう思ったら 画像置いてある鯖のドメインが別で通信できねーわ 他にファイルの存在チェックをする手段は無いのかね
new Image()
出来ねーよバカ言うんじゃねえ
画像があるかどうかだろう? それならImageでできるよ
797じゃなくて766に言った感じなんだけどな。 画像自体の読み込みは出来るだろうけど、HEAD飛ばして存在のみを確かめるのは無理じゃねえの?
アスペなのか恥隠しなのか知らんが読解力&記述力無さ過ぎだろ……
802 :
786 :2012/03/30(金) 11:20:25.27 ID:???
ボタンは表示されるけどアラートが動かないです ちなみに、上の記述だとpathが同じ階層にありますが、 また関数やファイルを分けて動かそうとすると、 ローカルだから動かない状況は同じですよね
>>796 結局何がしたくて何を教えて欲しいのか具体的に言い直してみて
>>781 >書いた内容がアラートされるなら、引数の受け渡しは問題ない
それじゃ駄目。
アラートされても、引数の渡し方に問題がある。
既存のhtmlで <td>@ hoge</td> <td>@ foo</td> これを <th>hoge</th> <th>foo</th> こういう風にtd要素が"@ "から始まっていれば th要素として描画するように動的に書き換えたいのですが、方法がわかりません jqueryのhtml()で要素の内容を置換できることはわかったのですが 要素の内容に応じてタグそのものをいじることはできないのでしょうか。
d=document.getElementsByTagName("td") for(i=0;i<d.length;i++){e=d[i] if(e.innerText.slice(0,1)=="@"){ e.outerHTML="<th>"+e.innerHTML+"</th>"}
d=document.getElementsByTagName("td");for(i=0;i<d.length;i++){e=d[i]; if(e.innerHTML.slice(0,2)=="@ "){e.outerHTML="<th>"+e.innerHTML.slice(2)+"</th>";}}
jqueryでやったほうが遥かに楽だな
たったこんなことだけのためにjQueryを読み込んで使う方が面倒だと思う
foreachとかと&&使えば{}不要で超短くなるんじゃない?
短くする意味が分からねえよ
初めからthを書け
813 :
782 :2012/03/30(金) 13:44:50.69 ID:TZP3QdO9
>>804 つまり…どゆこと?
文字列がわたるだけでは駄目でした?
814 :
Name_Not_Found :2012/03/30(金) 13:50:11.94 ID:TZP3QdO9
>>802 クリックしても動かないということは
attachEventの書き方が間違っているんだと思うよ
先にも書いたけど、パスの文字列が正しく渡っているなら
期待通りに動かないのはJSではなくwshの問題
JSを別のファイルにしたら動かなくなるとか
そういうことはないよ
とりあえず、動かなくなった奴を晒してみてよ
815 :
Name_Not_Found :2012/03/30(金) 13:55:53.13 ID:TZP3QdO9
>>800 imageのonerrorでどうじゃろか
>>813 var path = 'C:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE';
new ActiveXObject("WScript.Shell").Run(path);
これだと、コマンドラインにシングルクォート内の文字列を渡すのと同じことになる。
スペースで区切られるから、alert で問題なくても、Run に渡す場合に問題になる。
>>816 いや、引数の受け渡しを言ってるんでしょ
onerrorでは無理だな
onabort
>>817 え?
だから、受け渡しに問題なくても、他で問題があると言ってるんだけど?
804を読んでみな。伝え方に問題があったな
822 :
813 :2012/03/30(金) 14:35:37.94 ID:jO8VIHzM
文字列(パス)自体の書き方が、wsh的に問題があるってことでしょ? 引き渡し方にはJS的に問題ないけど windowsのことはよくわからんので もし詳しく知っているのなら教えてあげてくだされ
原因をjsとwshに分けて考えようって話なのに
それを見事に無視する
>>804 がイミフだよ(´ε` )
「run()に直接パスを書いた場合は動かない」と言ってる質問者
>>780 に対して、
誤った書き方をしてる回答
>>781 に対するレスが
>>804 なんだが。
意味和姦ねーよ。
run()に直接パスを書いた場合を適切に例として示すなら
<input type="button" value="" onclick="run('\"c:\\Program Files\\Microsoft Office\\OFFICE11\\EXCEL.EXE\"');">
と書くべきってこと。
これについては、既に
>>775 で言及してるが。
和姦ねぇもんは仕方ないなw
>>825 お前馬鹿だろw781の意味が理解出来てないじゃん
小学生か。 4月から中学生の仲間入りだな。 毛は生えたか?
>>828 おつむが気の毒な人ですか。
なんということでしょう。
ちなみにこのアホ
>>828 は文脈を理解してんのか?
落ちつけ。みっともないぞ(´ε` )
/: : : : : __: :/: : ::/: : ://: : :/l::|: : :i: :l: : :ヽ: : :丶: : 丶ヾ ___ /;,, : : : //::/: : 7l,;:≠-::/: : / .l::|: : :l: :|;,,;!: : :!l: : :i: : : :|: : ::、 / ヽ /ヽヽ: ://: :!:,X~::|: /;,,;,/: :/ リ!: ::/ノ l`ヽl !: : |: : : :l: :l: リ / そ そ お \ /: : ヽヾ/: : l/::l |/|||llllヾ,、 / |: :/ , -==、 l\:::|: : : :|i: | / う う 前 | . /: : : //ヾ ; :|!: イ、||ll|||||::|| ノノ イ|||||||ヾ、 |: ::|!: : イ: ::|/ な 思 が /: : ://: : :ヽソ::ヽl |{ i||ll"ン ´ i| l|||l"l `|: /|: : /'!/l ん う ∠: : : ~: : : : : : : :丶ゝ-―- , ー=z_ソ |/ ハメ;, :: ::|. だ ん i|::ハ: : : : : : : : : : : 、ヘヘヘヘ 、 ヘヘヘヘヘ /: : : : : \,|. ろ な |!l |: : : : : : : : :、: ::\ 、-―-, / : : :丶;,,;,:ミヽ う ら 丶: :ハ、lヽ: :ヽ: : ::\__ `~ " /: : ト; lヽ) ゝ レ `| `、l`、>=ニ´ , _´ : :} ` / ,,、r"^~´"''''"t-`r、 _ -、 ´ヽノ \ノ / お ・ ,;'~ _r-- 、__ ~f、_>'、_ | で 前 ・ f~ ,;" ~"t___ ミ、 ^'t | は ん ・ ," ,~ ヾ~'-、__ ミ_ξ丶 | な 中 ・ ;' ,イ .. ヽ_ ヾ、0ヽ丶 l / ( ;":: |: :: .. .`, ヾ 丶 ! \____/ ;;;; :: 入:: :: :: l`ー-、 )l ヾ 丶 "~、ソ:: :い:: : \_ ノ , ヾ 丶
少し前に現れた aa 貼る馬鹿か…
..... .:_ -― ─- 、:. ...... ..::⌒>.、:: ...::/::.::/::.:: ヽ::.::.\::....::x<⌒::. ::x-=≦.::.-=`ミO.:/:/:/|:./.:ハ::ヽ::`O::-=ミて`く⌒ヽ:: ::, イ::ノ⌒'Z _⌒ Y彡::./V j/ヽ::ハ.::.V::Y⌒/;^)- 入 \: ::/ :/八 '(:::::':,\ トV::./⌒ ⌒ヽ.::∨/,.::'::/ /:::∧ '\:: ::/ `V::/ヽ\ \ :':, 八W __ __ jハ:::l, :':::::, ′ /:::/  ̄ ノ\:: ::〈 ,.:'::/ ヽ \ \:l:ハ| 〃⌒ ⌒ヾ ハ:|::::/ ,.イ:::/ ∠.::勹:: ::/ ! :.'::::∧ | ヽ \ム .::::: r ┐ ::::.,'ノ/ / /::/ |__:/:: ::∠._jハ_ん:ヘ/}ノ /ヘ ヽゝ_ ヽ ノ イ/ /⌒ん'⌒)_>::  ̄  ̄`ヽ `=≧r ‐i彡''´ /::  ̄ ::\ヽ ` ´ / /:: :: ,′ ::i :; :; i:: ::| |:: ::l |:: ::j :: ::,′ l:: ::/ |:: ::/ !:: ::/ 〉┴r :: ::,′ /:: ::| |::
AA貼る奴消えてくんねーかな 前々からうぜぇんだよ
>>832 とか
>>836 みたいなのが荒れるきっかけになりやすいんだけどな。
「はい、分かりました」なんてなる訳ないんだから。
AA含め、コピペしか能のないやつが住み着いたんだな。 きっとコードもコピペ主体なんだろうな。 社会的な処遇を推察すると心中察するぜw
無視しとけばいい。 そいつのリアルと同じ様に。
>>826 run側で""に包む処理を入れるほうがいいと思うぜ。
>>840 コマンド自体に引数を渡す場合があると無理。
>>838 ,839
荒らしとは言えどうしてここまで酷い事が言えるのか不思議
涙拭けよw
いちいち難癖付けてる奴含め春坊が沸いてるだけだからスルーしとけよ。
騒いでるやつは自分のレス振り返って見てみろ 荒らしと一緒になって騒いでんじゃねーよ
846 :
813 :2012/03/30(金) 17:38:39.16 ID:jO8VIHzM
相変わらず質問者が置き去りな件 そしてやっとわかったぁぁぁぁ wsh.runが引数のスペースをコマンドの区切り子として扱ってしまうけど それはエスケープするんじゃなくて、全体をダブルクォートで括ることで解決できる という仕様なんだね? だとしたら、引数渡す前にいちいちゴニョゴニョするより function run(cmd) { var wshshell = new ActiveXObject("WScript.Shell"); cmd = '"' + cmd + '"'; wshshell.run(cmd); } の方が良いんでないかい?
>>841 コマンドの引数はrun()の第2引数以降にするんだ。
850 :
Name_Not_Found :2012/03/30(金) 17:47:54.07 ID:jO8VIHzM
>>849 それでもできるけど、管理上わかりにくいよ?
new ActiveXObject("WScript.Shell").Run("cmd /K echo foo");
とか。
それに wshell.Run にも柔軟に引数渡したくなるかもだし。
new Functionとevalのメリデメを教えて下さい。
根本的に分かってねえやつが柔軟にとか出来るわけねえだろ というか柔軟にやろうとした結果(データとビューの分離)がこの大惨事なわけだが
>>846 >相変わらず質問者が置き去りな件
十分な知識を持ってないのに回答するからじゃないか
855 :
Name_Not_Found :2012/03/30(金) 18:27:27.72 ID:jO8VIHzM
てへぺろ(・ω<)
プロトタイプチェーンで質問です IE8です var objA = new Object(); objA.prop1 = 10; function Func1() {} Func1.prototype = objA; var objB = new Func1(); function Func2() {} Func2.prototype = objB; var objC = new Func2(); //alert(objC.hasOwnProperty("prop1"));//falseになってしまう alert(objC.prop1); //undefinedになる。10が期待値 何が悪いのでしょうか?
フツーに10になるが?byNF
console.log("objA:"+objA.prop1); console.log("objB:"+objB.prop1); console.log("objC:"+objC.prop1); IE8デベロッパーツールでRun Scriptしただけだが全部10になるぞ。
859 :
856 :2012/03/30(金) 23:01:20.49 ID:???
>>857 ,858
すいません。間違えました
var objA = new Object();
objA.prop1 = 10;
function Func1() {}
Func1.prototype = objA;
var objB = new Func1();
function Func2() {}
Func2.prototype = objB;
var objC = new Func2();
alert(objC.hasOwnProperty("prop1"));
//falseになってしまう
これは何故falseになってしまうんでしょうか?
10が入っているのでtrueになる筈だと思っているのですが
860 :
Name_Not_Found :2012/03/30(金) 23:58:52.90 ID:jO8VIHzM
861 :
Name_Not_Found :2012/03/31(土) 00:19:55.11 ID:Jjnz407I
862 :
Name_Not_Found :2012/03/31(土) 00:28:15.47 ID:b7gWWrrj
正規表現の前後にスペースを入れたのはなぜでしょうか?
863 :
Name_Not_Found :2012/03/31(土) 00:36:26.78 ID:Jjnz407I
>>862 勘違いしてました
ですが外してみても機能しません…
865 :
Name_Not_Found :2012/03/31(土) 01:14:14.93 ID:Jjnz407I
>>864 すみません
機能していましたね
ありがとうございました!
866 :
Name_Not_Found :2012/03/31(土) 17:57:50.75 ID:fxgchxJo
1だと正常に戻りたいページに戻ることができます。 画像をボタンにしたかったので2にしたのですが、 違うページに飛んでしまいます。 どうしたら画像を使い1と同じ動作にできますか? 1:<input type="button" value="戻る" onclick="javascript:document.location.href='%back_url%'" class="submit" /> 2:<input type="image" img src="b.jpg" border="0" value="戻る" onclick="javascript:document.location.href='%back_url%'" class="submit" />
>>866 HTMLの勉強をするべきだね。JavaScriptと関係ないから。
input type="image" なんて見たの何年ぶりだろう。
俺は始めてみた・・・<input type=image
input type=imageはまだまだ使われてるでしょ JS使わずに出来ることを態々JSでやる必要ないしな
> JS使わずに出来ることを態々JSでやる必要ないしな リンクにURL指定して画像入れ子するだけだからJSでやる必要ないな。
POSTで送信したい時とかもリンクにするのか
なんでPOST?って調べたらtype=imageはsubmitも兼ねてるのかw使おうと思ったことないから知らんかった そしてtype=imageはonclickが聞かないというのも見つけた
chromeはwebkitGetUserMediaで音声が取得できるようになったと聞いて マイクから一定以上の音量が入った場合を感知させようと思うのですが webkitGetUserMediaのサンプルはビデオばかりですし そもそもjsから音声の瞬間的な音量を取得する方法すらあるのか疑問です webkitGetUserMediaで取得したオーディオの音量を取得する方法を教えて下さい chrome18です。chrome://flags/はオンにしています。
そろそろ、wshの話しはwshスレでやってくれんか。 専門スレがあるのに、なぜここで続けるんだ? ここはJavaScriptのスレであって、wshはJavaScriptではない。
つうかwshの話はとっくの昔に終わってるだろ 何蒸し返そうとしてんだYO
そうなにいってんのかわからんかった wshとjscriptのくべつのつかんあほじゃなかろか
<div id="ground" onclick="upset(event)"></div> ↑コンテナの中をクリックする度に相対的な座標をアラートで表示させたい。 だけどupset()になんてかけばいいんだ? function upset(e){ var rect = e.target.getBoundingClientRect(); x =Math.floor(e.clientX - rect.left); y =Math.floor(e.clientY - rect.top); alert(x+':'+y); } って書いてもなんかうまいこと行かない。
upset(Baka)
880 :
Name_Not_Found :2012/04/01(日) 22:34:28.16 ID:WAH/pcmP
>>879 それなりにおもしろい答えだと思います。
>>878 そんなの、いきなり最後まで計算するんじゃなくて、 eとかe.targetとかrectとか
rect.leftとかe.clientXとか全部alertしてみれば分かるんじゃないの。
ajaxなどでバックグラウンド通信でもクッキーはブラウザに記録されてしまいますか? クッキーを拒否する方法とかありますかね・・・
wshってなにかと思ったらドザ用か
される プライバシポリシーで拒否っとけばいーんじゃないですかね
すみません・・誘導されて来ました。 コンボボックスAの値によって、コンボボックスBのデータ(データの個数はバラバラ)を変えているのですが、optionの個数が変わらず、空白の物が出てきてしまい非常に不細工です。 空白のoption以降をoptions[i] = nullで消すことはできたのですが、今度は復活が出来ません・・。 それに、前に表示させたデータが残ったままになってしまったりもします。 "り","ん","ご"の3つの要素から→"か","み","さ","ま"の4つに変えた場合、 りんごまになってしまいます・・。 なんとか、助けてください・・。
>>888 removeChildとappendChildを使えばいい
890 :
Name_Not_Found :2012/04/02(月) 22:17:53.50 ID:5yaI8hox
selectのaddとremoveメソッド使わんで大丈夫なん?
>>892 すみません、phpとjsとhtmlとcss、ほぼ同時並行で勉強中の身なのです・・・。
でも、今回はおかげさまで解決できました!ありがとうございます!
逆手にってどういうこと?
一旦全部消してoptions.length++で要素の数だけ増やしていくとか?
>>894 select element を "e" だとするとき
n=e.options.length とやると
option の個数を得られるでしょ?
ところが逆に
e.options.length=n とやることも可能で
n 個の "options" をセット出来るという意味.
あとは options の内容を好きなように書き加えるだけ.
897 :
Name_Not_Found :2012/04/03(火) 18:13:26.55 ID:GZpfK32G
テーブルの表があるとします。 クリックしたらセルの色が変わり、マウスを移動させると 隣のセルの色も変わるような セルの範囲指定(カレンダーの日付を選択するイメージ)を作っています。 クリックしたセルの色を変える → onlickの処理 隣のセルの色を変える → onmouseoverの処理 は問題ないのですが、セルが3つある時、以下のような表示になります。 ■□■ ※■は色が付いたセルと過程。右3に移動した時に、右2にも色が付いて欲しい。 そして、右2でマウスを止めた時は、右3に色が付かないようにしたい なにか参考となるサイト、プラグイン、検索ワード等ありましたら、教えてください。
898 :
Name_Not_Found :2012/04/03(火) 18:23:38.14 ID:4wd84y03
そんな事してたら重いし月跨ぐときどうすんだよ 始日と終日を入力させるようにしてクリックしたらそこに日付が反映されるので十二分
900 :
Name_Not_Found :2012/04/03(火) 18:33:05.08 ID:GZpfK32G
>>898 せっかくなんですが、Ruby on Railsはわかりません・・。
あと、デモも見られないようです。
>>899 週間カレンダーなのでセルの数は7で良いのです。
マウス操作で色を変えるUIが結構あるので、似た事をしたいです。
CSS3からそれと全く同じ事できるようになったなそういやあ。
>CSS3 から 問題は対応 browser が限られてしまうこと. Mozilla 系でも CSS2 がやっとこさの代物を使ってる人がいたり. <- σ(^_^;) IE に至っては CSS2 でさえも怪しかったりする. (IE8 がどうなのかは知らないけど)
IEはいらないこ
IE9はがんばってるぞ
うん、まぁ。IE9以降はかろうじて許そうじゃないか。 しかし6、7、8。おまえらはダメだ
IE6→なかなか退かないクソゴミクズカス IE7→ウンコ、掃除してもまだ臭い IE8→放射性廃棄物、半減するのに数十年かかる IE9→ふつう
909 :
Name_Not_Found :2012/04/03(火) 19:59:49.11 ID:GZpfK32G
910 :
Name_Not_Found :2012/04/03(火) 20:17:08.11 ID:ZbzPVyNI
ページ中でtest.jsのスクリプトタグが2つ以上埋め込まれた場合、 2つ目以上のtest.jsでは処理をさせたくないので 既にtest.jsが読み込まれているかどうかのチェックをしたいのですが どうやってするのが良いのでしょうか? グローバルに読み込み完了フラグ変数を作ってそれを実行時に確認する以外に良い方法ってありますか?
>>909 >jQueryで作っていまして
\(◎◎)/
なぜって中身のはっきりしない物は好みでないから.
サンプルさえ提示していれば他の人が答えてくれるでしょう.
>>910 読み込みチェック専用関数を定義しておいてtry〜catch
<form name="A"> <input type="text" name="aaa"> </form> <form name="B"> <input type="text" name="bbb"> <submit value="送信"> </form> このようなソースで、Bのsubmitを押すだけでAの内容も送信出来るようにすることは可能ですか?
可能
915 :
Name_Not_Found :2012/04/03(火) 22:07:12.57 ID:4wd84y03
>>909 以前自分が似た様なことやったときは
tdのマウスダウンで開始、このtdを開始tdとする、preventDefault
tdのマウスオーバで、開始tdからこのtdまで形成される矩形範囲のtdを反転
マウスアップで終了
てやった
矩形範囲を、いちいちtbodyのtdを走査して判定すると重くて死ねるので
サーバサイドでtable書くときにtdに座標となるIDふっておいた
たぶんもっと賢いやり方はあると思うけど
917 :
Name_Not_Found :2012/04/03(火) 22:12:10.40 ID:4wd84y03
>>916 Aの方をAjaxで投げてからBをPOSTすればええやん
918 :
Name_Not_Found :2012/04/03(火) 22:12:49.75 ID:4wd84y03
ごめん、勘違いか
919 :
Name_Not_Found :2012/04/03(火) 22:32:15.59 ID:BPaAqyLi
>>912 読み込みチェック専用関数内ではどういった事をしたらいいんですか?
>>919 なにもしない。
関数呼び出しが成功すれば読み込みずみ。
失敗すればcatchのなかで読み込めばよくね?
>>916 送信ボタンをsubmitではなく、普通のボタンにして、
そのボタンのclickイベント発火によって、
A,Bの値を送信する関数書くだけだろ。
何も難しいことはない。
>>921 ははー、なるほど。
ちょっと、調べてやってみます。
しまったもう900。テンプレ論議、、、しなくていいよね、別に。
924 :
Name_Not_Found :2012/04/04(水) 17:56:25.82 ID:FwIXlWG+
2つのタグがあるんですが、Aを長押し、次にBを長押しした時にアラートを出すにはどうすればいいですか?
mousedownとmouseup使えば
作っているエレメントの表示位置を調整する為にエレメントの高さが必要なのですが、エレメントの高さが固定でない為調べるしかありません。 elem.scrollHeight、elem.clientHeight、elem.offsetHeightとそれっぽいプロパティを拾ってみたのですが、全て0が返ってきてしまいます。 add=document.createElement("div"); add.innerHTML="なんたらかんたら<br>改行がいくつあるかわからない"; add.style.top=?+"px";//ここでaddの高さを知りたい document.querySelector("body").appendChild(add); addの高さを調べるにはどうしたらよいのでしょうか chromeです。
var cs=add.currentStyle,pI=parseInt; var h=pI(cs.height,10)+pI(cs.borderTopWidth,10)+pI(cs.borderBottomWidth,10);
928 :
Name_Not_Found :2012/04/05(木) 12:14:21.75 ID:zqdQYMWw
TEXTAREA にonloadって無いの?
929 :
Name_Not_Found :2012/04/05(木) 12:17:34.72 ID:zqdQYMWw
onload とか onclickとかが どの要素にどれだけあるかの一覧表ってどこかにある?
あるけど教えない
>>929 俺の解釈が間違ってたら申し訳ないけど
イベントハンドラでggr
>>926 1回レンダリングしてあげないと、計算値はとれないよ
var add = document.createElement("div");
add.innerHTML="なんたらかんたら<br>改行がいくつあるかわからない";
document.body.appendChild(add);
add.offsetHeight;
こんな順序にしないといけない
で、追加した要素が原因で表示がチラついたり一瞬だけ見えちゃったり云々があるから
それをどう解消してやるか、という話になってくる(計算値がとれないのとは別の問題)
あとはガンガレ
>>931 イベントハンドラのみの一覧はよく見るけど、
OnClickのあるなしとかをほぼ全ての要素で網羅したのがほしい
Microsoftのページですげぇとこがあった記憶があるんだけど
今探しても出てこない
>>934 これはこれでいいカンペだな。
探してたのとはちょっと違うけどありがとう。
>>935 そのくらい自分で作れ
10分で作れるだろ
>>936 10分じゃ無理だろ
どういう考えで10分なんだ・・・?
936が10分で作ってくれるそうだから待ってたらいいんじゃないかな
10分間待ってやる
待てど暮らせど... 一向に... 10分って そんなに長い時間だったの?
>>940 素朴な疑問なんだけどイベントハンドラってbody内なら全部使えるんじゃないの?
さあ? 疑問に思ったこともなかった. いつだって try&error で切り抜けていたから.
943 :
Name_Not_Found :2012/04/06(金) 07:52:44.51 ID:UXpU0HH8
>>937 table
for→createElement→for→hdr in elm
/table
で10分くらいでできないかな?
ハンドラのリストは見つけてるっぽいし
>>943 要素のリストも必要だろう。
リストからコード化するのも場合によっては時間がかかる。
確かに場合によっちゃあ一月くらいかかるわな。
いくら仕様を見ても実際使ってるブラウザでどうなるかわからないとしょうがないからね。
949 :
Name_Not_Found :2012/04/07(土) 20:59:10.90 ID:0H3B4pcW
オブジェクト指向JavaScriptで↓みたいにthisを使うとcallbackで困るんだけど 定石みたいのない? var Int = function(n) { this.n = n; }; Int.prototype = { }
950 :
Name_Not_Found :2012/04/07(土) 21:11:49.11 ID:0H3B4pcW
オブジェクト指向JavaScriptで↓みたいにthisを使うとcallbackで困るんだけど 定石みたいのない? var Int = function(i) { var n = i; this.n = n; $("#show").click(function() { //alert(this.n); alert(n); }); }; Int.prototype = { succ: function() { return ++this.n; } }; $(function() { var int = new Int(10); $("#succ").click(function() { int.succ(); }); }); <input type="button" id="show" value="Show"/> <input type="button" id="succ" value="Succ"/>
お前はArray.forEachも使ったことないのか
ゴメン何言ってるのかわかんない
954 :
Name_Not_Found :2012/04/07(土) 23:50:06.72 ID:v4P1HbSx
955 :
Name_Not_Found :2012/04/07(土) 23:56:14.80 ID:v4P1HbSx
function __bind(){ $("#show").click(function() { alert(n); });
956 :
954 :2012/04/07(土) 23:56:52.73 ID:v4P1HbSx
まちがえた、
>>948 どんなプロパティを持っててどんなイベントが使えて
っていう情報が見れないですよそこわ
新スレは975超えたら。テンプレは同じで。
959 :
Name_Not_Found :2012/04/08(日) 09:19:12.80 ID:DqmcrH7E
>>954 純正forEachのいかんところは
文字数多い上にShift押しもイチ文字混ざっているところだ
>>950 動作確認してないので、ちょっとアレだけど
いちばん上のコンストラクタのとこのは、俺は単純に次のように書いちゃう。
var Int = function(i) {
this.n = i;
var self = this; // ハンドラの外でthisを別の変数に保持
$("#show").click(function(){ alert(self.n); });
};
いちばん下の実行部分ならこんな風に。こっちの場合は"定石"といってもいい気がするけどどうか
$("#succ").click(function() {
int.succ.apply(int); // 呼び出し先のthisを指定して呼び出す
});
あとclick()の第一引数にコールバックに渡すデータを指定できたんじゃなかったかな?
コンストラクタのをそれで書くと、こんな感じで書けるんでは↓
※あくまでも擬似コード。コールバックではイベントオブジェクトから取り出せたような記憶
$("#show").click({self:this}, function(e) { alert(e.self.n) });
イベントバインド系メソッドに渡されたデータを保持するのはe.dataプロパティ
フォーム部分 <form name="abc"> <input type="radio" name="test[0]"><input type="radio" name="test[0]"><br> <input type="radio" name="test[1]"><input type="radio" name="test[1]"><br> ... </form> スクリプト部分 for(var i=0; i<2; i++){ document.abc.elements['test[i]'][0].checked = true; } ○○ ○○ とあるラジオボタンに ●○ ●○ とチェックをつけたいのですがうまくいきません document.abc.elements['test[0]'][0].checked = true; document.abc.elements['test[1]'][0].checked = true; ↑ ●○ ●○ や document.abc.elements['test[0]'][i].checked = true; ↑ ○● ○○ なら動くのに何故でしょうか お願いします
>>962 全部「test[i]」という同じ名前になってるからでしょ。自分で「test[i]」って書いてるじゃん。
そのiだけ自分の脳内で0や1に置き換わってくれるとか思うのは勝手な勘違いなだけ。
対処方法は過去スレ見れば山のように前例があるから。
document.abc.elements['test[' + i + ']'][0].checked = true; というオチでしょ?
965 :
962 :2012/04/08(日) 17:27:57.09 ID:???
>>963-964 解説と回答ありがとうございました
[' + i + ']の + 試していましたが ' までは試してませんでした
勉強不足、失礼しました
PHPer…
Perlとかもそういった書き方できるから一概にどうとは言えんな
こんな書き方するの PHPer くらいだろ。 Perl でどんな使い方を期待して、こんな記法するんだ。
$a = 1; print "$a 回目"; これで変数aが展開されるのはPHPもPerlも一緒 逆に print '$a 回目'; これで変数aが展開されないのもPHP・Perl共に同じ
まさか変数展開の話をしていたとは… それは単にプログラミング初心者のミスじゃないか。
javascriptってシングルクォートもダブルクォートも変わりないからねー
>>970 今回の問題はそれが原因だったんだから
変数展開の話しを想定するのが普通だろ
逆にどんな話を考えてたのか聞きたいわ
>>972 え?お前↓の書き方見て、Perl 使ってるかも、とか思うの?w
<input type="radio" name="test[0]">
>>973 おい、くだらねえ連投してるお前、さっさと新スレ立てろよ
ありがとぅー!
何この流れ、、、
ネットで調べながら作ったのですが、詰まってしまいました。どなたかお力を貸していただけないでしょうか・・・ 【環境】 IE8, Firefox, chrome 【何をしたのか】 マウスクリック 【エラーメッセージ】 Uncaught TypeError: Cannot set property 'src' of null 【期待する結果】 一つのものがあって、カラーヴァリエーションをそれぞれ表示させたいと考えています。 そのために画像の切替をjavascriptで行おうとしましたが、 同ページに一つだけの場合なら上手くいくのですが、複数になると全く動きません。 【サンプルHTML】 <img src="./images/oya_a_01.jpg" name="oya_a" /> //切替画像その1 <img src="./images/01.jpg" onClick="chgImg('oya_a',0)"/> <img src="./images/02.jpg" onClick="chgImg('oya_a',1)"/> <img src="./images/oya_b_01.jpg" name="oya_b" /> //切替画像その2 <img src="./images/03.jpg" onClick="chgImg('oya_b',2)"/> <img src="./images/04.jpg" onClick="chgImg('oya_b',3)"/> 【サンプルjavascript】 <script type="text/javascript"> if(document.images) { var imgs = new Array(); imgs[0] = new Image(); imgs[0].src ="./images/01.jpg"; imgs[1] = new Image(); imgs[1].src ="./images/02.jpg"; imgs[2] = new Image(); imgs[2].src ="./images/03.jpg"; imgs[3] = new Image(); imgs[3].src ="./images/04.jpg"; } function chgimg(imgNo, imgname) { if(document.images) { document.images[imgNo].src = (imgs[imgname]) ? imgs[imgname].src : imgname; } }
chgimgの文字の大小 chgimgの引数の順序
>>979 ありがとうございます。
ご指摘いただいた修正をした結果、エラーはでなくなりましたが、
正常な動作はしませんでした・・・。
クリックした画像の一個手前の画像が切り替わってしまいました
chgimgの引数の順序 ?
982 :
Name_Not_Found :2012/04/09(月) 14:31:16.77 ID:aJhgikaX
>>980 クリックする度にその対象となる要素を探しに行くのではなく
まず最初に親子画像の要素をカップリングしておいて
それからイベントハンドラを設定すればいいよ
親子画像の要素をカップリング?
984 :
Name_Not_Found :2012/04/09(月) 15:50:22.50 ID:muZTNTDO
srcが変わるimg→親、クリックするimg→子、つー意味です
こゆのどーよ <img src="./images/oya_a_01.jpg" name="oya_a" /> //切替画像その1 <img src="./images/01.jpg" onClick="document.images.oya_a.src=this.src"/> <img src="./images/02.jpg" onClick="document.images.oya_a.src=this.src"/>
987 :
Name_Not_Found :2012/04/09(月) 20:49:01.84 ID:5+GebVdF
javascript で、結果が小数点にならない、普通のプログラミング言語で普通の動きをする 割り算はないのですが p = (p - p % 9) / 9; こうすれば見た目小数点は入ってないようではありますが、 こういうトリック使わない除算はありますか
p = Math.floor(p) / 9;
p = Math.floor(p / 9);
>普通のプログラミング言語で普通の動きをする この「普通の動きをする普通のプログラミング言語」を列挙してください
なでしこ言語
sed「コマンド」という表現に違和感がある。
スレ違い
残尿感がある。
>>987 「普通のプログラミング言語」なんて幻想。たまたま世界最初の高水準言語FORTRANがそうなって
いて、多くの言語が真似しただけ。著名な言語ではPascalとかCommonLispとかはそうなってない。
だからJavaScriptなんかごく「普通」だ。CとJavaとC++に似てるのが普通とかいうのは傲慢。
話がよく分からないから各言語での結果を書いてよ
>>997 普通とか言うくらいでいちいち反応して荒らすな
心が狭い奴らだな
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。