+ JavaScript の質問用スレッド vol.41 +
【質問を書く上で】
1)ユーザ(閲覧者)に迷惑がかかる性悪スクリプトは回答されない。
例: 別窓開きまくり、閉じる/戻るのを妨害、全画面占有、etcは最悪。
答えさせようと「分からねえんだろ」と煽っても無駄(過去スレが証明)。
2)言葉でぐだぐだ書かずにソースを貼る、ただし要点を整理して。
そのまま貼って動かせると試してもらいやすい(ただし回答者に連結さすな!)
長い(1レスに入らない)場合はアップロードしてURIを貼る。
3)初心者という言葉は危険なので使わない方がよい。
初心者を言い訳に自力で調べない/考えない奴が最悪に嫌われる。
4)自分で調べたこと/試したこときちんと書く(調べもしない奴は最低)。
ただ「動きません」「エラーです」は何も情報がないため嫌われる。
エラーは「どの行で何のエラー」を書く(ブラウザをそのように設定すれ)。
OS、ブラウザ、バージョン、うまく行かない条件を明記しエラー再現可能に。
5)どういう時にどういう動作をさせたいのかを脳内にとどめずきちんと書く。
例:「自動ポップアップしたい」←どういう場合(マウスオーバー、クリック、
ボタン押し、select選択)に何(別窓、レイヤー、その他)が出るのか書け!
6)質問はまっとうな(他人に理解できる)日本語で。
前項の例に限らず、他人に理解できない質問文は煽られるだけで時間の無駄
【FAQ】
Q1. 開いた別窓/フレームの内容にアクセスできないのですが…
A1. ページ内容が別サーバの場合セキュリティ制約により絶対無理です。
Q2. JavaScriptでローカルファイルを読み/書きたいのですが…
A2. Webではセキュリティ制約により絶対無理です。できたら恐ろしいことに…
Q3. document.write(...)でページ内容を追加したいのですが…
A3. 一度ページ表示完了後にwrite()すると内容はクリアされちゃいます。
部分的に内容変更するには(1)他フレーム/iframe/別窓への表示、
(2)textarea等への表示、(3)DOMでノード挿入、(4)innerHTMLのどれかで。
innerHTMLは非標準ですがIE、Opera、Gecko(N6/N7/Moz等)で対応済。
Q4. table/tbody/tr要素のinnerHTMLを書き換えるのがうまく行かないのですが…
A4. IEはそれらの要素のinnerHTMLは変更不能。DOMを使って書き換えるしかない。
Q5. Aタグのonclickで動作指定してるのですが時々動きません…
A5. 「onclick="...;return false"」としないとページ移動しちゃうから。
Q6. 変数w1、w2…を順にループで(番号をiに入れて)設定/参照したいのですが…
A6. グローバル変数はwindowのプロパティだからwindow['w'+i]を読み書きすれ。
Q7. フォーム部品名を変数にした「...myform.変数名.value」が動きません…
A7. 「document.forms.myform.elements[変数名].value」でどぞ。
JavaScriptでは一般に「obj.x」と「obj['x']」は同じ意味です。
例:「obj.p0=obj.p1=...=obj.p8=0;」⇔「for(i=0;i<9;i++) obj['p'+i]=0;」。
Q8. CSSで設定した背景色がe.style.backgroundColorで取得できないのですが…
A8. IEではe.currentStyle、Geckoではwindow.getComputedStyle()を使います。
Q9. 100*1.15の結果が114.999…998となってしまうのですが…
A9. コンピュータの実数計算は全て近似値だと思え。誤差が嫌なら整数で計算。
Q10. 任意のデータをサーバ(別鯖ではない)から取り寄せたいのですが…
A10. Geckoのnew XMLHttpRequest()、IEのnew ActiveXObject("Microsoft.XMLHTTP")
を使えばできる。古いブラウザだと隠しフレームに読むなどのワザが必要。
【主張の対立:他人の嗜好は尊重。損得の議論は歓迎】
・仕様を読む:回答者なら仕様の該当部分は読んでいるべき。質問者でも
仕様を読まずうだうだ書く奴は注意されて当然。読み間違いは生温く指摘。
・英文文書:翻訳の努力を惜しむべからず。 読めないなら和訳を探し、
なければあきらめよう。翻訳サイトを知っている人はうまく誘導してあげて。
・IE専用/アンチIE/クロスブラウザ:「○○は不要」「○○だけであと
は無視」は不毛。質問者が分かって選択していれば尊重する。無知か
らIE専なのは指摘してあげると親切。
・標準準拠 vs 使えればよい:標準はブラウザが変わっても維持される
可能性大。非標準機能も損得を分かった上で使うならよい。
・MS vs アンチMS:MS固有の情報はMSのサイトで見ないと分からないが、
そこだけ見ているとIE専になる。あとは上2件と同様。
・別窓、イベント抑止など:一般には迷惑スクリプトだが質問者に正当
な理由があることも。尋ねて分かってないようなら煽っても可(w
・innerHTML vs DOM:それぞれに長所/弱点があるので理解した上で選
択するべき。一概にどちらは駄目、とは言えない。
・on属性 vs addXXX():ハンドラが1つだけと分かっていればon属性
で簡単にハンドラを設定もあり。上書きが心配ならaddXXX()。
8 :
Name_Not_Found:2005/09/20(火) 12:56:41 ID:km9HIKpq
質問です。
「.innerHTML」という拡張子があるようなのですが、使い方がわかりません。
どなたか解説お願いいたします。
9 :
8:2005/09/20(火) 13:02:32 ID:3xl0yvTp
すみません。とんでもない勘違いかもしれません。でしたら、スレ汚しお許しを。
>>8 ついでにDOMとググってそっちもセットで習得しろ。
何度も同じような話題にいちいち答えられない。
おまいらみたいな初心者は、
まず
・ググれ(大体答えが出る)
・
>>1の過去スレ全集をざっと一読しろ。嫌ならせめてキーワード検索ぐらい一読しろ。
(よく出てくる質問の答えは山のようにある)
・それでもよく分からなければ
>>2に則って書け。
以上。
> 何度も同じような話題にいちいち答えられない。
このスレ見るな馬鹿
誰だ。前スレ適当に埋めたやつは!
埋めるなら
996 名前:Name_Not_Found[sage] 投稿日:2005/09/20(火) 12:20:33 ID:???
>> 995
だが断る
だろうが!
質問する自由
スルーする自由
親切に質問に答える自由
質問者をいじめる自由
スレを見る自由
スレを見ない自由
回答者に逆切れする自由
親切に質問に答えない自由
雑談する自由
スレの進行を妨害する自由
16 :
すいませn:2005/09/20(火) 14:03:43 ID:sTYVDG/P
調べたのですが分かりませんでした。。。
教えてください。
jsファイルからvbscriptのmsgboxを呼び出そうと思っています。
javascriptではメッセージボックスのタイトルをつけられ名みたいなので・・・
ご教授お願いいたします。
>>16 JSからVBScript呼び出す方法は過去スレのどっかにあったよ。
過去スレ全集全部検索してみ。もちろんIE専だからね。
>>8-9 拡張子じゃなくてそういう疑似プロパティね。これも過去スレ
少し読めば山のように実例載ってるから。今更説明したくない
と言われるのもある意味当然なんで。具体的にやりたいことある
ならそっちを前面に出して質問した方が答えてもらえるよ。
>>10-15 やっぱりいつものスレだ(笑)
18 :
16:2005/09/20(火) 14:17:35 ID:sTYVDG/P
調べましたが分からなかったので質問しました・・・
TITLEやALTでマウスオンでメッセージ表示じゃなくて、
Javaスク使ってマウスオンでメッセージ表示するタグ教えて下さい。
そんな餌でクマー
じゃ俺が釣られよう。
新作エロゲー
「じゃば★すく 〜マウス・オン!でメッセージだしちゃうの〜」
>>20 言ってる意味がわかりません。日本語に訳して注釈を入れて再提出しないで下さい。
>>17 そうだねマッタリ行こうよ。
・ウザ厨の既出質問、低レベル質問3割。
・そこそこ有用な質問2割。
・逆切れウザ厨との叩き合い1割。
・マッタリ雑談1割。
・性悪常連との叩き合い1割。
・アヒャヒャヒャヒャ1割。
・ホレ氏のビシッと有用コード0.5割
・天婦羅関係0.5割
やっぱり収支と支出にはバランスが必要。
25 :
Name_Not_Count:2005/09/20(火) 15:19:30 ID:P8ucIaYF
みなさん、先生、こんにちは。
10月から、セクション替えでWeb担当になりました。Cはそこそこですが、
この道場でJavaScriptをあと半年しっかり学んで行く積りです。期待し
ています。毎日どしどし、良質のスクリプト問題をぶち込んでください。
あ、過去問もバリバリ読んで行く積りです(先ずは後半のvol20あたりから)。
>>18 「このスレの過去スレ全集で取れるすべての過去スレを」「VBScriptと
いう文字列で検索して読んだ」かね?それでないわきゃないんだが。
読むのが面倒なら帰れ。
>>25 ごたくはいらん。いい質問を期待してるよ。クソ質問はスルーされるから。
>>20 日本語は正確にね。(1)表示を出させたい要素にIDを振る。(2)上にマウスが来た
ときに反応させたい要素に次のようにonmouseoverをつける。
「onmouseover="document.getElementById('ID名').innerHTML='メッセージ'"」
憎まれ口はいらん。洩れの説明が気に食わんのならあんたが
親切に説明して差し上げたらいかが(w
結構、じゃ無駄口叩くためだけにこのスレをうろうろしてれば。
みんなの迷惑だがな。(w
34 :
今西:2005/09/20(火) 20:35:12 ID:GrpUoPB4
36 :
振一郎:2005/09/21(水) 00:06:52 ID:ZA3zfZxi
質問いたします。
ウェブのアンケート等でよく見かけますが、
複数のプルダウンメニューがある時に、一つ目の選択に応じて
二つ目のプルダウンメニューの項目を変えるのはどのようにして
実現するのでしょうか?
例えば、一つ目のプルダウンメニューで都道府県を選択すると、
二つ目のプルダウンメニューには選択した県の市町村が
現れるようにする方法です。
よろしくお願いします。
始めまして、機能の日付が入力されたら、警告ダイアログを出すには、どうしたらよいのでしょうか。
ソースを表示したくても、見当がつきません。
よろしくお願いします。
ページを再読込させたいのですが、その際に、キャッシュを使用しないようつまりno-cacheシグナルを送るようにすることは出来ないでしょうか?
>>36 (・3・) エェー
いくつか方法があるんだけど
昔ながらのやり方が一番直感的に理解しやすいかな。
// セレクトボックスの一番最後にオプションを追加
function add_option(){
var _select = document.forms["my_form"].elements["my_select"];
_select.options[_select.length] = new Option("ラベル", "値");
}
// 一番最後のオプションを削除
function del_option(){
var _select = document.forms["my_form"].elements["my_select"];
_select.options[_select.length - 1] = null;
}
これを叩き台にしてみてNE!
>>38 (・3・) アルェー これかNA?
location.reload(true);
>>37 (・3・) エェー こんなフォームがあったとしTE
<form name="my_form">
<select name="year">
:
<option value="2004">2004</option>
<option value="2005">2005</option>
<option value="2006">2006</option>
:
</select>年
<select name="month">
:
<option value="08"> 8</option>
<option value="09"> 9</option>
<option value="10">10</option>
:
</select>月
<select name="date">
:
<option value="20">20</option>
<option value="21">21</option>
<option value="22">22</option>
:
</select>日
<input type="button" value="チェック" onclick="check_date();">
</form>
42 :
41:2005/09/21(水) 02:00:48 ID:???
>>37 (・3・) こんなスクリプトでどうかNA?
<script type="text/javascript">
<!--
function check_date(){
var temp = new Date();
temp.setTime(temp.getTime() - (24 * 60 * 60 * 1000));
var yesterday_begin = new Date(temp.getYear(), temp.getMonth(), temp.getDate(), 0, 0, 0);
var yesterday_end = new Date(temp.getYear(), temp.getMonth(), temp.getDate(), 23, 59, 59);
var _form = document.forms["my_form"];
var _year = _form.elements["year"];
var _month = _form.elements["month"];
var _date = _form.elements["date"];
var selected_date = new Date(
_year.options[_year.selectedIndex].value,
_month.options[_month.selectedIndex].value - 1,
_date.options[_date.selectedIndex].value,
0, 0, 0
);
if(yesterday_begin <= selected_date && selected_date <= yesterday_end) alert("昨日");
}
//-->
</script>
はじめまして、ajax でナウでクールなことをしたいのですが、
どうすればよいでしょうか?
ナウでクールな娘としたいとは・・・エロいな
数個のボタンを用意し、押すとそれぞれ背景色が徐々に変わっていく・・
みたいなことをやろうと思い、関数をsetIntervalに入れてみたのですが
setInterval("changeColor(newR, newG, newB)",10);としてもうまく動きません。
setInterval内の関数は引数をとることはできないのですか?
もし回避策があったらぜひ教えてください!
また、このやりかたが駄目でもsetInterval以外を使ってできるようであれば
ぜひご教授いただきたいです。actionscriptならonEnterFrameで簡単に
かけるのですが・・・。そんな都合いいものないですよね・・。
アホみたいな質問かもしれませんが、ぜひよろしくお願いします。
>>46 アンタがちょっとでもこのスレの過去ログを読んでればsetInterval
の第一引数に文字列を入れるのはいまいちだと分かってるはずだが。
「setInterval(function() { changeColor(...); }, 10);」
しかしどうやって色を変化させてるの?一定時刻ごとに変化させるなら
「setInterval(function() { changeColor(++newR, ++newG, ++newB); }, 10);」
みたいなことをするんじゃないのかな。
>>36 過去ログに山盛りに載ってることを質問するのやめてくれないかな。
前スレにもある。ついでにそれにわざわざ回答するのもやめてほすい。
>>37 機能に日付があるの?
(・3・) エェー
>>48 ニューキャラクターだな。
噂のニュータイプか?
>>46 もしかしたら、ワンアクションで色が別の色に次第に変わってく動きではなく、
Illustratorみたいにカラーパネルみたいに細かくRGB値設定したいだけで
RGB値を押しただけインクリして変えてくとかそういうのじゃないのか?
それだと話が丸っきり変わってくるが。
51 :
Name_Not_Found:2005/09/21(水) 11:49:52 ID:9TYyqt9q
質問です。
背景がトランスペアレントなドロップダウンメニューはどうすればつくれるので
しょうか。どこかで見たのですが、わかりません。
「ドロップダウン メニュー 背景 透明 セレクト」でぐぐってみましたが、みつ
かりませんでした。
52 :
about title-bar:2005/09/21(水) 12:01:57 ID:U/lIFQLB
IE専の話で恐縮です。
読みこんだブラウザのタイトルバーから、にっ茎Microsoft Internet Explorerと
いうのを除去するスクリプトはないものでしょうか。
【予防的会話】
―OS依存じゃないの?ムリ
―そこをトリッキーなテクニックで。欄外に除去とか、ないですか。
―そんなことして何になる。
―はい。タイトルをスッキリさせたいのです。
―うざい。帰れ。
―はい。これだけ教えていただきたいです。
>>54 窓の手にあるのは、自分のブラウザ設定ですよね。
読み込んだユーザーのタイトルバーを変更したんです。
>>53 かわいそうな人だなあ。なんでもふざけて見えるようになってしまったのですね。
ハイパーリンクを貼ったテキストリンクをクリックする事で、
値をPOSTしたかったので、以下の様にしました。
<form action="#" name="IndexForm" method="POST">
<a href="#" onClick="document.IndexForm.action='./index.php';document.IndexForm.page.value='$変数';document.IndexForm.log.value='$変数'">リンク</a>
<input type="hidden" name="log" value="">
<input type="hidden" name="page" value="">
</form>
logの方は、無事POSTされているのですが、pageの方がPOSTされません。
上記はPHPの中に組み込んでいるのですが、ブラウザで呼び出した後のHTMLソースを見ると、
log、page共に、正しく値は入っているようです。
このスレのFAQを見て、document.forms.IndexForm.elements[page].value等にも変えてみたのですが、
動作は変わりませんでした。
何故、logの方だけPOSTされるのでしょうか?
57 :
56:2005/09/21(水) 14:25:36 ID:???
>>56訂正です。
正しくは、
<a href="#" onClick="document.IndexForm.action='./index.php';document.IndexForm.page.value='$変数';document.IndexForm.log.value='$変数';document.IndexForm.submit();eturn false;">リンク</a>
でしたm(__)m
>>56 フォームのアクションに普通に送信先をいれて、aタグの中にonClickでフォームをsubmit()するのが楽。
59 :
56:2005/09/21(水) 14:47:22 ID:???
>>58 フォームのアクションを設定し、
ついでに、href達を、Formの外に出してみたところ、
うまく行きました。
ありがd。
>>36 過去ログに山盛りに載ってることを質問するのやめてくれないかな。
前スレにもある。ついでにそれにわざわざ回答するのもやめてほすい。
一瞬回答者にまで文句言うのはどうかと持ったが
まああんたみたいなひととホイホイ答える人が両方ともいて初めて初心者のひとは
「あ〜答えわかってよかったけど何も考えずに教えて君はいけないんだな
今度からはもうちょっと自分で努力してみよう」と思うんだろうな
そういう意味ではバランスがとれてていいのかもな
それがジャヴァスククオリティか
>>52 基本的にはできない。あきらめれ。
ただし多く知られてるIEやWindowsのセキュリティホールを利用して、
クライアントのOSの管理者権限を奪取した後、窓の手をインストールして、
消すことならできる(かもしれない)。
違法行為なのでやってはいけません。
>>62 ただし多く知られてるIEやWindowsのセキュリティホールを利用して、
クライアントのOSの管理者権限を奪取した後、窓の手をインストールして、
消すことならできる(かもしれない)。
管理者権限を奪取した後、わざわざ窓の手をインストール。
久々に笑わして貰った。その方法はシュールだな。
var str = 'hoge';
for (i=0; i<1000; i++) {
str += ' ';
}
document.title = str;
消えそうで消えない、しぶといやつめ。
66 :
46:2005/09/21(水) 16:57:03 ID:???
>>47 レスありがとうございます。
いろいろ試してみて、けっこう近いところまで行ったような気がしますが
今度はボタンを押したときにエラーが出てしまうようになりました。
ソースはこんな感じです。clearIntervalの記述法がマズいのでしょうか??
ボタンを押して変わりきる前に他のボタンを押すとおかしくなるし
そもそも変数に5の倍数しかセットできないなど欠点だらけの
スクリプトなのですが・・・。些細なことでもアドバイス頂きたいです。
<html><head><script type="text/javascript">
var r = 255;
var g = 255;
var b = 255;
function changeColor(newR, newG, newB) {
if (r<newR) {r = r+5;}
if (r>newR) {r = r-5;}
if (g<newG) {g = g+5;}
if (g>newG) {g = g-5;}
if (b<newB) {b = b+5;}
if (b>newB) {b = b-5;}
if(r == newR && g == newG && b == newB) {
window.clearInterval(timer); }
document.bgColor=b+g*256+r*256*256;
}
</script></head>
<body> <form>
<input type="button" value=" red " onClick="var timer = window.setInterval('changeColor(255,0,0)',10)">
<input type="button" value=" green " onClick="var timer = window.setInterval('changeColor(0,255,0)',10)">
<input type="button" value=" blue " onClick="var timer = window.setInterval('changeColor(0,0,255)',10)">
</form></body></html>
>>66 SCRIPT 要素の内容に、「<, >, &」が出現する時は、
SCRIPT 要素を知らない UA の為に、その内容全てを
コメントアウトする方が良い。
>>66 HTML のイベント属性で return 文が使えることで十分だが、
<button onclick="alert(arguments)">無名関数?</button>
こんなのを試してみれば、自動的に無名関数が作られている
ことがよく分かるだろう。
つまり、同じ名前の変数であっても、スコープが異なっている。
>>67 コメントアウトより、外部ファイルをお勧めするbyLint
>>69 内容が JS であると誰が言った?
<script src="hoge" type="text/javascript">
ここに何か書きたくなった。
HTML4ではCDATAだから何でも書けそう。
src 属性があるから JS エンジンにも無視してもらえるし。
でも、<foo> とか書いたら SCRIPT 要素を知らない UA は困るだろうな。
</script>
こういう場合を考えろ。
>>66 > document.bgColor = b + g * 256 + r * 256 * 256
古い、古過ぎる。書き直した方が良い。
var canvas = typeof(document.compatMode) == 'string'
&& document.compatMode != 'BackCompat'
&& document.documentElement
|| document.body
|| null;
if (canvas != null) canvas.style...
みたいに。
canvas.style.setProperty("background-color", "rgb(" + [r, g, b].join() + ")", "") とか、
妥協して、canvas.style.backgroundColor = "rgb(" + [r, g, b].join() + ")" とか。
73 :
37:2005/09/21(水) 20:35:42 ID:???
>>41さんありがとう。すごい助かりました。
早速活用させていただきます。
質問です。以下のようなソースを書きました。
「追加」ボタンを4回ぐらい押すとスクロールバーが表示されます。
なんとか追加と同時に<div>範囲を一番下までスクロールさせたいんですが、どうしたら良いか教えてください。
<div id="disp" style="overflow-y:auto;height:3em;"></div>
<button onclick="document.getElementById('disp').innerHTML+='追加<br>';">追加</button>
>>70 > ここに何か書きたくなった。
なぜゆえ?
76 :
66:2005/09/22(木) 01:04:57 ID:???
>>67 確かにそのとおりですね。とりあえずテストということもあって省略してました。
今後はちゃんと書きます。
>>68 ご指摘ありがとうございます。無名関数って何のことか判らなかったのですが、調べてみて納得できました。
スコープってなんのことだかよくわからんかったのです重要そうですね。考慮して書き直します。
>>71 この部分も確かにダメな感じですね。firefoxやopelaではサポートしてないみたいだし
ちょっと書き直してみます。あああああもう今更ながらさらしたスクリプトの駄目さゲンナリです。
明日書き直したスクリプトを公開しますので、再度ダメだしというかご教授をば・・・。
ぜひぜひお願いします!!
>>71 スキルあるならもうちょっとコアの部分を修正してあげなよ…
>>76 document.bgColor は HTML (HtmlDocument) なら Mozilla でも存在する。
document.body.bgColor と同じ。deprecated だけど。
<body bgcolor="〜"> に相当するものなので、数値ではなく #rrggbb 形式の
文字列として与えなければいけない。
変数のスコープにはローカル変数とグローバル変数の二種類が存在する。
>>66 のコードだと r, g, b および changeColor はグローバル変数、
onclick 属性の中で宣言してるそれぞれの timer はローカル変数になる。
ローカル変数に代入した値はスコープ (この場合は onclick 属性の中) を
抜けると失われるので、スコープ外からはアクセスできない。
それと、setInterval() で設定した関数はユーザーの応答とは無関係に
呼ばれるので、二つ以上のタイマーを同時に動かさないようにすべき。
テストしてないけど割り込み間隔 10 ミリ秒は無茶だと思うよ。
10ミリ秒って、1秒間に100コマだからなぁ
かりにコンピューターがそのタイミングでデータを書き直して行ったと
しても、画面に表示する前に次の描画で上書きされてしまう。
サブリミナル効果とかできそうだなー。
>>78 だとすると、
<table><td bgcolor="#ff0000">AAA</td>....</table>
に対応するSyntaxとして
document.td[0].bgColor='#ff0000';
はどうしてダメなの?
>>79 便乗質問。
setIntervalとかsetTimeoutって、時間軸は
|<----interval(10ms)---->|<--実行-->|<----interval(10ms)---->|<--実行-…
だと思い込んでたんですけど。二度目に実行されるのは20ms以上後だと。
これって間違っていますか?
83 :
Name_Not_Found:2005/09/22(木) 16:49:37 ID:Ls5y2keq
こうなんじゃないの
|<----interval(10ms)---->||<----interval(10ms)---->||<----interval(10ms)---->|
<--実行-->| <--実行-->| <--実行-->|
|<----interval(10ms)---->|<----interval(10ms)---->|<----interval...
|<--実行-->. |<--実行-->
ボクたち、n*1000ミリセカンド後に関数を呼んで実行さるということが
どういうことか、よく考えてみようね。
Windows だとこんな感じ。他の OS でもだいたい同じだと思う。
ただし、OS やハードによって割り込みできる最小時間が違う。
スレッドはメッセージキューからメッセージを順次取りに行く。
タイマーのメッセージがキューに入っていれば対応した処理が行われる。
他のメッセージ (画面の更新、フォーカスの移動など優先度の高いもの) が
あればタイマー処理よりも優先して他の処理が行われる。
新しいメッセージがポストされたときに前のメッセージがまだ処理されて
いなければ、それらは一つにまとめられる。
タイマー |<--10ms-->|<--10ms--> <--10ms-->|<--10ms--> <--10ms--> <--10ms-->|<-
↓ ↓ ↓ ↑クリア
スレッド <--実行--><-----他の処理-----><--実行--><-----他の処理-----><--実行-->
割り込み間隔が十分にあるときはこうなる。これが本来の使い方。
キューに何もなければ何かポストされるまでスレッドの処理には戻らない。
タイマー |<-----interval----->|<-----interval----->|<-----int
↓ <--待ち-->↓ <--待ち-->↓ ↑クリア
スレッド <-実行-> <-実行-> <-実行->
>>78 > onclick 属性の中で宣言してるそれぞれの timer はローカル変数になる。
ってホント?
インラインで書かれてもグローバルスコープになると思ってたけど。
>>88 var を記述した位置による。<script> 直下で宣言しておいて
再宣言することなく参照すればグローバル変数になる。
現在のスコープで宣言されていない識別子もグローバル変数になる。
最初のボタンの場合だと <input> に対して、
document.forms[0].elements[0].onclick = function(event) {
var timer = window.setInterval('changeColor(255,0,0)',10);
return; // 省略可
}
としたのと同じ。(MSIE には引数 event がない)
つまり、onclick 属性の中身はメソッド (無名関数) の中身になる。
メソッドの中身では return が書けるし、this はこのメソッドを所有する
document.forms[0].elements[0] と同じオブジェクトを指す。
90 :
88:2005/09/22(木) 19:58:50 ID:???
>>81 昔、背景色はページ全体つまりbodyに対してしか指定できなかった。
その名残りがbody.bgColor。任意の要素に対してやりたければ標準の
やり方「要素.style.backgroundColor = ...」を使う。もちろん
bodyに対しても使える。だからいまどきbdColorなんて覚えるのは
無駄と漏れは思っている。
そもそもTDのbgColorはIE専じゃなかったかな。
>>81 >>92 いいえ。<td bgcolor="〜"> は HTML 4.01 Transitional にあるし、
DOM Level 1 HTML にもある。ブラウザの実装までは知らない。
>>81 が駄目なのは document.td[0] という記述。
document には td というプロパティは存在しない。
document.getElementsByTagName("td")[0].bgColor = "#ff0000";
ならできるはず。
ただし、スタイルシートでの指定の方が優先されるかも知れない。
>>66 ホレ。きざみを1以外にするのは面倒だからパス。
>>78 タイマーなんていくつでも使いたいだけ使えばいいじゃん。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg(id,r0,g0,b0,r1,g1,b1) {
var elem = document.getElementById(id);
var timeid = setInterval(function() {
if(r0<r1) ++r0; else if(r0>r1) --r0;
if(g0<g1) ++g0; else if(g0>g1) --g0;
if(b0<b1) ++b0; else if(b0>b1) --b0;
elem.style.backgroundColor = 'rgb(' + r0 + ',' + g0 + ',' + b0 + ')';
if(r0==r1 && g0==g1 && b0 == b1) clearInterval(timeid);
}, 20);
}
</script>
</head><body>
<div id="d0">Test1...</div>
<div id="d1" style="background-color:rgb(255,100,0)">Test2...</div>
<p><button onclick="chg('d0',255,255,255,0,100,0)">Test1</button>
<button onclick="chg('d1',255,100,0,0,100,255)">Test2</button></p>
</body></html>
>>89 > MSIE には引数 event がない
こういう結果を招くのが分かっているのに、
引数に event という名前を使う人はいないだろう。
グローバルな event にアクセスする時に、
window.event と書かなければならなくなる。
>>82 少なくとも setTimeout に関しては間違いではない。
setInterval に関しても、経験上、間違いではない。
そして、この「誤差が加算されていく問題」への解決策は昔は存在した。
しかし、最近5年くらいはマシン性能が飛躍的に高くなったことと、
WinNT系のOSとそれに対応するCPUが普及しまくったので、
対策する必要性が薄くなり、忘れ去られたようだ。
ただの算数だから答えは自分で考えてくれ。
>>94 色を変える対象が一つなのに、複数のタイマーを回して変えていくと
おかしくなる。ボタンが連打された場合を想定してみて。
次のように色を変える対象ごとにタイマーを一つだけ使えば回避できる。
function chg(id,r0,g0,b0,r1,g1,b1){
var elem = document.getElementById(id);
if (!elem.timeid) // 他のタイマーが回ってたら何もしない。
elem.timeid = setInterval(function(){
if(r0<r1) ++r0; else if(r0>r1) --r0;
if(g0<g1) ++g0; else if(g0>g1) --g0;
if(b0<b1) ++b0; else if(b0>b1) --b0;
elem.style.backgroundColor = 'rgb(' + r0 + ',' + g0 + ',' + b0 + ')';
if (r0==r1 && g0==g1 && b0 == b1) {
clearInterval(elem.timeid);
elem.timeid = 0;
}
}, 20);
}
>>95 HTML の on〜 属性での引数名が "event" なのは Mozilla の仕様。
<input type="button" value="Test" onclick="alert(event); alert(event == arguments[0]);">
とでもしてみればわかる。
別に自分でメソッドを定義するときに引数名を "event" にしろという
意味ではない。
>>91 and others
W3Cを読むと、HTMLにおけるBODYタグは明示的ではないと書いてある。
それなのに、DOM的にはBODYは定義されているというのだろうか。
であれば、TDも定義されていなければおかしい(んじゃない)。
>>99 確認したわけじゃないが「明示的ではない」というのは「明示的にspecifyしなくても存在する/有効である」といういみでは?
TDがどうとかとは関係ないだろう
>>100 W3Cに対してkanzaki.comてなによ
もすこしまともなリファレンスを頼むよ
table の tbody と同じようなもんでしょ。 タグ書くときに省略可能、ってだけ。
そう昔、めちゃめちゃ苦しんだ。バグ取れないんだもん。
で、よくよく考えたら、tbody抜かしてたからうまく参照できてなかったってこと。
その割にtbody作ってなくてもinsertRowとかやれちゃうでしょ。
でずっと上の階層伝いで別のDOMツリーを参照すると
「参照先がありません」だもんなw
HTMLも少しは勉強すれば分かったことだろうに。
DOMやるんだったら要素タグ省略しない習慣つけた方が絶対いいよ。
漏れはいつも<tbody>...</tbody>書いてる。もっともlint掛けたら
省略してると警告されるからそれで直るよね。
107 :
Name_Not_Found:2005/09/23(金) 09:16:12 ID:v+D54Day
時間が取れたので、select内optionのtext(ie. options[n].text)を検索
するスクリプトを作ろうと思ったのですが、やってみてこれは私にか
なり難しいことがわかりました。何かもっと簡潔で効率的な記述法が
あるのでしょうか。
ヒントなり、参考ウェブページなりのTIPsをいただけないでしょうか。
document.getElementsByTagName('OPTION') で回して検索したら?
window.openで開いた小窓のフォームに値を送りたいのですが、
window.opener.document.forms[0].elements[0].value = "CCCCCC";
というスクリプトだと
”window.opener.document”は Null またはオブジェクトではありません。
というエラーがでます。
何故でしょうか?ご教授よろしくお願い致します。
window.openで開いた小窓のフォームに値を送りたい
!=
window.opener.document
window.open を実行したときの戻り値を使っては?
opener は、「開く人」だから・・・
>>110-112 返信ありがとうございます。
でも意味が分からないので、もう少しお願い致します。
ああ〜小窓からopenerですね。onz
戻り値って具体的にはどうすればいいんでしょうか?
ん? どっちからどっちに働きかけたいわけ?
メインからサブに値を入力したいのです。
英語のできるプログラマ希望
>opener は、「開く人」だから・・・
-[er|or]なら何でも「人」ってわけじゃないだろが。
それとも、windowに誰か入ってるちゅーのか?
container,cleaner,slipper,peeper,incisor,stocker,
patter,helicopter,flowerer,hammer,decanter,motor,
lasher,fetter,....
思いつくだけでもこれだけある。
I thik so
120 :
118:2005/09/23(金) 12:54:58 ID:???
I sink onz
121 :
Name_Not_Found:2005/09/23(金) 13:58:46 ID:UxWqmE6W
質問です。
disabledされたselectフォームにマウスでオンしたときに、disabledが
解除されるようにしたいのですが、IEでうまく行きません。
次のように書いています。
<form>
<select disabled onfocus="this.blur();">
<option>string-1</option>
<option>string-2</option>
.........
.........
</select>
</form>
どなたか、アドバイスを。
なんで disabled の解除が this.blur() だと思うんだ?
this.disabled = false; とかじゃねーんか
opener は open の比較級ですよ
124 :
Name_Not_Found:2005/09/23(金) 14:19:53 ID:XT/PAueT
質問です
アクセス時に
JavaScriptが有効か無効かを判断して
有効ならindex.htmlをそのまま表示
無効なら別ファイル(dummy.htmlなど)に自動でジャンプさせるには
どうすればいいですか?
>>123 あー、それでわかった。
window.openest()で開いたとき、Fullscreenになった。
嘘だろ
俺もワロタ
ネタ回答はやめようよ
>>122 だとしてもだ、disabledのselectにmouseoverして
何かが起こるというのか?
>>114 var sub = window.open(...);
sub.document.forms.フォーム名.elements.部品名.value = '入れたい値';
>>128 悪いんだけど、洩れも分からん。JSが無効のとき自動で飛ばすんだよな。
HTML側で飛ばすようにしてJSでそれをキャンセル?アンタの検索指示した
ものにはそういうのはなかったような希ガス。
>>124 無効ならそのまま表示
有効なら自動でジャンプなら簡単にできるよね
それじゃいかんの?
>>121 disabledなものはフォーカス入らないからonfocus無意味
では?そのselectをdivとかに入れてdivのonmouseoverで
解除するってのはどうかな。
135 :
Name_Not_Found:2005/09/23(金) 18:43:05 ID:QecA9J+k
質問です。
確認ダイアログで「はい」のとき、特定のURLに飛び、その移動先のページに
変数aという値を渡したいのですが、移動先のページでの変数値の受け取りかた
がわかりません。どうすれば「a」を受け取れるのでしょうか。
コードは次のように書きました。
if (confirm('この内容でよろしいですか?')){
location.href='
http://xx.domain.com/page1.htm?value=' + a;
}
138 :
124:2005/09/23(金) 19:38:31 ID:XT/PAueT
>>128 ぐぐってみました
>>133 そっちの方がいいですかね?
<noscript>
<meta http-equiv="refresh"
content="5;URL=●●●.html">
</noscript>
index.htmlの一番上にこれを記述したらなんか上手くいった感じなんですが
これ何か問題ありますか?
>>138 アンタが書いているものはHTMLではない、そのことを承知の
上でやるのならいいんじゃないの。
(1)HTMLではNOSCRIPTの中にMETAは入れられない
(2)HTMLではHEADの中にNOSCRIPTは入れられない
もちろん、HTML的に正しくないものは一般に動作が保証されない
し、たまたま特定ブラウザの特定バージョンで動作しても将来どう
なるかは分からないということ。
ときにJS ONだと飛ばないんだよね? IE以外のブラウザでは
試してみた?
>>135 別に「value=」とかつけなくても「URI?a」とかで渡して
渡された側はlocation.serachを参照するとかでいいのでは
ないのかな。
>>137 いいかも知れないけど、ページ間の受渡しは(1)URIの末尾に
くっつける、(2)クッキー、(3)別窓などを経由して窓オブジェクト
を参照して直接渡す、などの方法があるんで説明が長くなりすぎる
かも(特定の方法「だけ」紹介することは避けたいね)。
141 :
124:2005/09/23(金) 20:36:15 ID:???
>>139 IEでしか確認してないです
一応ONだと飛ばずにindexが表示されます
ありがとうございました。他の方法探してみます
142 :
112:2005/09/23(金) 20:43:25 ID:???
>>117 あはは、ごもっとも。まあ112で言いたかったのは、「window.opener」とは、
新しいウインドウを開いた側のことであって、新しいウインドウを指し示す
ものではないということ。
しかし、反対側(開かれた側)のことを openee とは、あんまり言わないね。
さて、
>>109 そもそもスクリプトはどの画面の中で動いているの? ウインドウや
フレームとの相対的な位置関係によって、同じウインドウを操作するとしても、
「何とか」.document という記述の「何とか」の部分は変わる。
例えば、メインがサブのウインドウを開いて、どこかのページから
新たにJavascriptの入ったHTMLファイルを読み込ませたとすると、
その新しいスクリプトの立場から見たメイン画面は、window.opener となる。
「オレが今動作しているウインドウを開いたやつ」だから。
もともとのメインウインドウは、頂上にいるようなものだから、window.openerは
空っぽなのだ。
143 :
112:2005/09/23(金) 20:47:02 ID:???
そして本題。そもそもサブウインドウを開くとき、おおもとのウインドウの中で
window.open( ) を実行していると思うけど、考えうる最小のサンプルはこう。
<script>
var myChild = window.open();
myChild.document.write("You are my child!\n");
</script>
「window.open() の戻り値を使っては?」とは、そういう意味。
window.open() を実行すると、そのとき開かれたサブウインドウを指し示す
オブジェクトが関数の戻り値になる。
上のスクリプトで window.open("child.html") と、書いたとき、child.html の
中に書いてあるJavascriptから、もとのウインドウに働きかけたいとき、
window.opener を使う。
clipboardDataについて教えてください。
テキストボックスの値を、クリップボードにコピーしたいのですが、
出来ません。
<input type="text" name="foo" value="hoge" onclick="window.clipboardData.setData ("text", "hoge")">
としてるのですが…
(正確には、PHPの中で使用してるので、値は変数です)
間違っている点があれば教えてください。
m(__)m
オブジェクトが持つプロパティ一覧を表示する場合。
Firefoxでの話。
for(i in obj){........}という処理の中、obj[i]で参照を行っている時、
(1) objがdocumentの場合、domConfigでエラーが発生します。
(2) objがINPUT要素でtypeがtext以外の場合、
selectionStart,selectionEndでエラーが発生します。
だから現状では、
if(obj == document && i == 'domConfig' ||
obj.tagName == 'INPUT' && obj.type != 'text' && i.match(/selection(Start|End)/)){
(別処理); continue;
}
と、やっているのですが、
質問1、他にも参照するだけでエラーが発生するオブジェクトとプロパティの組み合わせは何があるのでしょう。
質問2、他の方はどのようにチェックを行っているのでしょうか。
このルーチンに渡す値は、式(文字列:INPUT要素から)の取得で、
obj = eval(str); のようにしています。オブジェクトで無い場合の対処として、
window.onerror = function(){......}; としていますが、
質問3、エラールーチンを通さなくとも良い方法は無いものでしょうか。
>>142-143 グダグダと話が長すぎて誰も読む気にならないと思われ。
要点を1スレ、できれば数行で書いて欲しいね。長いレスは皆の迷惑。
>>144 その「できない」はエラーは出ないがクリップボードも変化しない、
という意味なんだよね?念のため。onclick="alert('hoge')" で
PHPから正しく渡っていることを確認してはどうかな。
>>145 ふつうはtry { ... } catch(e) { } とかで囲む方が便利。
>>142-143 は、話が長い上にズレてる。
元質問者は「戻り値」というので、違うことを考えていたんじゃないだろか。
148 :
Name_Not_Found:2005/09/23(金) 23:21:17 ID:XW4dBOV0
たとえば、new Option() を使って、イベントによってセレクトボックスに
optionを追加して行くスクリプトを実行します。
10個追加して、実際にドロップダウンしてみると、確かにそこにあります。
このとき、このJavaScriptによって生成されているHTMLをソースとして
見る方法はないのでしょうか?
ページを閉じると同時に消えてしまう生成HTMLを取得したいのです。
149 :
144:2005/09/23(金) 23:29:55 ID:???
>>146 そうです。エラーは出ないけど、クリップボード変化無しってことです。
alertでデバック入れるんですね。
勉強になりました。
もうちょっとがんばってみます。
>>146 じゃあ、どうして、自分で回答してあげなかったのさ?
>>147 たぶん、質問者は、window.open が戻り値を返すことそのものを、
知らなかった・気がついていなかったのではないかと・・・
知っていれば、ああいう質問は来ないと思う。
>>146 > グダグダと話が長すぎて誰も読む気にならないと思われ。
おれは読んだよ。アンタも読んだんじゃないの? だからこそ怒っている。
読まずにスルーした人は怒らないし、気にもしないものさ。
153 :
152:2005/09/23(金) 23:53:43 ID:???
>>146 try 〜 catch...初めて使ってみました。そうか、こんなに便利なものがあったなんて。
それ、名前や機能は知っているだけで、いつもonerrorイベントで処理をしてたのです。
正に目から鱗状態。
try{ a = o[i]; }
catch(e){ list.push('(err)' + i); continue; }
たった、これだけでエラー対策が出来るなんて。。try-catch.恐るべし。
ありがとうございました。
>>150 だから回答したじゃん。
>>132 前半が洩れの書いた回答。
それで足りてるかどうかは質問者が逃げたので不明だけど
洩れは足りてるだろうと思ってあれだけ書いた。
>>146 の一番最後なんか1行しかないけど十分だったわけだよな。
つまり、155が怒った理由は、「オレが既に答えているのに、後から訳知り顔で
べらべらべらべらと、講釈たれやがって」という怒りだったというわけだ。
いや、似たような目にあったことは何度もあるから、気持ちは非常によく分かる。が、
まあ遅れてきたやつはスルーするのがよい。
先程の for 〜 in の質問者です。先程は有難う御座いました。
続けて恐縮ですが、
for(i in obj){..}でプロパティを取得する時に、
Firefoxは満足するところですが、問題はIEの方。
取得できるプロパティがかなり少ないように思います。
windowでグローバルな変数名が出せません(勿論、関数名も)。
テキストエリアなどはdefaultValueを持っているのに、それも出ません。
IEでは別の方法で取得するのでしょうか?
よろしくお願いします。
FF も IE も Opera も、取得できるのそれぞれ違うよ。実装の問題でしょ。
>>158 はい、それは十分承知しております。
グローバルな変数・関数を for〜inで windowのプロパティとして取得したかったのです。
FFがキチンとリストに入っているのにIEが何故に出ない。と、思っていたのです。が、
先程、ひょんなことから解決策が見つかりました。
既存のalert()関数の横取り(上書き)をしていたところ、
Firefoxでは、alert = function(){.....}でうまくゆきましたが、
IEでは「サポートされていない操作です」とエラーが発生しました。
そこで、window.alert = function(){.....}と、プロパティということを明示したらうまくいきました。
もしかしたら。。と、思い、
window.TxPro = function(){...}、function window.TxPre(){..} とかの関数や、
window.isIe = xxxx ; などの変数もwindowのプロパティということを明示してみました。
そうしたら for(i in window){....}でのリストに入りました。
160 :
Name_Not_Found:2005/09/24(土) 08:26:02 ID:TLpk3Bvd
教えてください。
form内のelementで、同じnameが1個の場合も複数の場合も
同様に取得できる書き方ってありますか?
たとえば、
読綿t.form1.elements["hoge"][i].valueってすると、
1個の場合は取得できません。
なので、複数あるかどうか解らない場合には、
if(document.form1.hoge.length > 1){
for(i = 0; i < document.form1.hoge.length;i++){
a = document.form1.hoge[i].value;
}
}else{
a = document.form1.hoge.value;
}
としていますが、1個のときも順番0として取得できたら楽なのになー
って思ってます。
みなさん、1個の場合、それ以外の場合って場合わけしているのでしょうか?
それとももっといい方法ありますか?
>>156 そうじゃないんだけどなー。別に回答が複数あるのはスレの
向上のためにいいと思うのね。でも役に立たないことをエラソー
に長々としかも2レスも喋るのはブチキレだね。
>>160 ないでしょ。短くしたいなら自分で関数定義してあとはそれを
呼ぶようにすればいいのでは。
162 :
Name_Not_Found:2005/09/24(土) 09:15:36 ID:DINa+McH
基本的なことですいません。
x= window['pig','bag','log','tag']
として、for ( i = 0; i < 4; i++ ){alert(x[i]+'\n')}をとると、「xはObject
ではない」とのエラーがでます。
xはObjectだと思うのですがなぜなのでしょうか。
163 :
Name_Not_Found:2005/09/24(土) 11:49:46 ID:3CO2DQqN
質問です。教えて下さい。
あるサイトのラジオボタンのJavaScript記述で次のようなコードを見ました。
これって、何ですか?
<html:radio property="propertyName" value="radio1"
onfiltered="disableTimeFields()"></html:radio>
>>162 window.x = ['pig','bag','log','tag']; って書け
>>162 >>x= window['pig','bag','log','tag']
こういう構文が許される言語ってあるん?
どういう結果にしろ新鮮だな。
>>'pig','bag','log','tag'
普通は'pig'が返るだろ
'tag' じゃなくて?
168 :
166:2005/09/24(土) 15:02:19 ID:???
今試したら'tag'返したorz
>>163 xmlじゃない?xsltかcssでラジオボタンに見せてるのでは?
そういうのはxmlスレで聞いてね。
>>132 中には関係ないものが多いけど、
>>138的なものも確認できたはず。
それくらい自力で見つける能力付けろってこった。
それともスレ違いで一蹴した方が良かったか?
読綿tプロパティは、多分通らないと思うぞw
まじめに答えると>>3A7。
一緒にしたらvalue値が返らない。
javascript:alert(document.links.length);focus();
リンクの数を数えたいのですが、ローカルではうまくいっても、
ウェブ上ではうまくいきません。アドバイスお願い致します。
173 :
Name_Not_Found:2005/09/24(土) 18:47:11 ID:JIQPPzOJ
onchangeで処理をしたいんですが、
javascriptで値を入れ替えたものも
changeしたものとみなして処理をしたいです。
何か良い方法はありますか?
>>173 もう少し整理しましょう。
値を入れ替える処理に続けてその処理を付け足せばいいだけでは?
175 :
Name_Not_Found:2005/09/24(土) 21:25:25 ID:zhI5qsOy
お知恵拝借します。
セレクトボックスをstyleでhiddenにすることで、何かおもしろい使い方
のアイディア、ってありますか?
選んでる途中で隠してしまうとか
>>175 onChageで選択したものと違うものに変えてしまうっていうのは昔作った
映像に合わせて画像を切り替えたいと思ったのですが、
映像の読み込みに数秒かかり、その分だけずれてしまいます。
これは仕方がないのでしょうか?
>>175 擬似配列
formを使って後でそれを送信するとか
>>179 画像をキャッシュしろ。検索すれば いくらでも解説がある。
>>172 それをどういう風に使っているのかよく分からないんだけど。bookmarklet?
もしそうなら何のためのfocus()なんだろう…
>>162 「x= window['pig','bag','log','tag']」で何を意図しているか説明して
み。通常これやるとxがnullになるけどそうしたいわけじゃないだろ?
182 :
Name_Not_Found:2005/09/25(日) 09:36:30 ID:I34CHKg0
足し算はどうすればできるのですか?
a=1;
b=1;
if(a==1&&b==1){
alert(2);
}
>>183 なんだそりゃ
>>182 どうすれば、の中身を説明しようね。とりあえず、
function C()
{
a = eval(document.formName.input1Name.value);
b = eval(document.formName.input2Name.value);
c = a + b;
document.formName.input3Name.value = c;
}
で納得するかな。
キミはどこの学校?
これまた痛いですね
ワロスwwwwww
187 :
Name_Not_Found:2005/09/25(日) 11:47:49 ID:Y8dFsmBW
教えてです。
ページをロードするとカウントを始め、一定の間隔毎に使用料を課金
する金額を表示したいです(テキストボックスがカッコよいと思います)。
それで、一定金額を超過すると、画面が真っ黒になってしまい何も見えなく
するようにするには、どうすればよいでしょうか。画面を真っ黒くするには
document.body.bgColor="#000000"
と書けばよい、とこのスレの過去記事で分かりました。
へー。そういうアホくさいこと考えるひとも世の中にはいるんだなー。
>>182 "しょうがっこう"にいけば、できるようになるとおもう。 (漢字読めないかもしれないのでひらがなで書いた)
>>187 var c = 1;
をグローバルにして、
document.formName.inputName.value = c + "秒";
c = c + 1;
を関数に入れ、その関数を1秒刻みで呼び出せばよい。
課金はcを大雑把に刻めばよいだろ。起動は自分で考えろ。
黒くするのは知ってるようだから釈迦に説法だろう、と。
190 :
Clickless:2005/09/25(日) 14:54:54 ID:b80Q3qWB
ちょっと質問です。
ドロップダウンリストで、optionを選択したときに、キー別に
反応を変えることは、JavaScriptで可能ですか。
<select ...>
<option value="Tokyo">Tokyo</option>
<option value="Kanagawa">Yokohama</option>
</select>
のようにあったとき、「Yokohama」を選んでおいて「P」
のキー押すと、「Kanagawa」が取得できるようにしたい
のですが。
192 :
Name_Not_Found:2005/09/25(日) 17:51:28 ID:RVUC9aDn
質問です。
http://namazu.org/~satoru/blog/archives/000019.html のスクリプトに加筆したのですが、巧く動きません。
function quotemeta (string) {
return string.replace(/(\W)/, "\\$1");
}
function isearch (pattern) {
var regex = new RegExp(quotemeta(pattern), "i");
var spans = document.getElementsByTagName('span');
var hoges = document.getElementsByTagName('li');
var length = spans.length;
for (var i = 0; i < length; i++) {
var e = spans[i];
var foo = hoges[i];
if (e.className == "line") {
if (e.innerHTML.match(regex)) {
e.style.display = "inline";
} else {
foo.style.display = "none";
}
}
}
}
これを、以下の場面で使用したとき
<ul>
<li><span class="line">bar</span></li>
<li><span class="line">quux</span></li>
</ul>
<span></span>に該当の文字がない場合は<li></li>ごと非表示という風にしたつもりなのですが・・・
どういうわけか、非表示までは一応できているのですが、その文字を消して新たに打つときに全く反応しないのです。
つまり、一旦非表示にしてしまうとその項目が元通りに表示されないと言うことです。
http://namazu.org/~satoru/blog/archives/000008.html formの設定は、上のページのとおりです。どなたかご教示下さい。御願いします。
193 :
192:2005/09/25(日) 17:59:08 ID:RVUC9aDn
すみません、自己レスです。気づきました。
>e.style.display = "inline";
この箇所を書き換えればできますね。
スレ汚し失礼しました。
>>194 質問している人は可能かどうかしか聞いてないよ。
多分できることならば自分でやりたいんじゃないかな?
言葉遊びで無駄にスレ伸ばすな
JavaScriptでページ送りのリンク つまり前とか次というのを自動挿入したいのですが
桁数を揃えた連番ファイルを用意し、
JavaScriptにlocationで自分の場所を得てそれに-1や+1して前とか次のリンクを書かせたいのですが
000-099といった行頭にゼロの付いたファイルには出来ません。
お知恵をお貸し下さい。
>>197 '000' を前に付けて後ろから3文字切り取る
過去スレにいくらでも例があるので参照してちょうだい
へりくつや推測はどーでもいい。はやく教えろや
ゼロを取って1足してそれに'000' を前に付けて後ろから3文字切り取る
ということですね。やってみます。
あともう少しですが、後ろから3文字切り取る というのは
どうすればいいのでしょうか?
.substr(-0,3)じゃダメです。
でけました。ありがとうございました。
>>199 自分で勉強する気のない奴には誰も教えないと思うな。
煽っても無駄なことは過去スレが証明しているよ。
>>201 「s.substring(s.length()-3)」とかかな?テストしてない。いっとく
けどマニュアルも読まない山勘野郎に教えるのは大サービスだ。
すみません、まとめスレ読んだのですがわからなかったので質問します。
formで、typeをbuttonにしたときに、valueの値に変数を使いたいのですが
試行錯誤しても無理でした。もし解決策があれば教えてくださいorz
>>204 特別なことはしなくていいんだけど、ソース晒してみては?
document.forms[0].elements[0].value=hoge;ではいるしょ?
すみません、困っているのでカキコさせて下さい
bとkはテキストフォームで入力させた数値を、aとdはプルダウンメニューnからの変数です。
kaでtとpに結果表示
<ここから>
var a,d;
function n(){
a1 = document.f1.n.selectedIndex;
a2 = document.f1.n.options[a1].value;
f(a2 == 1){
a = 10;
d = 0;
}
a2 = document.f1.n.options[a1].value;
if(a2 == 2){
a = 20;
d = 5;
}
a = parseInt('09', 10)
d = parseInt('09', 10)
function ka(){
ti = parseInt(a) - parseInt(document.f1.b.value);
c = eval(ti);
document.f1.t.value = Math.floor(c);
pi = parseInt(document.f1.k.value) - parseInt(d)
e = eval(pi);
document.f1.p.value = Math.floor(e);
}
</ここまで>
208 :
207:2005/09/25(日) 23:37:40 ID:???
d=5,k=12の時、pが3になってしまいます。。。
aもdも9になっているようなので、a=parseInt('09', 10)=dが原因だと思うのですが
これを入れてないとNaNになります
今までなぜか('09', 10)で問題無かったのにorz
変数を正しい数値に変換する良い方法、他にないものでしょうか;
>>207 if文のifがfだったり、行末のセミコロンがなかったり。
何したいのか汲むことすらしてないけど、一度見直したほうがよさげ。
210 :
207:2005/09/26(月) 00:17:37 ID:???
うわ、すみません(;´Д`)疲れ目…
カキコ用に整形してたらi消してしまってたようですorz
(実際のスクリプトはifになってます)
激しく分かりにくいですが、簡単な計算機を作っています
セミコロンは直しましたけど、まだa=9=dになってるようで。。。
もちついてまたじっくり見直してみます;
>>181 > x = window['pig', 'bag', 'log', 'tag'] (略) 通常これやるとxがnullになる
js> typeof null
object
js> typeof undefined
undefined
js> null == undefined
true
js> null === undefined
false
js> String(null)
null
js> String(undefined)
undefined
js> ("a", "b", "c", "$") == ("z", "y", "x", "$")
true
js> ("a", "b", "c", "$") == "$"
true
js> var o = { u: 1, v: 2, w: 3 }
js> o["w"]
3
js> o["u", "v", "w"]
3
js> o["nosuch0", "nosuch1", "nosuch2", "nosuch3", "w"]
3
>>207 pi = parseInt(document.f1.k.value) - parseInt(d)
e = eval(pi);
document.f1.p.value = Math.floor(e);
こうなってて、
条件が k = 12 で d = 9 なんでしょ?
だったら p = 12 - 9 = 3 になるのは当たり前なんじゃないの?
何がおかしいのやら。
k=12ということは、inputNameに数値を使用してるってこと?楢、論外。
前の議論蒸し返してすまないが、HTML由来のコード
document.body.bgColor='#123456';
は
document.bgColor='#123456';
でもいくね。ということは、やはり、W3Cの開発連中も、
BODYという要素をかなりいい加減なヤシに対応してがん
ばってたとみた。XMLじゃもはや通用しないが。
216 :
姫野:2005/09/26(月) 12:35:42 ID:wh2njwOq
質問させてください。
画像がページにあって、そこにマウスをもって行くとヒョイッと逃げてしまう
ようなものを作れますか。いちばん簡単に出来るやり方を教えてください。
いろいろ検索したのですが、追い駆けて来るのばかりしか見当たりませんでした。
>>216 > そこにマウスをもって行くとヒョイッと逃げてしまう
> ようなものを作れますか
作れます。
> いちばん簡単に出来るやり方
目的とする画像をcssでposition:absoluteにしておき、
JavaScript で画像のonmouseoverで、
その画像オブジェクトのstyleプロパティのleftとtopを変更してあげればok。
218 :
姫野:2005/09/26(月) 13:43:17 ID:???
>>217さん
できました。ありがとうございました。
>>207 はいったい何のつもりでeval()を呼んでいるの。parseInt()だけで
十分だろ。こういうわけわからんコードがあると読む気なくす。
。すくな気む読とるあがドーコんらかわけわういうこ。ろだ分十
でけだ)(tnIesrap。のるいでん呼を)(laveでりもつの何いたっいは 702>>
>>221 たぶん、<input name="123" ...>のようにname属性に数値を使って
いるという意味なんでは。HTML標準では次のようになっている。
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed
by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"),
colons (":"), and periods (".").
ああそうか、NAME属性とNAME型の間違いだったのね。申し訳ない。
>>220 >>219の文章を逆さにするスクリプトを組むだけのチカラがあれば、
こんなまちがいはないし、苦労もないのに。substring()をちょっと
使うだけなんだが。プログラマなら恥ずかしいミスだな。
>>221 イチイチ突ッカカラナキャ、ワカランノカ。ソーゾーリョクダヨ、きみ。
>>226 技術者なら逆切れせずに正確な文章書けよ
>>226 数字で始められないなんて大嘘言ってるような馬鹿が使う奇妙な造語に想像力を使う気にはなれんな。
229 :
Name_Not_Found:2005/09/26(月) 15:34:23 ID:dxsvyFh1
配列で質問です。
var myArray = new Array (["Austria"],["Belgium"],["Bulgaria"]...);
のように[]を使っているのはなぜですか。
どういうときに、こうするのでしょうか?
>>228 でも、NAMEは数字では始められないのでは?
メチャクチャな結果をもたらしてもいいのなら勝手だけど。
NAME型ってどういう型?
>>231 lang属性の値と、「metaタグの」http-equiv属性とname属性の
値がNAME型のようだねえ。
>>230 なんでメチャクチャになるの?もちろん、数値と「数字が並んだ
文字列」とは別のもので区別して扱えることは知っているよな。
>>229 なぜかは書いた人に聞くしか。[○, ○, ...] というのは配列
リテラルだから、myArrayに「文字列が1個だけ入った配列を
並べた配列」を格納しているということになるが、それなら
var myArray =[["Austraria"], ["Belgium"], ...];
の方が統一取れていて美しいと思うけどねえ。
>>230 >>231 SGML の NAME 型は英字で始まり、英字および数字で構成される文字列。
HTML の場合、. - : _ も使える。英小文字は大文字に変換される。
<input> の name は CDATA だから数字から始まっても構わない。
さらに英数字だけでなく日本語の文字も使え、大文字小文字は区別される。
フォームの文字コードで送信可能な文字に限るが、これは enctype や
accept-charset による制限で、スクリプトから操作するだけのための
フォームなら問題ない。
DOMString や JavaScript の文字列は UTF-16 で表現される。
識別子が数字で始まってはいけないのは JavaScript 側の制限によるもの。
このため、フィールドアクセス演算子 . の右辺は識別子でなければならない。
[] なら、括弧の中身は識別子を表す文字列を返す式でなければならない。
例外的に配列 (Array オブジェクト) の要素を取り出す場合は数値を指定する。
これは document.f1.elements[12] みたいな書き方をしてるからいけないので
あって、 document.forms.namedItem("f1").elements.namedItem("12") と
関数呼び出しとして書けば回避できる。
234 :
Name_Not_Found:2005/09/26(月) 17:58:23 ID:C3d3Od3g
ボタンを押すたびに番号が大きくなって行き、10に
なると1に向かって少なくなるようにするプログラ
ムを書きました。しかし、戻ってきません。どこが
いけないのでしょうか。objはボタンのプロパティです。
n=0;
function Push(obj){
if(n<11){ n++;
obj.value=' '+n+' ';
}
if(n==10){ n--;
obj.value=' '+n+' ';
}
>>234 プログラムはやってほしいことではなく、やれといったことをやる
1 2 3 4 5 6 7 8 9 ここまではいい?
n==9 でpushが呼ばれたら、
if(n<11) { // n==9なのでここの中に入る
n++; // n==10
obj.value=' '+n+' '; // obj.value == " 10 "
}
if( n==10) { // 直前でn==10になったのでここの中に入る
n--; // n==9
obj.value=' '+n+' '; // obj.value == " 9 "
}
よってnが一度9になったら9になったまま
236 :
230:2005/09/26(月) 18:12:56 ID:???
>>232 なんで?間近よ。
document.f1.k.value
でk=12をそのまま入れて平気というなら、議論はムダだ。
それにNAMEは重複も許すのが難点だな。
それでも、何か言いたいなら、「なんでメチャクチャにならない」
のかを説明してみなよ、勇気があるなら。
>>236 とりあえず、まずは読みやすく書き直して
>>236 あほか。FAQ
>>3 のQ7/A7を読め。
document.forms.f1.elements['123'].value とか書くだろ当然。
>>235 この説明は正しい?
obj.value == " 9 " にはならないんじゃないかな。
たぶん、obj.value == " 10 "で止まると思えてならないが。
n=-1;
obj.value=0;
function Push(obj){
if(obj.value==0){ n *= -1; }
if(obj.value==10){ n *= -1; }
obj.value+=n;
}
>>240 それじゃ、門前払いを食うのでは?
obj.value=0; のとこで、「objが宣言されていない」のエラーが出ると思うよ。
n=-1;
m=0;
function Push(obj){
if(m==0){ n *= -1; }
if(m==10){ n *= -1; }
m+=n;
obj.value=m;
}
>>234 var n = 0, d = 1;
function Push(obj){
obj.value = ' ' + (n += d) + ' ';
if(n >= 10 && d > 0 || n <= 0 && d < 0) d = -d;
}
244 :
Name_Not_Found:2005/09/26(月) 22:46:46 ID:HUMYdYH0
左右に揺らすDHTMLなのですが、次の「x」の値をstyle.pixelLeftに
代入してオブジェクトの位置を連続的に変えています。質問は、この式の
数学的な意味です。どういうことをいっているのでしょうか?三角関数と
か強いかた解説お願いできますでしょうか。
count = 180;
speed= 10;
count = (count + speed) % 360;
x = x + Math.sin(count*3.14/180) * dx;
>>244 等速運動だと面白みがないから。
なので、振れ幅が大きいときは早く、小さいときは遅く、と速度を変化させるために
サインカーブを利用してる。
>>244 pixelLeftよりは標準のleftを使うのがいいんじゃね?
x = x + Vx * dx --- xつまり変移を速度Vxで変化させる。
ここでVxとしてサイン曲線を使っているので速度が-1〜+1の
間で周期状に変化する。で、その周期だけどcountが角度、
角度の増分がspeedで360の剰余を取っていてπ/180を掛けて
いるから単位は「度」だね、1回あたり10度、36回で1周期。
つまり36回を周期としてxはサイン曲線に沿って増減する。
しかしこれを書いた奴はsinを積分するとcosになることを
知らないんだろうかね…そんな奴の書いたコード捨てたら?
詳しくは、高校の理科か数学の教科書に「単振動」って名前で出てるから見てみれ。
…俺が高校生のときにはあったんだけど今は…あるかなあ。
>>246 積分、なつかしー。
ともあれ、コードをまるっとコピるだけじゃなくて、
原理に興味を持つことはとてもいいことなので、
>>244はがんがれ。
はい満点の答えどぞー。洩れも勉強させてもらいます。
Math.sinはラジアン単位で入力することを知らないだけだったりして
252 :
Name_Not_Found:2005/09/27(火) 01:09:59 ID:ezCbEd4F
>>252 チェックボックスの数が可変でなく固定なら
function calc_total(){
tekityu = 0;
for (i=6; i<26; i++){
if (document.myform.elements[i].checked){
tekityu += eval(document.myform.elements[i].value);
}
}
document.myform.goukei.value = tekityu + "本";
tekityu2 = 0;
for (i=26; i<46; i++){
if (document.myform.elements[i].checked){
tekityu2 += eval(document.myform.elements[i].value);
}
}
document.myform.goukei2.value = tekityu2 + "本";
tekityu3 = 0;
for (i=46; i<66; i++){
if (document.myform.elements[i].checked){
tekityu3 += eval(document.myform.elements[i].value);
}
}
document.myform.goukei3.value = tekityu3 + "本";
以下
for (i=66; i<86; i++){
for (i=86; i<106; i++){
で
>>252 1重目を列用のループ(0〜4)にするでしょ
tekityuを0にして
2重目を行用のループ(0〜19)とすると
elements[ ( 列 * 20 ) + 行 + 6 ] で対象のチェックボックスがどうなってるかわかるよね。
チェックされてたらvalueは無視してtekityu++するだけでいいよ。 // 1以外も来るなら別
2重目のループが終わってから
elements[ 列 + 1 ]にtekityuを入れるといい。
1重目のループが終わったら完成
255 :
249:2005/09/27(火) 03:22:02 ID:???
cos() 使ってどれくらい簡潔に書けるか
実際にやってみればわかるよ
>>255 だからcos()になるって言ってるじゃん。
>>251 それはないだろ。ちゃんと度からラジアンに換算してるじゃん。
>>252 アンタの間違いはnameを規則的につけて使ってないこと。
たとえば上の合計欄をteki1〜teki5、チェックボックスを
c1r1〜c1r20、c2r1〜c2r20、…、c5r1〜c5r20、合計欄をtotal
という名前にしたとするわな。
function calc() {
var t = 0;
for(var i = 1; i <= 5; ++i) {
var c = 0;
for(var j = 1; j <= 20; ++j) {
if(document.forms.myform.elements['c'+i+'r'+j].checked) ++c;
}
document.forms.myform.elements['teki'+i].value = c+'本'; t += c;
}
document.forms.myform.elements.total = t+'本';
}
げげ、最後に.valueつけるの忘れた。
258 :
Name_Not_Found:2005/09/27(火) 07:43:04 ID:ezCbEd4F
>>252 完成することができました!
ありがとうございました〜
259 :
244:2005/09/27(火) 08:06:44 ID:???
>>245 -
>>251 みなさん、ありがとうございます。勉強になりました。
なるほど、sin曲線の-1と1を利用して加速度もつけているわけですか。
cosにすると、もっと簡潔にできるようですが、その式見てみたいですね。
>>259 count = 90; speed = 10;
x = x0 + Math.cos((count+=10)*3.1416/180);
ただしx0はxのもともとの位置、プログラムによるが0かも知れない。
さらに簡単化すると最初からラジアンでやればいいし位相ずらせばsinも同じ
count = 0; speed = 3.1416/18; // 10度
x = x0 + Math.sin(count += speed);
262 :
261:2005/09/27(火) 08:51:16 ID:???
手を加えたらあかんかったな。
誤: f(x) = x + a * sin(bx);
正: x = x + a * Math.sin(bx);
ということは、Math.sinを使うと、ちょっと変わったトグルスイッチが
できるということか。ふむ、ふむ。これ、おもしろいな。
>>261-262 だから Σsin(x)△x ≒ ∫sin(x)dx = cos(x) なんでしょ。
もちろんdxが大きな値なら全然成り立たないけど
そんならdxなんてつけないだろ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<table border="2" summary="calc"><script type="text/javascript">
var count = 180, speed = 10, x = 3, dx = 3.14/18;
for(var i = 0; i < 200; ++i) {
count = (count + speed) % 360;
x = x + Math.sin(count*3.14/180) * dx;
document.write('<tr><td>' + x + '<\/td>');
document.write('<td>' + (2.0-Math.cos(count*3.14/180)) + '<\/td><\/tr>');
}
</script></table>
</body></html>
>>267 あ、テキトにやったのでつい。でもオーバラップはしてないと周期
になってることが納得しづらいじゃない。tbodyはまあ入れておいて
ください。(信者スレじゃないよな…)
>>267 よく考えたら全然違う話題なのね。速さが問題なとこかよ。
読みやすけりゃいいじゃん。そんな定数ループの外に出すのは
本番コンパイラならやるんだし。たかが400だろ。ヤミクモに
手動最適化にせい出すのなんて30年古いぜ、お笑いだね。
おお、最高に2ちゃんらしくなったね(w
>>269 定数式なんだからループの外に出すんじゃなくコンパイル時に計算
するよな、ふつう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body>
<p><script type="text/javascript">
var x1 = 0, x2 = 0;
var d0 = new Date().getTime();
for(var i = 0; i < 100000; ++i) { x1 += 3.14 / 180; }
var d1 = new Date().getTime();
var temp = 3.14 / 180;
for(var i = 0; i < 100000; ++i) { x2 += temp; }
var d2 = new Date().getTime();
document.write((d1-d0) + ', ' + (d2-d1));
</script></p>
</body></html>
とあるボロいマシン(Unix Moz1.7) 892, 1403
別のもっとボロいマシン(Win IE 1.6) 1202, 1212
お笑いだね。
げげ、IE6。何さ1.6て(w
272 :
Name_Not_Found:2005/09/27(火) 16:48:11 ID:A1xTri0N
質問です。
Booleanでtrueかfalseかは、1|0 ですが、
数値で、-1もfaleseということでよいのでしょうか。
それと、-1にあたる予約語はないのでしょうか。
試せよ
274 :
272:2005/09/27(火) 16:53:27 ID:???
>>272 typoです、すいません。
×falese
○false
276 :
Name_Not_Found:2005/09/27(火) 17:00:10 ID:81oA52KO
ラヂオボタンの穴、大きくなりやせんか、旦那?
ナニを突っ込んで鍛えたら。
278 :
Name_Not_Found:2005/09/27(火) 17:17:13 ID:Fj7eBUGa
>>276 styleのwidth,heightあたりで誤魔化せばどうだろう。
テストしてないが。
>>276-278 フォームとして提出しなくていいのなら、大きめのボタンの画像
をON/OFF2枚用意してJSで切替え制御するとかどうかな。
280 :
278:2005/09/27(火) 17:23:14 ID:Fj7eBUGa
>>279 そのほうがよさげ。
頭柔らかい人は考えることが違うなぁ・・・歳とったもんだ俺も・・・
スタイルでフォントサイズでかくする
283 :
276:2005/09/27(火) 18:05:57 ID:???
284 :
Name_Not_Found:2005/09/27(火) 20:54:52 ID:SbrxLnuT0
質問です。
背景色変化で、
var bg = 0;
function BG(){
document.bgColor=bg++;
setTimeout('BG()', 1);
}
を実行させると、黒から青藍色へ移行していきますが、
桁数が1桁、2桁でも色が変化する。どういうことなの
でしょうか。不思議です。
それから、周期的にまた黒→青藍をくりかえすのですが
そのユニットはどこなのでしょうか。
>>284 色の指定の方法。
カラーネーム
#000000 2桁16進
rgb(255,255,255) 3桁10進
rgb(100%,100%,100%) 255を100%とした3桁の%
286 :
284:2005/09/27(火) 21:41:17 ID:???0
>>285 255を100%とした・・・というのは知りませんでした。
でも、「3桁の%」とは、どういうことですか?「1」とか「24」でも色が出
ていますよね。1=001という意味?
スマソ、ただの推敲ミスだ
>>286 だから仕様外の時「どんな色が出るか」はブラウザによって
「たまたま」なんで。バージョン違ったらまた変わるかも知れないし。
そんなもの活用しない方が身のため。
>>286 285 の言ってるのは CSS での色指定の方法。
桁数ではなく rgb() の括弧の中に入る値の数のことかと思う。
R, G, B で三つ。
それぞれの数は 1, 10, 100 のような普通の 10 進数で書けばいい。
% 指定なら <number>+"%" なので、小数もありうる。
document.bgColor は document.body.bgColor と等価で、これは
<body bgcolor="〜"> に入る値でなければいけない。
許されるのは "#000000" のような 16 進数の RGB での指定か、
"black" のような定義済みの色の名前 (16 色のみ) のどちらか。
Firefoxではjavasciptで色の値を参照するとrgb()で帰ってきた希ガス
>>290 CSSStyleDeclaration の getPropertyCSSValue の戻り値はそうなるけど
(例えば document.body.style.backgroundColor の読み出し値)、
HtmlBodyElement の bgColor の読み出し値は "#000000" みたいになる。
その辺りは実装依存だし、書き込んだのと同じ値が戻ってくるとは限らない。
>>289 そうすると、document.bgColor の右辺は 16 進数の RGB でしかあり得ない
わけだが、実際は、
>>286の言うように、1,23,456などでも色が出る。
加えて、
>>286の提示している式では#記号は不正となる。
つまり、その説明では、何ひとつ説明されていないのでは?
>>291 × getPropertyCSSValue
× HtmlBodyElement
△ 実装依存
特に、いつもいつも Html みたいに間違っているのは救いようが無い。
たぶん同一人物だと思うが、とにかく、仕様書を読め。
295 :
Name_Not_Found:2005/09/28(水) 08:15:16 ID:pXs4kSW+
質問。
n秒後に「Enter」キーを自動的にクリックさせるよ
うにしたいのですが、どう書けばよいですか。
function P(){
obj.onclick();
}
みたいにしてPをn秒後に呼びたいのですが、objの
ところが分かりません。
296 :
Name_Not_Found:2005/09/28(水) 09:14:55 ID:BVAA5KUy
文字列連結で質問です。
文字列「C」があったとき、これを5つ連結させるには、
C+C+C+C+C
となるわけですが、+演算子を使わないで表わすことは
できますか。一般的にN個を連結させる式を知りたいです。
一般的かどうか知らないけど、これでどう?
dst="";
for (i=0;i<n;i++) dst += c:
>>295 (1)キーは「押す」ことはできるけどクリックはできない。
(2)キーを物理的に押すにはロボットか何かが必要ですね。
(3)Enterキーが押された時の動作をさせたいのなら、フォーカス
が「どこにあるときに」押されたかによって違うのでそれをちゃんと
書いて質問すれ。
>>295 function P(){
window.alert("Enterキーを押してくださいよ・・・ねぇ・・・ねぇほんとに押してくださいよっ");
}
くらいでいいんじゃなかろうか
>>299 で、押すとアラートダイアログが消えるだけだけど…
エスパーしてみる。
>>295 > obj のところがわかりません
<script type="text/javascript">
var n = 3;
function P () {
var obj = document.getElementById('enter');
obj.onclick();
}
setTimeout('P()', n * 1000);
</script>
<button id="enter" onclick="alert('Enter!?')">Enter</button>
302 :
295:2005/09/28(水) 12:38:59 ID:???
>>298さん
ありがとうございます。
たとえば、
>>299さんの例でいうと、アラートダイアログの「OK」ボタンには
すでに、フォーカスが当たっていますよね。それで、そこを利用して、その
アラートダイアログの「OK」を押せないものかと。イベントはonkeypress()
とかにして、起動は、n秒後という感じで。できないでしょうか?
303 :
295:2005/09/28(水) 12:49:01 ID:???
>>301さん
ありがとうございます。いけました。
重ねての質問で恐縮ですが、この流れで、
>>302に書いたように
アラートダイアログを消せませんでしょうか?
#無知ですいません、「エスパー」ってなんですか?
>>303 ESP = 超能力者。アンタの質問の意味不明な内容を超能力で
察知しようということ。
アラートがJSで勝手に消せたら警告の意味がないだろ。そういう
ことだったら「で・き・な・い」おしまい。別案としてはレイヤー
や別窓などアラートじゃないものを出してそれを一定時間後に
消すとかかな。
そういや IE には obj.click() っつークリックしちゃう粗悪な関数あったよね。
>>304 >アラートがJSで勝手に消せたら警告の意味がないだろ
こういう意見をよく聞くけどアラート自体JSで出してるんだから
そもそも論点がずれている
>>306 アラートは、ユーザーに何らかの警告を確認させるためのもの。
使い道として、ユーザーが警告を確認した後にボタンを押すが本来の形。
ただ表示するだけならステータスバーを使うか、innerHTMLで書き換えた方がよい。
スリープも兼ねられるし、デバッグ用で使ったりするけどね。
308 :
295:2005/09/28(水) 14:11:01 ID:???
>>304さん
ESPのこと、辞書で引いてみましたが載っていませんでし
た(Obunsha,COMPREHENSIVE)。スペルはどう書くのでしょうか。
espyというのはありました。
「隠れているものを見つける、(人の欠点を)探すし出す」という意味でした。
さて、
「アラートがJSで勝手に消せたら警告の意味がないだろ」
とのことですが、なぜでしょうか。JavaScriptで消せるとどういう弊害がある
のでしょうか?別になんの問題もないように思えるのですが。
>>308 釣られてみる。
例えば何かプログラムを実行するようなリンクを踏んだときに
「プログラムが実行されますよ?よろしい?」とアラートを出すUAがあったとする。
それをページ側で回避できちゃったら、やりたい放題じゃん。
295はこの世の中に向いていないんじゃないかな
>>307 それは「JSから消せたらダメ」な理由にはならないだろ
>>309 アラートを消せないようにするんじゃなくて他人が開いたアラートをハンドルする手段を提供しないのが普通だろ
ていうか自分で開いたものを自分でハンドル出来ないことに何の疑問も感じないどころか
肯定派なのかこのインターネットは
>>312 あのね、ダイアログは一度出したらユーザが確認しなければ閉じない
ようにきっちり作るだろ。そこを「JSから出たものなら、その同じページの
JSからだけは閉じられるように」するなんてバグとかも考えると危険
すぎ。洩れなら絶対そんな設計はしないよ。アンタはそうじゃないと
いうのは分かったけど現状そういう考えの設計者はいないようだな(w
他人が何も考えてないと思ったら大間違いだ、自分の考えが浅いと
いうことに気付くのは難しいだろうけどな。
おお、2ちゃんらしくなった(w
ただいま
>>312 が額に青筋立てて言い返す言葉を考えて
おります。そのままで少々お待ちください…
315 :
295:2005/09/28(水) 15:26:16 ID:???
>>309 解説ありがとうございます。でも、分かりませんね。
「何かプログラムを実行するようなリンクを踏んだときに」その実行を
こちらの「ページ側で回避できちゃ」うようなプログラムがJavaScriptで
書けるものなのですか?そんなのいくらなんでもムリじゃないですか?
他人のアラートを消す、または、未然に起動不可にするようなスクリプトを
彼我のファイル間でJavaScriptに書く発想自体がわかりません。
>>315 「自分のアラートを消せる」ように作るとそのための複雑化、
バグが怖いから「ユーザ以外消せないように作ってある」と
いうのが
>>313 説。別に本当か嘘かは知らん。でも実際JSでは
消せないというのが現実。あんたが納得しようとしまいとね。
>>295 ビデオ屋いってエスパー魔美でも見て来い。
319 :
295:2005/09/28(水) 17:30:36 ID:???
>>316 「別に本当か嘘かは知らん。でも実際JSでは 消せないというのが現実」で
納得します。ありがとうございました。
>>317-318 いろいろアドバイス、すいません。
ああ、そういうことですか。ぼくは、ビデオ屋ではそういう怖いもの系の
コーナーへはあまり行かないので・・・。たいてい「まんが日本昔ばなし」
を借りてしまいます。
320 :
Name_Not_Found:2005/09/28(水) 17:51:46 ID:c6dNt6ZX
すみません。お世話になります。
p = new Date();
s = p.getSeconds() & 1;
というとき、この「& 1」というのがなんのためなのか
分かりません。ご教示おねがいします。
"ビット演算" とかでぐぐってみるよろし
323 :
Name_Not_Found:2005/09/28(水) 19:08:09 ID:mWTYzthQ
<form method="POST" name="f" action="hoe.cgi">
<input type="image" src="hoe.png" name="hoe">
</form>
なフォームがあるんですが画像ボタンをクリックしようと
document.f.hoe.click();
と記述してるんですがdocument.f.hoeはオブジェクトじゃないと怒られます。
何とかしてクリックさせる方法ないでしょうか。document.f.submit()は無しでお願いします。
環境はIEで動けばいいです。
>>323 画像にid振ればフォーム通らないで参照できる
325 :
320:2005/09/28(水) 19:59:08 ID:???
ありがとうございました。すごい難しいんですね。
>>325 別に難しくはないよ。2進数にしてビット毎に見て両方「1」の
ところが1。8&1→1000&0001→0000=0、7&1→0111&0001→0001=1。
だから奇数なら「1」、偶数なら「0」になる。それだけ。
327 :
323 :2005/09/29(木) 08:48:33 ID:???
328 :
Name_Not_Found:2005/09/29(木) 09:20:12 ID:7k0cqsuq
すいません。
function Func(){
this.length = 20;
としたとき、thisの中に配列を作ることはできないんでしょうか。
this('Toyota','Nissan','BMW','Jaguar', ......);
みたいな感じで。
>>328 this[0] = 'Toyota';
this[1] = 'Nissan';
...
>>328 >>3A7(俺はこの記号を後何回書けばいいのだろうか・・・)
this.length == this["length"];
連想配列ならthis.Toyota,this,Nissann・・・・
普通の配列なら
>>329 とにかく
>>3ぐらい読もう。
おじさんも、ググれだの過去スレ検索しろだの言い過ぎたかもしれない。
で も
>>3 ぐ ら い 読 め る だ ろ ヴ ォ ケ が !
特 に 3 ・ 7 ・ 10 だ!
教えて君する香具師は、最低でも
>>3を3回復唱してから質問をよこせ。
>>328 「thisの中に配列を作る」の意味が分からん。関数Funcは
コンストラクタとして「new Func()」のように呼ぶわけね?
×this,Nissann
○this.Nissann
逆切れしといて自分でもこれはないと思った。鬱蛇詩嚢。
333 :
Name_Not_Found:2005/09/29(木) 11:32:20 ID:mb8xxDKv
もうぐだぐだだなお前ら
しかたないからIDに出てきた数字の回数だけオナニーすることにするよ
>>330 が何を説明してるのか全然理解できない。this.length
とthis['length']が同じだからどうだっていうんだ。
>>328は
連想配列のレの字も言ってないのに… 脳内で質問内容を勝手に
補完して易しい質問だと決めつけ逆キレ回答…勘弁してよホント。
>>328 は質問内容を正確に言い直して欲しい。ほんとわからん。
>>333 まっとうな回答もあればヒドイのもある。2ちゃんなら当然。
このスレ冒頭から読めばおおむね質問者の求めていることは
回答されていることが分かるはず。ゴミは飛ばして読むだけ。
336 :
328:2005/09/29(木) 12:01:49 ID:???
少しことば足らずだったようです。すいません。
>>328さんのご回答のように、
function Func(){
this.length = 20;
this[0] = 'Toyota';
this[1] = 'Nissan';
//etc.
}
が通常ですよね。で、ぼくが脳内で思ったのは、
this[0]=...,this[1]=...,this[n-1]=....
なら、
this('...','...','...','...',...)
も可能なはずだと。それでお聞きしたかったわけです。
もちろん、結果は"No Good"なのですが。
すいません。程度が低いだけで、まじめな疑問なので誤解
しないでください(でも、ま、2chだからよしとしますが)。
>>336 それはさあ、アンタの脳内で考えた機能とJSの機能が一緒とは
限らないっていうだけで。初期設定が面倒なのならthisを直接
配列にさせようとする代わりに
this.array = ['A', 'B', ...];
とかする方が素直でいいと思うよ。それが不満なら
var a = array['A', 'B', ...];
for(var i = 0; i < a.length; ++i) this[i] = a[i];
とかでコピーするのもありかな。
しかしなんで皆「new Array(x, y, ...);」が好きなのかな。
「[x, y, ...]」の方が短いし読みやすいし要素数が1個でも
使えるという利点もあるのにね(new Array(10)だと大きさ10
の配列ができてしまい初期値が10にはならない)。
>>336 しかしなんで可能だと思うんだ?
this じゃないにしても
hoge('Toyota','Nissan','BMW','Jaguar', ......);
って書いたら function hoge () を呼びに行くだろ?
ついていけない。
とりあえず配列作りたいんなら、自分なら攻殻
function Func(){
this.car = ['Toyota','Nissan','BMW','Jaguar', ......];
}
超かぶった orz
>>338 いや、それがさ… C++なんかだと「c = 1;」という初期化の
代わりに「c(1);」とか書けたりするわけよ。そういうのの類推
なんじゃないかとオモタ。類推したってダメヨとは思うけどね。
>>337 > しかしなんで皆「new Array(x, y, ...);」が好きなのかな。
考えたこともなかったけど、たぶん、他のオブジェクトを生成するときも
newを使うから、統一したいからだと思う。一個のときでも、わざわざ
var a = new Array();
a[a.length] = "Toyota";
って書くもん。
まあ、特に意識してなかったけど。
ふーん、オブジェクトリテラル「{ 名前:値, 名前:値, ...}」も
使わないんだ。便利なのになー。これを全部バラバラに書くなんて
面倒すぎて考えられない。
しかし、なんだな。
回答というのは、回答者のレベルや限界を見事にさらけ出すものだ。
>>338のようなレベルの低いヤシは、げすのかんぐり。
>>340のようなレベルの高いヤシは、相手の背景技量まで忖度する。
よってもって他山の石とすべし。
さあ、午後もがんばろっと。
>>337>>341 最初に習った教科書が、最大の功罪だと思われ。
どこもnew Array(x, y, ...);だったろう?
345 :
Name_Not_Found:2005/09/29(木) 13:46:22 ID:+1B0covP
ツリーを展開させたいのですが、一回目のクリックではツリーが表示されません。
その後、もう一度クリックすると表示されます。(WinIE6.0上で動作確認)
何か原因があるのでしょうか?
◆tree.js
function tree(listName){
var listItem = document.getElementById(listName).style;
if (listItem.display == 'none'){
listItem.display = 'block';
} else{
listItem.display = 'none';
}
}
◆list.html(XHTML1.0)
◇HEAD内
<script src="tree.js" type="text/javascript"></script>
◇BODY内
<a href="javascript:tree('abc')">ABC</a>
<ul id="abc">
<li><a href="1.html">1</a></li>
<li><a href="2.html">2</a></li>
</ul>
>>345 あのねえ、styleオブジェクトのプロパティのうち「設定して
いないもの」は参照しても取れないよ。だから実行開始時に
とにかく 'none' をまず入れておくようにしたら。または
「== 'none'」の代わりに「!= 'block'」にするとか。
>>344 手元のMy UNIXを見たが「new Array(n)」、「new Array(x, y, ...)」、
「[x, y, ...]」の3つが一緒に説明してあったよ。
>>344 それはただあんたの人生からの想像だろ。おれはこう習ったぞ。
function F(){this.length = F.arguments.length;
for(var i=0;i<this.length;i++){this[i]=F.arguments[i]}}
>>347 人の文章が読めなさすぎ。標準のArrayを作るときに配列リテラル
かコンストラクタかどっちを習ったかという話題してるときにその
ワケワカラン乱入はアホに見えるよ。よっぽど先生が悪かったのか…
あと「F.arguments.length」はかっこ悪いと思うな。マルチスレッド
になったらアウトって感じで。「arguments.length」でいいじゃん。
349 :
345:2005/09/29(木) 15:05:02 ID:???
>>346 修正してみたところ、ちゃんと動くようになりました!
ありがとうございました。
350 :
Name_Not_Found:2005/09/29(木) 15:56:45 ID:24IXScTk
質問です。
radio buttonやlistでテキストとの間の間隔を縮める方法はありませんか。
あるとすれば、そのやり方お教えを。
・<--A-->TEXT
で<--A-->を縮めたいです。
cssスレへいってらっしゃいませ。
352 :
Jayson Bernal:2005/09/29(木) 16:32:04 ID:EIZ8dCS7
Hi all,
I have used a filter technique to an image object so that the image's content of the image object can be changed dynamically when events occur.
However I have found that there is an error message prompted "unknown error" when 2nd image appear before complete
loading of 1st image.
This problem only occurs in IE4 with sp1 and no error message is prompted in IE5. I don't know why.
Maybe there is a patch in IE5 for this problem. However, for IE4 users, how can I solve this problem so that user can
operate more smoothly in IE4 with sp1 ?
// This function is used to change the exiting image to the passed one
function chg_img_with_trans(sNewGif, index) {
var doc;
var img;
doc = "" + document.currentcount;
img = "IMG" + document.currentcount;
document.all(img).filters.revealTrans.apply();
document.all(img).filters.revealTrans.transition=index;
document.all(img).style.visibility="visible";
document.all(img).src=sNewGif;
document.all(img).filters.revealTrans.play();
}
Thanks you for your attention !
Rgds,
Jayson Bernal
>>352 教養のないおいらがエキサイトで翻訳してみた。
私は、出来事が起こるとき、ダイナミックにイメージのイメージ物の内容を変えることができるようにイメージ物へのフィルタのテクニックを使用しました。
しかしながら、私は、最初のイメージの2番目のイメージが以前現れるときのエラーメッセージのうながされた「未知の誤り」完全なローディングがあるのがわかりました。
この問題はIE4にsp1で起こるだけです、そして、エラーメッセージは全くIE5でうながされません。 私は理由を知りません。
多分、パッチがこの問題によってIE5にあります。 しかしながら、IE4ユーザのために、そのユーザがIE4でsp1で、よりスムーズに働くことができて、私はどうしたらこの問題を解決することができますか?
//、この機能は出るイメージを変えるのに使用されて、通っているものを、あな
たの注意のためのあなたがありがとうございますということです!
Rgds
ジェイソン・ベルナル
下手な翻訳しなくていいよ
いまどきIE4ってのもなー
IE4ってどうやって手に入るかな。
Windows2000をインストールすると、IE5なんだけど。
IE5.5は入手法がみつからんので、オークションで探して雑誌のおまけCD-ROMを買ったよorz
>>355 自力であの英語が読めなくて機械翻訳しようってのがダメダメだろ。
>>356-357 IE専のフィルタでしかもIE4 sp1のバグの相談なんてパスパス。やってられん。
そういやIE4本体もさることながらsp1が手に入るかなあ。
>>352 We're afraid we cannot help you --- it's too difficult to
obtain IE4 sp1 now, so we cannot reproduce the problem and
look for workarounds. I personally recommend you to tell the
user that you cannot support old good IE4 anymore.
>>359 教養のないおいらがエキサイトで翻訳してみた。
私たちはあなたを助けることができないのを恐れています。--- 私たちが問題
を再生させて、次善策を探すことができないように、現在IE4 sp1を入手するの
は難し過ぎます。 私は、あなたが、それ以上古い良いIE4を支持することがで
きないとユーザに言うのを直接勧めます。
>360
教養のないおいらがイヤミのフィーリングで翻訳してみたワシャワシャ。
残念ながらあなたのお役に立てそうもないー現在IE4sp1を入手することは困難なので、
この問題を再現して解決法を探し出すことはできません。個人的にはある事を(あなたの)顧客に
話して聞かせるのがお奨めです。ある事とはなにかっていうと
→これ以上古き良きIE4をサポートできません、と言い聞かせることです。
PS the user がいきなりきても目線が混乱するワシャワシャ。 your user をthatで
緩〜く繋げてあげてください。コン
というか、日本語読めるからここに書いてるんだろ。日本語で書いても大丈夫だろ。
>>352 IE4 ? そんなもの捨てちまえ。
Filter ? そんなものも捨てちまえ。
以上。
363 :
Name_Not_Found:2005/09/29(木) 19:47:41 ID:YLtt14Xc
フェードインのスクリプトなのですが、うまく動きません。
エラーは出ないのですが、フェードインになりません。
どこがまずいのでしょうか。
stcnt=0;
CO = new Array(10);
CO[0]="#ff0000"; CO[5]="#00ffff";
CO[1]="#ff8000"; CO[6]="#0000ff";
CO[2]="#ff0080"; CO[7]="#8000ff";
CO[3]="#80ff00"; CO[8]="#ff00ff";
CO[4]="#00ff40"; CO[9]="#ffff00";
function BC(){
for(i=1;i<16;i++){
document.body.bgColor=CO[stcnt++];
if(stcnt>9){
stcnt=0;
}
for(x=1;x<200;x++);
}
document.body.bgColor="#ffff00";
}
BC();
Jayson. I'm sorry to say that it's too difficult to find out the answer you want in this thread.
Most of people answering the question here is wicked & malicious (especially perverted).
If U ask for solutions, watch out your a*s h*le.
>>363 ループで時間待ちしたらその間ブラウザは凍り付いてる
から表示の変更なんて起きない。まったくの無駄。
時間待ちにはsetTimeoutを使う。setTimeoutの使い方は山の
ように過去スレ全集にあるんで、絶対質問してくれるなよ。
こないだから bgColor 使ってる奴って同一人物?
や、どうでもいいけど、進歩ないなと思って。
>>364 二行目以下がひどい。
×Most of people
○Most people / Most of the people
×is
○are
×the question
○questions
×watch out
○watch out for
細かい点ではI'm sorry to say thatは使わないとか、三行目は仮定法にすべきとか。
それにしても自分から英語を使っておいて、たった3行でこれだけの文法ミス…
英作文添削スレになりますた。
>>364 全体がひどい。
>>364の指摘に加えて、
× I'm sorry to say that
○ I hate to say this but ...
× it's too difficult to find
○ it's hard to find
× people answering the question
○ people answering to your question
× is wicked &
○ are wicked &
× especially perverted
○ a sort of pervert
△ watch out your a*s h*le (??)
× watch out for your a*s h*le
○ break your ass
>>367 × questions
○ your question | the question you asked
冒頭のI'm sorry to say that...は決定的にまずい。日本語的発想としてわかる
が、毛唐には全くの不思議感がある。すかさずに必ずWhy?と訊いてくる。
汚いソースコードは読めるのに、英文はさっぱり読めないおいらがきましたよっと。
Finally arrived I, who am perfectly capable of really ugry
JavaScript code fragment, but not a bit of English!
>>369 > × questions
> ○ your question | the question you asked
文脈的にはyour questionsよりもquestionsの方が正しいと思ったのだが
採点いつまでつづくの?
hi Jayson,
Yeal are nite car?
>>372 なんで定冠詞を外すの?学校文法的にいうと、これは共通認識の「the」で、
through the windowとおなじ。yourをつければより明示的に限定される。
>>373 だが断る
>>375 Most of people answering the question here is wicked & malicious (especially perverted).
俺ががんばって意訳すると、「ここで質問に答えるやつのほとんどはろくでなしだ」となった。
ここっていうのは、多分前の文からしてこのスレッドのことだと思う。
そうすると「質問」はこのスレッドでの一般的な質問だから、questions もしくはthe questions になるかと。
少なくとも単数形はありえない
どうでもいい
意味の取り方によって変わるが、ここは多分questionsが正しいっぽい。
逆に
>>367のwatch out forはこの場合はおかしいな。文法的には正しいけど意味的に変。
>>369のbreak your assholeも聞いたことがないがどういう意味なんだろう。
>>369も突っ込みどころが多い
△ I'm sorry to say that
△ I hate to say this but ... (意味が違う)
○ I'm sorry but
○ it's too difficult to find
△ it's hard to find (意味が違う)
何々度チェックってやつを作ってて、四つの答えのうちの一つをラジオボタンで選んで次のページへ進んでいくんですが、
それぞれのラジオボタンで設定してある値が次のページに持ち越されません。
同一ページ内ならいけるんですが、次のページに行くと値がリセットされます。
どうすればいいんでしょうか?
function sa() {
this.chn = 4; // ラジオボタンの総数
this.ttl = 0;
for(i=0; i<chn; i++) {
if(document.nForm.elements[i].checked) {
this.ttl += eval(document.nForm.elements[i].value);
}
}
if (ttl == 0) myURL = "kotae.html";
else if (ttl <= 1) myURL = "kotae2.html";
else if (ttl <= 2) myURL = "kotae3.html";
location.href = myURL;
}
そりゃそうだ。
javascriptはページをまたいで変数とかは持ち越せません。
getで渡すか、サーバに送るか、cookieに保存しる。
英語読むのメンドクセーから変数とか全部日本語にするか。
382 :
369:2005/09/30(金) 02:01:36 ID:???
>>376 いやいや、拙くても、
>>364の英語をまずは尊重すべきだろう。そこが大元
なのだから。それでいくとだ、これを日本語にしてみると、
Most of people answering the question here is wicked & alicious
(especially perverted).
ちゅうのは、
「ここでその問題に回答しているおおかたの連中は、・・・」まあ、ロク
でもない変態野郎どもだと。だから、と来て、IF以下の文章に繋がる。
こんなところで問題の解決法を尋ねるなら、自分のケツの穴でもじっくり
眺めてろ。その方がマシだ、と。
この文脈で行くと、the questionは元質問者の提出した問題のことでしか
ありえない。だから、冒頭で、
「あんたが望んでいる答えはこのスレッドでは難しくて(だれにも)こたえ
られない」(残念ながら)、と書いている。it.....to....の強調構文に
forで立てるべき主語が書いていないので読みにくい。このforによる主語は
その次の文章の主語とおなじ。
これをもし、questionsと非限定の「このスレッドでのいろいろな質問一般」
とすると、どの質問にもこたえられないアホの集団ということになるが、
>>364がそこまでいうつもりのないことは、明らかだ。
383 :
369:2005/09/30(金) 02:04:38 ID:???
>>378 break your assholeなんてだれも言っていない。break your assだ。有名な米俗語。
>△ I'm sorry to say that
>△ I hate to say this but ... (意味が違う)
>○ I'm sorry but
I hate to say this but ... で「(自分としては望まない結果で)残念だが」
の意。日常会話でよく使う。I'm sorry but では、「そんなことを私がして
しまってもうしわけない。しかし・・・」の意味になってしまう。What did you do?と
必ず聞き返される。
>○ it's too difficult to find
>△ it's hard to find (意味が違う)
意味は大体おなじだが、△の方が素直な言い方。○では「あまりに難問なので
答えが見つけられない」という意味になってしまう。
うぜーっつんだよ。
>>384 だが断るw
>>382 なるほどね。やはり解釈の違いだな。
> これをもし、questionsと非限定の「このスレッドでのいろいろな質問一般」
> とすると、どの質問にもこたえられないアホの集団ということになるが、
>
>>364がそこまでいうつもりのないことは、明らかだ。
いや、明らかではないと思う。>364=663は前々からこのスレのことを悪く言っているしね。
それに"the question"に答えている人は、>364の前には一人しかいないから、
Most of the peopleというのはおかしいんじゃないだろうか。
原文からして>364の意味が通りにくかったんだろうけれど、ここは非制限用法が正しいと思う。
もう一度、「明らかだ」という思い込みを排して読んでみてはいかがだろうか
>383
> 意味は大体おなじだが、△の方が素直な言い方。○では「あまりに難問なので
> 答えが見つけられない」という意味になってしまう。
意味違うやんw
387 :
369:2005/09/30(金) 09:23:39 ID:???
>>385 忠告に従って思い込みを排して眺めなおしてみた。
>"the question"に答えている人は、>364の前には一人しかいないから、
は事実とちがうとおもう。
>>353-362が、Jasonに対する直接間接でのそれまでの回答であって、たぶん、
>>364は
自意識の高い人間だから、英語を機械翻訳にかけて騒いでいるアホどもにうんざりして
いる。それもカウントされているとおもわれ。
ま、あとは、「Vol37-663 with love」氏に語ってもらう以外真実の探求はむずかしい。
くだらん真理(心理)の探求だが、久しぶりに楽しかった。
388 :
369:2005/09/30(金) 09:28:01 ID:???
>>386 すまん、そうなんだ。「も」を入れ忘れてたのを自分でも気づいていた。
「・・・答えが見つけられない」という意味に*も*なってしまう」と訂正させて
くれ。
さて、本当にここで質問に答える奴のほとんどがろくでなし
だろうか。口は悪くても質問者を正しい方向に導いてやりたい
という点は誰も外してないと思うよ。質問者がワガママでブチキレ
るとかはまた別の問題でさ。悪意で大嘘教えてる回答は希少。
善意だけど回答者の能力のせいで大嘘なのはあるけどな(w
390 :
Name_Not_Found:2005/09/30(金) 11:30:01 ID:KMutCmZH
質問です。
画像の先読み込みで、appVersionが3以上という指定を
見かけますが、この指定は必ず必要ですか?
なんだなんだ??
久々にネタフリ成功か?
いつも英語が読めないレッテルを張る「だが断る」がその前に
レス書いてるっぽいんで俺様のグダグダ英語を披露してやったのさ。
結果は、予想通り撃沈なわけだ。
これでオマイラ俺様に英語が読めないなぞと
イエルヨウニナッタカモショボン
教訓: 下手な英語はレスの無駄遣いだからやめませう。
>>390 いらんと思うよ。IE3未満?そんなもの希少すぎ。
>これをもし、questionsと非限定の「このスレッドでのいろいろな質問一般」
>とすると、どの質問にもこたえられないアホの集団ということになるが、
>
>>364がそこまでいうつもりのないことは、明らかだ。
正解はquestions。(のつもりだった)
質問には答えるが、そこには絶対ハメようとする意図が隠れているはず。
そういう釣り集団に回答を求めるなら、ケツでも眺めてろってこった。という意味だったショボン
I'm sorry to say は、コンビニで「申し訳ございませんが・・・」的な冷たさを演出してみた。
それを英語でいうなら regretable to say とかだろ。そんな逐語訳だから
英語がダメだって言われるんだよ。スレの無駄づかいだからもうやめようよ。
>>393 "正解はquestions。(のつもりだった) "って?
単数と複数の区別もつかんのか。
>>393はもう一生英語禁止だ。
インチキ英語のばらまきは迷惑千万。もー英語のはなし、やめよー?
そればっか。何も内容がなくて「だが断る」だけってのも禁止だな。
へ へ|\ へ √ ̄| へ
( レ⌒) |\ ( |\)| |/~| ノ ,__√ /7 ∠、 \ . 丶\ _ __
|\_/ /へ_ \) | | | |∠ | |__ | / ! | | |_〜、 レ' レ'
\_./| |/ \ .| |( ̄ _) | ) | | i | へ_,/ ノ ,へ
/ / ̄~ヽ ヽ. | | フ ヽ、 ノ √| | ! レノ | !. \_ ー ̄_,ー~' )
/ /| | | | | |( ノ| |`、) i ノ | | \_ノ ノ / フ ! (~~_,,,,/ノ/
| | | | / / | | . し' ノ ノ | | / / | |  ̄
\\ノ | / / | |___∠-". | | ノ / ノ | /(
\_ノ_/ / (____) し' ノ/ / / | 〜-,,,__
∠-''~ ノ/ (_ノ 〜ー、、__)
お前らが反応するおかげで楽しいよ
おまいら全員おれよりも英語がうまいのはよく分かった。
これ以上はどっか別でやってくれ。
>>399 それよりもJaysonお前の釣の腕は相当なものだな。
どこで修行したんだ?
You is a big fool man. hahaha.
はいはいわろすわろす
403 :
Freddy Stacy:2005/09/30(金) 14:27:48 ID:rE2MwCfp
Dear Sirs
Not sure which site would be best... but since this is being used in a
Javascript function on a web page I guess it could go here...
Is there a regular expression I can use to ensure that the hyphens are
always there?
User input ->Result
12312341234 -> 123-1234-1234
123-12341234 -> 123-1234-1234
How about to always remove hyphens.
User input -> Result
123-1234-1234 -> 12312341234
1231234-1234 -> 12312341234
accountNumber = accountNumber.replace(/^(\d{3})-?(\d{4})-?(\d{4})$/,
'$1$2$3');
Finally, any regular expression to ensure that only 11 characters have been
entered and only digits have been entered.
What changes would be need to accept digits AND hyphens.
I am looking forwards to hearing your advices and suggestions !
Freddy Stacy
エキサイトで翻訳してみますか、隊長?
Then is 'ereg_replace' no use?
すみません。
javaスクリプトの自動計算で教えて頂きたいのですが、
現在、フォームの<SELECT>を使い、選択した項目の合計値を自動算出する、というHTMLを組んでいます。
例)選択した商品の価格の合計金額の自動算出
この合計する項目が1種類の時は問題ないのですが、2種類ある場合
(例:選択した商品の価格と重さをそれぞれ合計する)
が、うまくいきません。
上記のような2種類ある場合の自動計算は可能なのでしょうか?
409 :
Name_Not_Found:2005/10/01(土) 10:26:57 ID:e0rbKNQP
Textareaで質問です。
Textarea内にカーソルがあるとき、そのpositionを取得するにはどうすれば、よいで
すか。いろいろぐぐったりしてみましたが、この手の話題はないようでした。
よろしくお願いいたします。
>>408 何か知らんけど、デルとかの見積りページのソースでも覗いてみれば?
>>408 コードを出せ。
その価格と重さをどこからもってきているかが分からんのじゃ話にならん。
412 :
408:2005/10/01(土) 10:45:44 ID:???
>411
現在考えているコードは
<select name="obj1" onChange="keisan()">
<option VALUE="※重さ_※価格_※商品1">0</option>
<option VALUE="※重さ_※価格_※商品2">0</option>
</select>
<select name="obj2" onChange="keisan()">
<option VALUE="※重さ_※価格_※商品3">0</option>
<option VALUE="※重さ_※価格_※商品4">0</option>
</select>
で、選択したobj1とobj2を選択したら、重さと価格を
それぞれ文字列操作で呼びだして、計算させて合計を表示させる、というものです。
ただ、文字列操作で計算用の変数に文字列を数値に変えて読み込む、なんて器用なことを
javaスクリプトでやる方法(もしくは本当にできるかどうか)がわからないです。
やる方法があれば教えて下さい。
415 :
412:2005/10/01(土) 11:12:03 ID:???
>>413 やっていただけますか。うちの予算では2くらいまでしか出せませんが。
よろしければ、電話番号と銀行の口座名をお教えください。
>>414 「つ」の意味をお教えください。
それくらいで 2円ももらえるのか。すげえな。
中で何やってるのかようわからんが、
keisan(this) とか keisan('obj1') とかにしとけ。
javaスクリプト、ってあたりで気力が失せる。
それにしても、
>>416のkeisan(this) とか keisan('obj1') って
詐欺に近い答えだな。よく思いつくもんだ。それでカネ取る気化よ。
>>411 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function chg() {
var s0 = document.forms.f0.elements.s0, s1 = document.forms.f0.elements.s1;
var a0 = s0.options[s0.selectedIndex].value.match(/(\d+)_(\d+)_(.*)/);
var a1 = s1.options[s1.selectedIndex].value.match(/(\d+)_(\d+)_(.*)/);
document.forms.f0.elements.t0.value = parseInt(a0[1])+parseInt(a1[1]);
document.forms.f0.elements.t1.value = parseInt(a0[2])+parseInt(a1[2]);
}
</script>
</head><body>
<p><form name="f0" aciton="#" onsubmit="return false">
<select name="s0" onchange="chg()">
<option value="100_50_Item1">Item1</option>
<option value="120_80_Item2">Item2</option></select>
<select name="s1" onchange="chg()">
<option value="180_70_Item3">Item3</option>
<option value="190_30_Item4">Item4</option></select>
<input type="text" name="t0"><input type="text" name="t1">
</p></form></body></html>
げげ、pとformの閉じタグの順番が間違ってた。
<html>
<head>
<script>
function loaded(){
list = new Array();
for(i=0;i<2;i++)list[i] = new Array();
list[0].push(new Array("りんご",50,200));
list[0].push(new Array("ぶどう",70,100));
list[0].push(new Array("みかん",30,50));
list[1].push(new Array("きゅうり",20,50));
list[1].push(new Array("にんじん",40,100));
list[1].push(new Array("だいこん",100,300));
selects = new Array();
selects.push(new Array(document.getElementById("commodity0"),document.getElementById("amount0")))
selects.push(new Array(document.getElementById("commodity1"),document.getElementById("amount1")))
for(i=0;i<selects.length;i++){for(j=list[i].length;j--;){label = document.createElement("OPTION");label.text = list[i][j][0];selects[i][0].add(label,0);}}
calculation();
}
function calculation(){
num = 0;for(i=0;i<selects.length;i++)num += list[i][selects[i][0].selectedIndex][1]*Number(selects[i][1].value);document.getElementById("price").value = num;
num = 0;for(i=0;i<selects.length;i++)num += list[i][selects[i][0].selectedIndex][2]*Number(selects[i][1].value);document.getElementById("weight").value = num;
}
</script>
</head>
<body onload="loaded()">
商品<select id="commodity0"></select>数量<input type="text" id="amount0" value="1"><br>
商品<select id="commodity1"></select>数量<input type="text" id="amount1" value="1"><br>
<input type="button" onclick="calculation()" value="計算"><br>
合計価格<input type="text" id="price"><br>合計重量<input type="text" id="weight"><br>
</body>
</html>
業者にたのめとか、金払えばやってやるよとか、そういう風に煽れば、
オナニー我慢できない誰かがやってくれるわけか。すげー。
>>421 そりゃ違うな。そんなのと関係なくちょっと面白そうだと思えば
コード書いてみるよ、そういうのが上達のコツでしょ?
今回ちょっと面白かったのはvalueにデータ全部突っ込んである
というあたりかな。で、
>>420 と
>>418 と比較してどうよ?
ちなみに元質問者がこれらを応用するにはちゃんと読んで理解
しなければ無理でしょ。単にコピペ用を作ってるわけじゃないさ。
煽ったって無意味なのは過去ログ見れば明確に分かるよ。
>>418-419 閉じタグの順番、つーか開きタグの順番だな。
<p> の中に <form> は入れられないのと同時に、
<form> の子に インライン要素は入れられないので、
<form><p> とかするのが valid。
>>424 そうしようかとも思ったけど最後の文字列に「_」があったりとかね。
>>425 ああそうか、なんかヘンだと思ったスマソ。
>>422 みたいなのが釣れるのもこのスレの楽しみ方ですな。
ホンモノと見分けの塚内ルアーにまんまと騙されるとるアホと一緒にせ
んといてや、おっちゃん。もって帰ってもくえへんけどな。
>>418 ホレ氏は、いつも興味のあるものは
オマイラがチャチャ入れてる間にシコシコ作って
ホレしてくれる。前から同じスタンス。
問題は、周りの回答者・質問者のレベルが下がりッパということ。
>>403は明らかに外人さんじゃないのが丸分かりw
>>420 戻り値 (Array#length)
Array.prototype.push.call([], "foo") // 1
複数追加
Array.prototype.push.call([], "foo", "bar") // 2
戻り値を使わなくて、かつ、一つずつ追加するだけなのに、
Array#push を使う必要があるのだろうか。本当は、
list[0].push(new Array("りんご", 50, 200),
new Array("ぶどう", 70, 100),
new Array("みかん", 30, 50)
);
と書きたかったのではなかろうか。
戻り値を使わなくて、かつ、一つずつ追加するだけなら、
list[0][ list[0].length ] = new Array("リンゴ", 50, 200)
の方が適切だろう。
>>430 また無意味な性能最適化馬鹿かよ。分かりやすいpushの
方がいいに決まってるだろ。人間の時間と微小なCPU時間と
どっちが大事だと思ってるんだこの時代錯誤野郎。
あ、そうか。
if (!Array.prototype.push) Array.prototype.push = function () {
for (var i = 0; i < arguments.length; i++) { this[ this.length ] = arguments[i]; }
};
こういうことやれば IE5 でも push() とかができるんだな。 なるほど。
・・・
同じよう?に
document.createElement.prototype.addEventListener = ...
ってやろうとしたけどできんかった。とほ。
434 :
Name_Not_Found:2005/10/02(日) 00:46:24 ID:SE2htz0t
すいません、
<input type="button" value="0"
onclick="q=1 ; this.value==0 ? this.value+=q : this.value">
とすると、valueが文字列連結になってしまいます。
インラインのままで、valueが1となるようにするにはどうすればいいのでしょうか。
>>434 this.value += q の部分を
this.value = parseInt(this.value) + q に変更。
<input> の value は文字列だから "1" にすることはできるけど、
数値の 1 にすることはできない。文字列に変換して代入される。
js> eval('011')
9
js> parseInt('011')
9
js> parseInt('011', 10)
11
js> Number('011')
11
js> '011' - 0
11
js> '0' - ( -1 )
1
どうも
テキストボックス内に画像やリンクを入れて流すにはどうすればいいのでしょうか?
<SCRIPT language="JavaScript">
<!--
smes=new Array(5);
smes[0]="<a href='url'>サイト</a>";
smes[1]="<img src='./img/hot.gif'>最新";
smes[2]="<img src='./img/hot.gif'>最新";
smes[3]="<img src='./img/hot.gif'>最新";
smes[4]="<img src='./img/hot.gif'>最新";
n=0;
function mes(){
document.form1.mes1.value=smes[n];
n++;
if(n==5){n=0}
setTimeout("mes()",2000);
}
//-->
</SCRIPT>
といった感じでやったら、そのままタグが出てしまいました。。。
すいませんが教えてください。
>>437 テキストエリアではタグは解釈されないから。
適当な場所にdiv入れてID振っておいて
document.getElementById('ID名').innerHTML = smes[n];
でいいんじゃないの。
440 :
434:2005/10/02(日) 10:25:51 ID:???
>>435 ありがとうございました。納得です。
>>437 教えてもらっている私からいうのもオコガマシイですが、
>>437さんが
Textareaライクなエリアで画像を表示したいというのであれば、DIVで疑似
的にTexarea風のものをお作りになるのも一つの方法かと思います。
>>430 GRAYのProgrammingの法則のJavaScriptへの応用:
Array#push などのcost^2に比例しない処理であれば、たとえいくつか増えても
所要時間は同じと予想される。
>>441 何々?JavaScriptでそういうどっちが早いとか効率がいいとか
実践的な事柄について教えてくれる本があるの?
晒せや
「JavaScriptへの応用」って書いてあるけど…
444 :
441:2005/10/02(日) 14:24:21 ID:???
>>442 私もあれば面白いとは常々思っておりましたが、本はないと思います。
私のJavaScript歴から、時に応じて書きとめた、いわば私家版のようなものですので。
>>441の法則は、グロシュのコンピュータ処理の法則からの私的な応用です。
コンピュータの法則はいろいろありますね(囲碁将棋の格言の様なもの)。
たとえば、ブルックスの応援の法則
ソフトウェアの開発が遅れていても、応援を頼むとますます遅れてしまう。
とか。私はこれ実践しております。
また、先頃のこのスレでの英語のお話でも、たくさんの法則というのがあります。
コンピュータ・プログラムを英語で書けるようになると、今度は、普通の文章を
英語で書けなくなる。
445 :
437:2005/10/02(日) 14:43:24 ID:???
みなさま本当にありがとうございます。
おっしゃられてるとおりテキストエリアからdivに変換したら
すぐできました。なんとも恥ずかしい質問にお答え
ありがとうございます。
これからも精進していきます。
446 :
Name_Not_Found:2005/10/02(日) 16:39:58 ID:XKqUcNbM
お願いします。
文字列「str」の特定の部分に動的に下線を引きたいので、JavaScriptを書いてみ
たのですが、うまく行きません。脳内と叱られそうですが、こんな風に書きました。
str.substring(3,6).textDecoration='underline';
本当はどうかけばよいのでしょうか。すみません。
style は要素に付くので、文字列 str を3分割して、下線を引きたいトコを span とかの要素にするくらいしかないんじゃないかねえ。
448 :
446:2005/10/02(日) 17:09:08 ID:???
>>447 ありがとうございます。確かにそうなんですが、任意に文字列を切りとって
その部分に下線を引けたらと思ったものですから。最終的には、下線が、
文字の下を流れて行くようなものを作りたいのです。
やはりムリでしょうか。
訂正:
>>446の脳内コードでstyleが抜けていました。
str.substring(3,6).style.textDecoration='underline';
どうでもいいことですが・・・
だから "動的に"
>>447 をすれば 「流れていくようなもの」 ができるだろよ。
>>449 できるなら、はやく書いてみろや。ホントにできるんならね。
出来もしないことをいうな、ヴォケ
だから文字列取ったり貼ったり、タグ入れたり抜いたりしたくないのだろうよ。
でも多分無理。
あきらめて
>>447でシコシココード動かせや。
>>448みたくしたければどうしてもタグで文字分割するかしてCSSかけるしかない。
ところで
>>441は自分で書き綴っただけのものなのねん。
で、他にそういう書籍は見当たらんわけだ。
>>441よ
いっそ電車男を狙ってみる気はないものか?
とりあえずブログからだ。Go Ahead!
そして晒せ
以上
var str='おまいみたいなモンは文句言う前にコード晒せ';
function drowULine(hoge){
var header='';
var adaption='';
var footer='';
for(var i=1;i<str.length-2;i++){
if(i=1)heade=str.substring(0,i-1);
adaption=str.substring(i,i+1);
if(i=str.length-2)footer=str.substring(i+2,str.length);
hoge.innerHTML='<div>'+header+'<div id="underLine">' + adaption + '</div>' + footer + '</div>';
}}
setIntervalしないとうまく動かんと思う。前に載ってる。
俺はやったことないからパスだ。後オマイが調べてやれ。
要は原理はこうだ。
ほぉー、これは収穫だったな。いやいや、コードじゃなくて、
>>452が、setIntervalを
やったことがないってのが、さ。そういうことにして逃げたとも思えんしな。
不覚にも買い被ってた。しかし、これで動くのかねえ。だれか、完全版をキボーン。
>>446,448
まるで食指が動かなかったんだが、
>>450 に売り言葉買い言葉でバカ言い合うのも何だし、どうせだったら動くものをパス。
<script type="text/javascript">
function flow_text (id, chars, interval, classname) {
if (!id || !chars || !interval) return;
this.element = document.getElementById(id);
this.text = this.element.innerHTML;
this.chars = chars;
this.classname = classname;
this.count = 0;
var obj = this;
this.timer = setInterval(function () { obj.func() }, interval);
}
flow_text.prototype.func = function (e) {
var before = this.text.substr(0, this.count);
var target = this.text.substr(this.count, this.chars);
var after = this.text.substr(this.count + this.chars);
this.element.innerHTML =
before +'<span class="'+ this.classname +'">'+ target +'</span>'+ after;
if (++this.count > this.text.length) this.count = 0;
};
window.onload = function () {
// (element-id, character-length, interval[ms], target-class-name)
var o = new flow_text('flow-underline', 10, 100, 'underline');
setTimeout(function () { clearTimeout(o.timer) }, 10 * 1000); // stop
};
</script>
<style type="text/css"> .underline { text-decoration:underline; } </style>
<p><span id="flow-underline">abcdefghijklmnopqrstuvwxyz</span></p>
つか
>>448 の"流れる"の解釈間違ってたらスマソ
完全に出遅れたが
>>446 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function flow(id, len) {
var e = document.getElementById(id), s = e.innerHTML;
var pos = 0, timeid = setInterval(function() {
var s1 = s.substring(0, pos), s2 = s.substring(pos, pos+len);
var s3 = s.substring(pos+len); e.innerHTML = s1+'<u>'+s2+'<\/u>'+s3;
if(++pos+len > s.length) clearInterval(timeid);
}, 50);
}
</script>
</head><body onload="flow('d0',3)">
<div id="d0">abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz</div>
</body></html>
ついでにだが
>>446 よ、取り出した文字列のスタイルなんか
セットしても無意味だぞ、甘い期待持ちすぎ! 修行が足りない。
まあ完全に
>>453に釣られたわけだが・・・
その言い草は他にネタが無い時だけ押せることを忘れるな。
setIntervalはコーディングする機会がホントにないだけ。
やり方はなんとなくこのスレ見てるから分かるが、
大体で書くとさらに突っ込まれるんで止めといた。
そろそろ1回作っとくべきかな。
そこまで調べて晒すまでもないやつの質問だし
スレの繋ぎに書いただけ。
453よ。ネタが無くてみんな釣られてくれて良かったな。
まさか打率で松井に負けるとはねぇ
誤爆スマソ
あほか。ウダウダ言う前に黙って練習して質問出たら普通に
使ってみせろよ。何だその有言不実行は。
匿名だしIDも消せるんだから、どこかのスーパースクリプターさんのツッコミなんて気にせず
わかる範囲で書けばいい。
>>458 >setIntervalは、[・・・]やり方はなんとなくこのスレ見てるから分かる
すごいな。限界丸だしじゃん
うむ、百言は一行に如かんな。
>>454,456 に対しての言い訳に聞こえるわ。
>>452 も思考経路が理解できんかった。
なんだか、、、またコードはろくに書けないのに演説はしたい
ヤシが出現しているようだな。すっこめ。悔しければ実力つけて
から来い。
よーし、パパもコード書いちゃうぞー。
10 console 0,25,0,1
20 width 80,25
30 print "ガッ"
40 goto 30
run
なんだい、そんなの。ぼくだって書いちゃうもん。
Sub Form_Load ()
On Error GoTo fehler
Dim t_drive As String
Dim t_prog As String
Dim t_param As String
Dim kombi As String
t_drive = app.Path
d$ = app.Path & "\papa.inf"
Open d$ For Input As #1
Input #1, z$
t_prog = t_drive & z$
Input #1, z$
t_param = t_drive & z$
Close #1
kombi = t_prog & " " & t_param
x = Shell(boku, 1)
End
Exit Sub
fehler:
MsgBox ("papa: " & boku)
End
End Sub
JSスレだろ。スレ違いやめれ。HaskellでもSatherでも何でも
書けと言われれば書く奴いるだろがそれで楽しいか?
ここは言語が段々低レベルになっていくスレですか?
471 :
Name_Not_Found:2005/10/03(月) 16:19:51 ID:jK6z669n
質問です。
テキストボックスの中に書いてある文字の色を
途中で変えたいのですが、どうすればいいんですか?
最初から変えるならJSなんか使わずに
<input type="text" style="color:#******">
って感じでいいと思うんですが。
途中から・・・っていうのは、
"JSの構文の中に色を変える命令を入れたい"ということです。
質問の内容を要約すると、
「テキストボックスの文字色を変える命令を教えてください」ですね。
ちなみに、検索しても↑のタグぐらいしか載ってませんでした。
>>471 document.forms["myform"].elements["mytext"].style.color = "#000000";
473 :
Name_Not_Found:2005/10/03(月) 16:38:47 ID:oeOgYhKU
質問です。
関数のあと、{}の次にKeisan()を書くのと、BODYタグの中にonLoad="Keisan()"
を書くのとでのオートスタートのちがいを教えてください。
>>471-472 472ではないが、若干補足すると、このコードでは色が変わらいケースが1つだけある。
>>473 >関数のあと、{}の次にKeisan()を書く
とは?
function Func(){
//do something
}
Func();
という意味?
475 :
Name_Not_Found:2005/10/03(月) 16:55:19 ID:jK6z669n
>>472 やってみたらできました。ありがとうございました。
(そんな命令はないと思ってました・・・)
>>473 onloadはページ内容を画像も含め完全に読み終わった時に実行
される。普通に呼び出した場合はHTML読み込み中の「その位置まで
読んだ時に」実行される。以上。
命令っていうか・・・。
記述ね、たんなる。英語(え、また?)でいうと、ステートメントだわな。
479 :
473:2005/10/03(月) 18:01:10 ID:???
>>476さん
ご回答ありがとうございます。よく分かりました。
onloadはHTMLを読み終わったときに呼び出されるんじゃないのか?
画像は読まれなくても実行されたと思ったが…
試せばわかることだな。暇なときに試そう
まだ試すとかほざいてるのか…それって自分の環境でどうかを
調べる以上の意味はないってさんざん言っているだろ。
The onload event occurs when the user agent finishes
loading a window or all frames within a FRAMESET.
482 :
Name_Not_Found:2005/10/03(月) 18:25:19 ID:yHSMuev0
すみません。教えてください。
下のようなスクリプトを組んで、ボタンがそれぞれの長さに一斉にのびて
いくスクリプトを組みました。
var g1=g2=g3=0;
timerID = 0;
function G(){
if(g1>30){ return }
if(g2>50){ return }
if(g3>70){ return }
g1+=1;
g2+=1;
g3+=1;
document.f1.i1.style.width = g1;
document.f1.i2.style.width = g2;
document.f1.i3.style.width = g3;
clearTimeout(timerID);
timerID = setTimeout("G()",10);
}
HTMLは
<form name="f1">
<input type=button name="i1"><br>
....
</form>
という感じです。しかし、これを実行すると、30pixelのところで
3本とも一斉に止まってしまいます。どうすれば、それぞれが長さ
のところまで伸びるようになりますか?
テーブルの○列目を書き換えるスクリプトを書こうと思ったんですが、rowspanで結合されたセルのある列がうまく取得できません
アドバイスお願いします
>>482 if (g1 < 30) document.f1.i1.style.width = g1;
って感じでかけば?
>>483 どう取得できないのかワカラン
>>474 変わらないケース教えてん
>>482 function G(){
if(g1 < 30) g1+=1;
if(g2 < 50) g2+=1;
if(g3 < 70) g3+=1;
document.f1.i1.style.width = g1;
document.f1.i2.style.width = g2;
document.f1.i3.style.width = g3;
clearTimeout(timerID);
timerID = setTimeout("G()",10);
}
>>481 ECMAScript、W3C、後はブラウザ
487 :
Name_Not_Found:2005/10/03(月) 19:08:57 ID:7rTcmiXg
>>484 例えば5列目を取得したいのですが、結合されたセルがあると、6列目になったりするんです。
結局こうか
function G () {
var e = document.forms.f1.elements;
if (g1 < 30) e.i1.style.width = ++g1 + 'px';
if (g2 < 50) e.i2.style.width = ++g2 + 'px';
if (g3 < 70) e.i3.style.width = ++g3 + 'px';
if (g3 < 70) timerID = setTimeout(G, 10);
}
489 :
487:2005/10/03(月) 19:46:10 ID:7rTcmiXg
テーブルの1列目だけを変えたい時に、
for(i=0;i<10;i++){
document.getElementById('id').rows.item(i).cells.item(0).innerHTML='abc';
}
とすると、関係ない列も変わってしまうのです。
こんなテーブルです。
<table id="id">
<tr><td rowspan="3">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td rowspan="2">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
</table>
>>489 アンタが「関係ない」と脳内で決めているだけでJSプログラム
にはそのことが伝わってないんだろ。ちなみに洩れたちにも全然
伝わってないんだが。そのテーブルでどことどこだけ変えるはず
なのにどこまで変わってしまうという話なのさ。結合されたセル
を除外したいのならif文でrowspanの値をチェックして書き換えを
避けるんだろ、ほかに何をどうアドバイスしろっていうんだ?
>>482 g1が30以上になると、先頭のif文でreturnするからそれ以上の
動作は何も行われなくなる。他人のアドバイス読む前にそのこと
を噛みしめないとロクなプログラマにならないからね。
つまり <td〜>1</td> のとこだけ abc に変えたいって事?
日本語の不自由な奴の質問は手間が掛かるね…
494 :
487:2005/10/03(月) 20:15:58 ID:7rTcmiXg
>>491-493 捕捉がなくても
>>483だけで概要はつかめた。
こんなこと、半年も JS と HTML やってれば経験するだろう。
おまえらは質問者より無能だからレスしなくて良い。
496 :
495:2005/10/03(月) 20:18:43 ID:???
(誤) 捕捉
(正) 補足
>>497 ほんとだね
必死で揚げ足とらなきゃならないもんね
で、そういうことになるとやっぱり自前でrowspan/colspanを
取得してどのセルがどこに相当するかの計算をブラウザと同様に
やらないと済まなさそうだよね。面倒だけどさ。
>>490 の書いて
いるoffsetLeftで左端のセルかどうかチェックするというのは
なんか危うそうで勧めたくない気分だ。
さあ有能な
>>495 がコード貼ってくれるのを楽しみに待つか。
無能な洩れはようやく意味が分かったのでコード書き始める
ことができるようになったよ。
しかし数年JSとかHTMLとかやってるけど、rowspanを使いつつ値を変える必要がある table なんて未だ使ったことないわ。
すまそ、風呂入ってから書き始めたんで遅くなったわ。ホレ。あれ、有能な
>>495 のはどこ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var tb = new Array();
function init() {
var e = document.getElementById('t0');
for(var i = 0; i < e.rows.length; ++i) tb.push(new Array());
for(var i = 0; i < e.rows.length; ++i) {
for(var j = 0; j < e.rows[i].cells.length; ++j) {
var cell = e.rows[i].cells[j], rs = cell.rowSpan, cs = cell.colSpan;
if(!rs) rs = 1; if(!cs) cs = 1;
for(var r = 0; r < rs; ++r) {
for(var c = 0; c < cs; ++c) tb[i+r].push(cell);
}
}
}
}
function chg() { for(i = 0; i < tb.length; ++i) tb[i][0].innerHTML ='abc'; }
</script>
</head><body onload="init();setTimeout(chg,1000)">
<table border="2" id="t0"><tbody>
<tr><td rowspan="3">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td rowspan="2">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr></tbody></table></body></html>
ホレ氏がんばってんなあ
505 :
482:2005/10/03(月) 22:47:36 ID:???
>>485さん
>>488さん
ありがとうございました。
>>491さん
ご忠告ありがとうございます。まったくおっしゃるとおりです。
後で考えると、まったく理に合わないこと書いてるなあ、と。
またよろしくお願い致します。
495じゃねーけど、こんなのどーよ
<html><head><title>ドム</title>
<script type="text/javascript">
function change()
{
var t = document.getElementById('t0');
var cur = t.firstChild.firstChild.firstChild;
var rs = 1;
while(cur){
if( rs >1){
--rs ? (cur = cur.parentNode.nextSibling.firstChild):( cur = cur.nextSibling );
continue;
}
else if( cur.rowSpan > 1 ){
rs= cur.rowSpan;
}
cur.innerHTML = 'abc';
cur = cur.parentNode.nextSibling ? cur.parentNode.nextSibling.firstChild: null;
}
}
</script>
</head><body onload="setTimeout(change,1000)">
<table border="2" id="t0"><tbody>
<tr><td rowspan="3">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td rowspan="2">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr></tbody></table></body></html>
507 :
506:2005/10/04(火) 01:17:50 ID:???
スマソ。無駄が
<html><head><title>ドム</title>
<script type="text/javascript">
function change()
{
var t = document.getElementById('t0');
var cur = t.firstChild.firstChild.firstChild;
var rs = 0;
while(cur){
while(rs){
cur = cur.parentNode.nextSibling.firstChild;
--rs;
}
if( cur.rowSpan > 1 ){
rs= cur.rowSpan-1;
}
cur.innerHTML = 'abc';
cur = cur.parentNode.nextSibling ? cur.parentNode.nextSibling.firstChild: null;
}
}
</script>
</head><body onload="setTimeout(change,1000)">
<table border="2" id="t0"><tbody>
<tr><td rowspan="3">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td rowspan="2">1</td><td>2</td><td>3</td></tr>
<tr><td>2</td><td>3</td></tr><tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr>
<tr><td>1</td><td>2</td><td>3</td></tr></tbody></table></body></html>
>>507 Unix moz1.7で動かしてみたが何も変化しないよ…
あとcolspanとか任意カラムの変更には対応していないのね?
509 :
Name_Not_Found:2005/10/04(火) 09:34:49 ID:wfW4kjdx
こんにちは。JavaScriptでたとえば、
[obj].style.pixelLeft -= 10;//IE
などを使って文字を移動させるとき、ブラウザ下縁の横スクロールバー
が出現して動いてしまいます。スクロールバーが出ないようにスッキリ
した形で移動させることはできませんか。
できません
IE でいいなら body { overflow-x:hidden; } でいいんちゃうか
512 :
509:2005/10/04(火) 11:35:15 ID:???
>>511 IEでダメです(最低制約IE4なのでIE4でテスト)。
バージョンとかの制約ありますか?
>>510を信じるべきでしょうか。
質問の回答が信じられないなら質問するなよw
>>471 この質問みて思ったんだけど、今どきはもう、
<FONT COLOR="orange"><INPUT TYPE="text" VALUE="JavaScript"></FONT>
なんてのは心配しなくていいんだろうか。
洩れが旧いのか。時の流れにコードをまかせてもいいんだと、どうしても体が
受付けない。
つーか化石の IE4 で試して ダメ とか言うなw 回答して損した
>>514 古い以前に、それやっても input の中のテキストの色は変化しねーべや。
>>513 あふぉ抜かすな、カス。
おまえ、回答者の答えはみんな信じてるのか?
笑ってごまかすんじゃねーぞ、このヴォケ
バカにするのも必死だな
>>514 font要素なんてものも昔あったなあ…(遠い目)
>>512 IE4につき合ってくれる回答者はいないと思うな。IE4では
はっきり言って何もできないも同然。皆持ってないから確認
も困難。ご愁傷様。ちなみに、一般的には(IEでもGeckoでも)
overflow:hiddenで済む話。
>>511,
>>515 おめえ、ちんけーな。そんな料簡ならもう回答するな。だれも別に困らん。
べつに
>>512は何も悪いことしてないだろ。断りは遅かったかもしれんが。
おまえが、「IE でいいなら」と書いた時点でversionについて何か言う資格
はなにもない。IE4でもOKと言うことだろ。ちがうか?
Windows2000ではIE4のインストールすら出来ません
>>521 アンタがIE4で動くコードを頑張って作るのは別に止めない。
でもIE4ではほとんど何もできなく確認のしようもないのは事実。
IEと書いただけでIE4が含まれるならIE3とIE2とIE1はなんで含まれ
ないのか説明してみろ。それとも含まれると主張するかね(w
IE1が動かせるというだけで尊敬してやるよ。
まあまっとうに使えるIE5.5以降とかが前提だと洩れは思うね。
>>1 : ・対象環境や使用技術は質問者の裁量であることを理解する者
: (質問時、回答時にはなるべく対象環境を明記しよう)
質問者も回答者も明記しなかったんだからどっちも手落ちだな。
だが、ただIEと書いてIE4で動かないだろという突っ込みはこの
スレ的には相当おかしい気がするのも確か。テンプレ変更するかね。
普通 「IE では動くけど NN や Opera で動きません」 とかきいたら、
IE6 や NN7 とか Opera7-8 で動くかどうかを想定するよなあ。
IE4 とか NN4.7 とか Opera6 とか思い浮かべて実際に試すやつっているの?
最新・それに準ずるものはバージョン名省略していいけど、古いときにはバージョン名つけてほしい。
ついでに、
>>519 単に overflow:hidden だと縦のスクロールバーも非表示になってしまうから、それは彼も望まないだろうと想定した話
>>527 なるほど、その場合動かす領域にdivを配置してそのdivを
width:100%; overflow:hidden とかかな。高さは適宜で。
>>509 多分できるよ。Javascriptおぼえたてのころ書いたことがある。
どうやったかは忘れた。
要求がはっきりしないんだが、IE限定ならmarqueeじゃだめなのかい?
やっぱりさあ、その「動かす」というのがどういう動かし方
なのか質問者が書いてないのがトラブルの元な気がする。
電光ニュースみたいなのなら別にmarquee使わなくても簡単。
マウスについてまわる文字かとオモタ
>>508 spanマンドクサー
それパス
function change()
{
var t = document.getElementById('t0'), rowid =0;
while( rowid< t.firstChild.rows.length && (td = t.firstChild.rows[rowid].firstChild)){
rowid += td.rowSpan;
td.innerHTML = 'abc';
}
}
すいません。初心者の質問で申し訳ないのですが、
外部ファイルのソースを見ることはできるのでしょうか?
自分なりに方法をさがしてみたのですが(過去ログ・本屋にて)見つけることができませんでした。
そもそも外部ファイルを見ることは不可能なのでしょうか?
もし方法があればご教授よろしくお願いします。
firstChild が必ずしも<tbody>や<td>のような期待してる要素であるとは限らないんだがなあ。
とりあえず
>>502 で書かれているような仮想テーブルな配列作っちゃった方がアクセスしやすそう。
536 :
509:2005/10/04(火) 14:30:18 ID:???
509質問者です。私の質問でみなさんお仲間割れさせてしまい、申し訳なく
思っています。私としては化石といわれても、中古で譲り受けたPCをボラン
ティアで使ってもおりますので、IEを外すわけに行きません。WIN98/IE4です。
プログラム本体が分からないとのご指摘ごもっともです。長いものをお送りする
とお叱りを受けると先に案じて簡潔に質問させていただきました。
要点だけですが、次の様なスクリプトです。みなさまなら、これだけですぐご理
解いただけると存じます。ご参考まで。いろいろありがとうございました。
function moveByLAYER(layName,offsetx,offsety){
if(document.getElementById){
var oj = document.getElementById(layName).style
oj.left=parseInt(oj.left)+parseInt(offsetx )+'px'
oj.top =parseInt(oj.top) +parseInt(offsety )+'px'
} else if(document.all){ //e4
document.all(layName).style.pixelLeft += offsetx
document.all(layName).style.pixelTop += offsety
} else if(document.layers) //n4
document.layers[layName].moveBy(offsetx,offsety)
}
>>534 > 外部ファイルを見る
その 外部ファイル にアクセスすれば見れるべや?
JS ファイルが勝手に実行されちゃってソースが見られない、ってことだったら、
"JSファイルはメモ帳で開く"ように設定しとk
>>536 WIN98 でも IE5 とか IE6 とかインストールすれば動くのに
>>535 複雑なテーブルだと配列つくらにゃやってられないことは承知してるけど
そうめったに必要になるもんじゃねーし、簡潔に特化するのもいいんじゃね?
程度にみといてオクレ
540 :
534:2005/10/04(火) 14:52:11 ID:???
>>537 ありがとうございます。「メモ帳」をキーワードにして検索してみたところ方法が見つかりました。
ありがとうございました。
>>539 しかし
>>507 は
>>502 にくらべて簡潔とは言えないだろ。
汎用性は全然ないし。方針としてイマイチだと思うなあ。
>>538 まさかIEの新しいのをインストールしたことがないって
話かねえ。とにかくIE4捨てないつもりならもう何もできる
ことはないから帰れ。
IEの新しいのって金取られるとか思ってるんじゃねーの(w
>>541 うむ、同意。
特化するだけだったら、TR の中の TD の数を数えて、3以下だったらスキップさせればすむ話だ。
var table = document.getElementById('id'),
var trs = table.getElementsByTagName('TR');
for (var i = trs.length; i--;) {
var tds = trs[i].getElementsByTagName('TD');
if (tds.length == 3) tds[0].innerHTML = 'abc';
}
HTMLソース は
>>489
544 :
Name_Not_Found:2005/10/04(火) 15:56:31 ID:/W4G+oDK
とつぜんですみません。HTMLファイルに画像があります。それを
プリンターで出力したいのですが、カラー仕様のために、1枚あた
りのコストがどうしても百円程度かかってしまいます。試しに焼
くこともありますので、その分を入れると@140円くらいです。で
すので、なんとかブラウザの印刷仕様画面で減数し費用を押さえれ
ぱ、と思います。HTMLの中にIMGのプログラムで、スライドショー
やフィルター効果を使えば、今いくつかある画像を各々ダウンサイ
ジングしなくてすむと思うのですが。やり方お願いします。
>>544 JSと関係ないだろ。HTMLでテーブル作って画像を大きさ指定で入れるとか?
>>544 印刷用スタイルシート
例えば <link rel="stylesheet" media="print"> みたいに指定して
おけばブラウザが印刷時だけ自動的に適用してくれる。
通常用と節約用みたいに複数のスタイルシートを切り替えるなら
JavaScript の利用が考えられる。
Mozilla なら代替スタイルシートの切り替えは標準機能。
>>566 本当に
>>544 がそういうことを求めていると思うか?洩れは全然
思えないなあ。またアンタが何か答えたいから勝手に演説してるん
でないといいがね。まあ質問者に聞いてみようじゃないか。
選択肢があるアラート教えてくれないですか?
googleで調べても出ないんです。お願いします。
confirm のことか?
あれれ?
洩れが
>>544で気になるのはタテ読みが成立すること。ただの修辞だろうか。
>>545の回答への布石のような気もする。深読みのし過ぎであればいいのだが。
あるいは、
>>544 =
>>546 のジエンとして考えてみる。
>>542 MSは金払ってでも古いIEはなくなってほしいのにな。
>>551 それ見てなかった。そうやるにしては長いね。
function change() {
for(var t = document.getElementById('t0'), i = 0; i < t.rows.length; ) {
var c = t.rows[i].cells[0]; c.innerHTML = 'abc'; i += c.rowSpan;
}
}
>>554 IEに期日が来たら起動できなくなる爆弾仕込んでおけば
よかったんだよ。MS自身が。
>>556 IEに期日が来たら自爆するような起動仕込んでおけば
よかったんだよ。MS自身が。
Windows Update で無理矢理最新版にしてしまうことはできないのかなあ。
>>502 // おまえいつもいるが、本当に成長しないな。高齢者か?
> for (var i = 0; i < e.rows.length; ++i) tb.push(new Array());
なんて、何日か前にあっただろ。push 使うなら、
if (0 < e.rows.length) while (tb.push(new Array()) < e.rows.length) ;
みたいに push らしく書いてくれ。
>>499 > offsetLeftで左端のセルかどうかチェックするというのは
> なんか危うそうで勧めたくない気分だ。
具体的に、どのプラウザで使えないの?
innerHTML,
rows, cells
などのプロパティが使える今時のブラウザという条件で。
やりたいことは、レイアウト後の位置関係を求めることだから、
offsetLeft を使うのが当たり前。
例えば、曜日をツェラーで求めちゃ駄目だし、そもそも
お手軽言語作者は曜日をツェラーで求めさせはしない。
便利なものがあるのに、既にレイアウトされたテーブルを
わざわざレイアウト以前に戻ってそれを再現しつつ
セルの見た目の位置関係を求めるなんて、ナンセンス。
>>561 当人じゃないけど、何がそんなに悪いのかワカラン
>>562 > offsetLeft を使うのが当たり前
ここにいる何人が同意しただろうか。
>>561 forループで数数えるように書くのが分かりやすいんだよ。
喪前の書き方の方が読みやすいって奴、回りで集めてみ。
いないと思うよ。
>>562 あくまでもテーブルの論理的な構造であってレイアウト後の
位置関係ではないだろ。その両者がちゃんと区別できないんなら
ご愁傷様という他ないねえ。
567 :
Name_Not_Found:2005/10/04(火) 22:27:37 ID:SjDDpTFt
お世話になります。
TEXTAREAで、その中に何行あるかを取得するにはどうすればよいですか?
ぐぐりで語数などはいくらでもあったのですが、行数は見当たりません。
textarea をその <textarea> の要素として、;
alert( textarea.value.match(/\n/g).length );
splitのlengthの方がよくね?
ほんとだ、試してみたら split のが早い。 match のが効率いいと思ったんだがなあ。
572 :
489:2005/10/04(火) 23:35:49 ID:???
いろいろありがとうございました。
一番解り易そうな
>>502でなんとかなりました。
結局
>>502 が一番分かり易いんだってさ。色々やった人
お疲れだったな。
574 :
Name_Not_Found:2005/10/05(水) 09:37:09 ID:1QDxfi1g
昨日IE4でのプログラムについて質問させていただいた者です。
一旦帰ったのですが、またいろいろアドバイスが来ていると教
えられ、戻ってまいりました。
本当なのでしょうか。IE4をIE6とかにグレードアップすること
が「無料で」できるのですか。いまボランティアサークルに5,6
台のIE4のPCがあり、OSを買い替えない限りこのままで行くしか
ないと諦めていました。できましたら、どこで見たら入れ替えの
仕方が分かるのか、そのサイトなりをお教えいただけないでしょ
うか。ここでお聞きすると叱られそうなので、情報だけでもお願
いします。ご助言どおりIE4は捨てようと思います。
長々とすいません。
既にスレ違いなんだが・・・。
そのPCがインターネットに接続できるなら、Microsoft のサイトからダウンロード&インストールできるだろうし、
他にも雑誌の付録CDとかにもついてるものがあったりするし、
雑誌とかCDとか探すのが面倒なら、[
http://browsers.evolt.org/?ie/32bit ] こっから落として、コピーしてインストールするのもいいだろうし。
IE4 なんて a:hover { position:relative; } って書いてあるページのリンク飛んだだけで落ちるぞ。早々に入れ替えたほうが吉。
えっと、質問です。
createTextRange()を使ってTextarea内の特定の文字列にカーソルを
当てて検索したいのですが、マーカーをどうつけたら最善なのか、考え
あぐねています。たとえば、
<textarea>
1.orange
2.banana
3.peach
4.lemon
5.apple
</textarea>
とあったとき、「3.peach」にカレットを移動させるとき正規表現での
指定の仕方がよくわかりません。Textarea内では検索は不可能?
578 :
Name_Not_Found:2005/10/05(水) 12:54:43 ID:b5L9n0pq
574です。皆さまご親切にありがとうございました。早速試してみます。
580 :
489:2005/10/05(水) 18:20:23 ID:???
>>573 もちろん、他の人のもいろいろ勉強になりました
ありがとうございました
>>573 はイヤミ言っただけだから気にしなくていいよ
582 :
Name_Not_Found:2005/10/05(水) 18:47:32 ID:226TCsS3
質問です。
2つの関数を交互に運転させるスクリプトで、その単純なモデルとして以下の
ようなコードを作ってみました。2番目の関数にどうしても渡せません。
どこを直せばよいのでしょうか。ご教示ください。
p = 1;
q = 10;
function P(){
if (p < 10)) document.forms[0].elements[0].value = p;
p++;
if(p==10){R();}
setTimeout('E()',500);
}
function Q(){
if(q>0) document.forms[0].elements[0].value = q;
--q;
if(q==0){P();}
setTimeout('Q()',500);
}
583 :
582:2005/10/05(水) 18:50:42 ID:???
[×] if (p < 10)) document.forms[0].elements[0].value = p;
[○] if (p < 10) document.forms[0].elements[0].value = p;
>>581 おいおい、そりゃ、気にするだろ。それをいうなら、
>>573 はイヤミ言ったわけじゃないから気にしなくていいよ
だろうが、
>>573 はイヤミを言ってるわけで、どうしても慰めにはならん。
唯一の方法は、
>>573を2chらしく罵倒する以外にないな。
>>582 R();
とか
E()
とか不明な関数あってわけわか
まず自分の頭を直して鯉
587 :
582:2005/10/05(水) 19:33:51 ID:???
たいへん失礼いたしました。もう少し複雑なコードでやっておりましたので
質問のために簡略化するときにまちがえてしまいました。よろしくお願いい
たします。
<訂正>
p = 1;
q = 10;
function P(){
if (p < 10) document.forms[0].elements[0].value = p;
p++;
if(p==10){Q();}
setTimeout('P()',500);
}
function Q(){
if (q > 0) document.forms[0].elements[0].value = q;
--q;
if(q==0){P();}
setTimeout('Q()',500);
}
>>587 どこでP()を呼ぶのを止めるんだ?
> if(p==10){Q();}
動かしていないけど、ここでreturnしないとまずくね?
p,qの初期化はしなくていいのか?
これはエンドレスなのかそれとも1周期で終わるのか?
中途半端な簡略化コードだと何したいのか分からんので、指摘が難しいぞ。
>>587-588 洩れも同意見だ。だいたいが間違ったコード見せて正しい
のを類推しろってむちゃだろ。正しい日本語でやることを書いて
くれた方がよい。もしかして10までカウントアップして
0までカウントダウンなの?それなら、このスレに既にあるよな。
590 :
588:2005/10/05(水) 20:30:35 ID:???
文句言うだけだとアレなんで、コードさらしとく。
多分こういうのがやりたいんだじゃないかと推測。
var PMax; var QMax; var p; var q;
Pmax = 10; Qmax = 20; p=q=0;
function P(){
if( Pmax == p ){
p = 0;
document.getElementById( "p" ).value = p;
setTimeout( "Q()" , 300 );
return;
}
document.getElementById( "p" ).value = ++p;
setTimeout( "P()" , 500 );
}
function Q(){
if( Qmax == q ){
q = 0;
document.getElementById("q").value = q;
setTimeout( "P()" , 500 );
return;
}
document.getElementById("q").value = ++q;
setTimeout( "Q()" , 300 );
}
まさか・・・
こいつ、このスレで前に質問した奴なんじゃないのか?
つかさ、
そんなこんがらがりそうなこと無理してやるより、
P と Q の他に、分岐点としてもうひとつ関数 R() とか作って、
setTimeout では R() だけ呼んで、
その R() 中で p とかの値によって P() を呼んだり Q() を呼んだりして分岐させればいいんじゃないのか?
同意
594 :
588:2005/10/05(水) 21:32:02 ID:???
>>592 それ以外にももっといい方法はいくらでもあるよ。
>>582はどこを直せばよいのかと聞いてるからね。
いくらなんでも全部直せというのは酷だろ。
そういう
>>590 だってほとんど全直しじゃないかw
どうせだったらその 「もっといい方法」 をご披露してくれー
あのー、「何を」やりたいのかまだ全然読めないんだけど。
>>588 ほぉ。「それ以外にももっといい方法はいくらでもある」うちの、スマー
トなやつといちばん簡単なやつ、とりあえずその2つだけ教えろや。あん
たのいってるのが大ホラでないならね。
>>596 読解力ないね。それとも、わざと意地悪してんの?
>>587の意図は明確じゃん。1から10までの永久に往復運動する仕掛けが
知りたいのさ。そのとき、関数を2つ使って、往路と復路での切り替え時
にたがいに呼び合うわけ。わかった?
>>597 そうか、そういうことなら。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var count = 0, delta = 1;
function step() {
document.getElementById('d0').innerHTML = String(count += delta);
if(delta > 0 && count >= 10 || delta < 0 && count <= 0) delta = -delta;
}
</script>
</head><body onload="setInterval(step,500)">
<div id="d0"></id>
</form></body></html>
しまった、0じゃなく1までか、まあ直すの自明だな。
>>595 >>590はひどいな。最初の日本語の1行目はカッコよかったんだが、コードはクズ同然。
もっとまともなの掛谷。
601 :
Name_Not_Found:2005/10/05(水) 23:28:45 ID:7411mOv6
ムーバルタイプにて下記のスクリプトが表示されません
アドセンスは表示されます
助言をおあたえ下さいませ
<script type="text/javascript">
<!--
banner = new Array();
banner[0] = '★';
banner[1] = '★';
banner[2] = '★';
count = Math.floor(Math.random()*banner.length);
document.write(banner[count]);
//-->
</script>
<noscript>
★
</noscript>
>>601 それで何がしたいのか分からん。そのコード、常に★が表示されるよな。
603 :
Name_Not_Found:2005/10/05(水) 23:48:09 ID:xUL6AVUt
便乗質問です。すいません。
>>590さんの
document.getElementById( "p" ).value
というコーディングは正しいのでしょうか。
valueからいってFORMオブジェクトのことだと思うのですが。
>>603 フォーム部品(input type="text"とか)にID振った場合はそれで
いいわけだろ。モノが何であるかによるわけさ。でもそのぐっちゃぐっちゃ
なコードは捨てた方がいいよ。
言うほど酷くはないけど庇うほど美しくもないな
>>601 ホントか。ぱっと見でも表示はOKだろ。ロードするたびに何番目の★が出た
のかは、さだかでないが。
それより、「ムーバブルタイプ」「アドセンス」ってなに?
もっといえば、日本語に句点つけたいね。きもい。
>>606 >>601 が言ってるのは 「ムーバルタイプ」 らしいよ 間違えちゃいけない ぐぐれば347件もヒットするから確か
やりたいことを分かる日本語で説明しろというのに。回答者に
検索させてどーする。ちゃんと説明しなければ放置されて当然。
もう寝るわ。
609 :
Name_Not_Found:2005/10/06(木) 00:07:36 ID:+v/g6ks7
まったくだ。おれも寝るわ。また、あしたな。
あと、あしたまでに
>>605の「庇うほど」の読みを教えてほしい。
>>610 どっかにコピペって単語部分選択して 「変換」 キー押せw
洩れはグーグルの広告について勉強する気などない。
アンタが具体的に動作させたい内容を説明しないのなら
放置するだけ。しかも全部★にするなんてアホか。
おやすみ。あとFAQ
>>3 のQ3/A3は読んだよな、まさか
それを読んだら解決するような内容だったら殺すよ。
613 :
Name_Not_Found:2005/10/06(木) 01:06:31 ID:+v/g6ks7
一度ページ表示完了後にwrite()
の意味が分かりませんが
それを聞いたらおこられるわけですか?
スクリプトが表示されないんだからテンプレートの書き間違いだろ。
>>613 別にいいよ。ページをロードしている「途中」にwrite()
するのは大丈夫だけどロードし終ったらもうダメってこと。
だからsetTimeout()とかonclick()とかの動作の中で
write()するとまっさらにクリアされる。
616 :
Name_Not_Found:2005/10/06(木) 10:44:07 ID:GOEc7ycV
>>614 ムーバブルタイプの標準テンプレートです
>>615 ありがとうございます
ソースを見たのですが
RDFの部分が怪しそうな気がします
setTimeoutもonclickもありませんでした
他のjavascriptは表示されます
617 :
Name_Not_Found:2005/10/06(木) 10:47:53 ID:GOEc7ycV
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Movable Type 3.2-ja" />
<link rel="stylesheet" href="styles-site.css" type="text/css" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="atom.xml" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0" href="index.xml" />
<title>インスパイア</title>
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="rsd.xml" />
</head>
618 :
Name_Not_Found:2005/10/06(木) 10:48:53 ID:GOEc7ycV
<body class="layout-two-column-right">
<div id="container">
<div id="container-inner" class="pkg">
<div id="banner">
<div id="banner-inner" class="pkg">
<h1 id="banner-header"><a href="ins/" accesskey="1">インスパイア</a></h1>
<h2 id="banner-description"></h2></div></div><div id="pagebody">
<div id="pagebody-inner" class="pkg"><div id="alpha"><div id="alpha-inner" class="pkg">
619 :
Name_Not_Found:2005/10/06(木) 10:49:49 ID:GOEc7ycV
<!--
<rdf:RDF xmlns:rdf="
http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:trackback="
http://madskills.com/public/xml/rss/module/trackback/"
xmlns:dc="
http://purl.org/dc/elements/1.1/">
<rdf:Description
rdf:about="2005/10/post.html"
trackback:ping="mt/mt-tb.cgi/350"
dc:title="インスパイア"
dc:identifier="2005/10/post.html"
dc:subject=""
dc:description=" banner = new Array(); banner[0] = '★'..."
dc:creator="SSSS"
dc:date="2005-10-06T10:31:58+09:00" />
</rdf:RDF>
--><h2 class="date-header">2005年10月06日</h2>
<a id="a000349"></a><div class="entry" id="entry-349"><h3 class="entry-header">インスパイア</h3><div class="entry-content"><div class="entry-body">
<p> <script type="text/javascript">
<!--
banner = new Array();
banner[0] = '★';
banner[1] = '★';
banner[2] = '★';
count = Math.floor(Math.random()*banner.length);
document.write(banner[count]);
//-->
</script>
<noscript>
★
</noscript> </p>
ウザスw
ようわからんけど、それだけなら動くはずなので、外部JSファイルにしてみては?
<script type="text/javascript" src="
http://〜/banner.js"></script>
すいません・・・
広告なので外部にするとちょっとヤバイ場合もあるんですよ
ご迷惑おかけしました
逝ってきます
623 :
588:2005/10/06(木) 11:12:16 ID:???
>>582がうまくいったのならいまさらどうでもいい話だと思うが、
>>597が晒せといっているのでだけ晒してておく。
var p,q,r,x,Pmax,Qmax,Rmax,maxStep;
p=q=r=x=0;
Pmax=10;Qmax=10;Rmax=10;maxStep=Pmax+Qmax+Rmax;
var func = new Array(maxStep);
for( var i=0;i<Pmax;i++)func[i] = P;
for( i=0;i<Qmax;i++)func[i+Pmax] = Q;
for( i=0;i<Rmax;i++)func[i+Pmax+Qmax] = R;
function P(){
document.getElementById("p").value=++p;
}
function Q(){
document.getElementById("q").value=++q;
}
function R(){
document.getElementById("r").value=++r;
}
function X(){
if( x == maxStep )x = 0;
func[x++]();
}
window.document.onload=setInterval('X()',500);
>>622 > 広告なので外部にするとちょっとヤバイ
どうやばいんだか想像もできないのだが
まったくだ。
627 :
588:2005/10/06(木) 11:56:36 ID:???
>>625よ、書いてておれもそう思った。
複雑なアニメーションとかエフェクトをつける場合とかを想定したんだが、多分伝わらんだろうと。
処理に特化して最適化したやり方は
>>598がやっちゃったし。。。
ワラッテナイデオマエモサラセ。
オレはもう消えるよ。
>>617-619 こんなショーもないJamaScript貼るだけ貼って、逃げたようだ。
なに考えて生きてんだか、ったく。
自分の作品を貼らなきゃ何の証明にもならないんだよ
630 :
588:2005/10/06(木) 12:47:14 ID:???
>>628に釣られてみる
>>623まあ、中途半端で何がしたいかよく分からんのは認める。この限られた枠で表現する力が足りなった。ごめんな。
だいたい、動きませんとかいう言語に不自由な人のサポートのつもりが、わけ分からんところへ行ってしまったな。
>>628よ
ただ、
>>528が2回も訂正して一生懸命だったから、協力したかっただけなんだよ。
ヤツくらいのレベルではまず、自分の考えたコードを動かすことを優先すべきたと思ったんだ。あんたはオレよりスキル上そうだから、
>>623の修正を示してくれるとありがたいんだがな。あんたのJamaScriptではないJavaScriptが見てみたいよ。
おおっとやべぇ。時間がないのでおちる。
IE6のsetAttributeでclass属性設定できないバグの対処方法ありますか?
classNameとしてもダメみたいです。
setAttribute 使わなくても、ふつうに
obj.className に代入すればいいじゃない。
なんで皆そんなにsetAttributeが好きなのかねえ。
634 :
Name_Not_Found:2005/10/06(木) 13:33:03 ID:0CLYyRUr
>>633 try{
obj.className='hoge'
635 :
Name_Not_Found:2005/10/06(木) 13:34:48 ID:0CLYyRUr
>>633 try{
obj.className='hoge'
}
catch(e){
alert('error');
}
でcatchにつかまります。
だめっぽいです。
>>631 おかしいね。もっと全体貼ってみ。なんかアクセスしちゃいけない
ものを変えようとしたりしてない?普通はこの通り動くけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
.aaa { background-color: yellow }
.bbb { background-color: pink }
</style>
<script type="text/javascript">
function test(s) { document.getElementById('d0').className = s; }
</script>
</head><body>
<div id="d0">This is a test...
<button onclick="test('aaa')">aaa</button>
<button onclick="test('bbb')">bbb</button></div></body></html>
637 :
Name_Not_Found:2005/10/06(木) 14:00:27 ID:0CLYyRUr
>>636 ん〜動いてますねー
全体ですか。かなり込み入ってるので概略を。
<body>
<div id="obj"></div>
<script>
test = xmlhttpで取得したhtmlの<a>を複数含む<table>〜</table>まで
obj.innerHTML = test
obj.getElementsByTagName('a')[0].className = 'hoge';
ってかんじです。
hrefやbgcolorといった属性は設定できてますがclassだけできない状態です。
638 :
Name_Not_Found:2005/10/06(木) 14:39:04 ID:0CLYyRUr
>>636 Σ( ̄□ ̄;)!!あああっ!!!
非常に申し訳ない!
obj.innerHTML = test ってやる前に操作しようとしてたorz
IEのバグだと思い込んで流れをしっかり見てなかった。
他の属性がいじれたのはobj.innerHTML = testの後だったからでした。
時間とらせてほんとすいませんでした。
これを教訓に出直してきます。
JavaScriptでフォームに文字列+数値を入れて
文字列置き換えや、演算処理みたいなことってできますかね?
>>639 具体的にフォームに入れたいようなもののサンプルを複数出してみ。
641 :
639:2005/10/06(木) 14:59:48 ID:???
$1024A32B16C8%128D4E2F1#4G
こんな文字列があったとしたら
$: 2分の1
%: 2倍
#: +1
という計算結果を満たして
$512A32B16C8%512D4E2F1#5G
という置き換え結果を出すようにしたいのです。
そういう事は可能でしょうか?
数字と文字分ければね
643 :
Name_Not_Found:2005/10/06(木) 15:20:50 ID:1rDaf9Rp
すいません、教えてください。
条件分岐で、A?B:C?:Dの形で処理したいのですが、うまく行く書き方が
見つかりません。具体的には、
z == 1? (x++,if(x == 10) z = 0) : (x--,if(x == 0) z=1);
のようにしたいのですが、最初の真偽判定の後の()をさらに条件付けて
書くことはできないのでしょうか。
もちろん、if...else...で書き変えることはできるのですが、向学のため
この形で知りたいです。
>>641 ホレ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function test() {
var e = document.getElementById('t0');
e.value = e.value.replace(/([$%#A-Za-z])(\d+)/g, function(s,c,d) {
switch(c) {
case '$': return c + String(Number(d)/2);
case '%': return c + String(Number(d)*2);
case '#': return c + String(Number(d)+1);
default: return s;
}});
}
</script>
</head><body>
<div><input type="text" size="60" id="t0" value="$1024A32B16C8%128D4E2F1#4G">
<button onclick="test()">Calc</button></div>
</body></html>
>>643 アンタの説明がよく分からんね。ifで書いたバージョン貼ってみれ。
それを?:に直すのは機械的にできるし一番面倒がない。
×swuth
○swith
switch・・・orz
>>641 '$1024A32B16C8%128D4E2F1#4G '.replace( /$([0-9]+)/,function()
{
return '' + Number( arguments[1] ) / 2;
}
とか?
>>643 z == 1 ? ( ++x && (x == 10 ? (z = 0):0)):( --x || (x == 0 ? (z = 1):0));
とか?
あほか!
651 :
Name_Not_Found:2005/10/06(木) 16:15:31 ID:1KszzEhH
質問。
プルダウンを選択したら関数を実行するようにしたいのですが、
どうすればいいのでしょうか?
例:
<select>
<option>2ch
<option>2ch
<option>(1+1)ch
</select>
みたいなタグがあるとして、「2ch」を選んだらすぐにJSの関数を実行する。
・・・そんな感じです。よろしければ教えて下さい。
>>644 おわっ、早っ!?(汗
さっそく試してみましたところいい具合に変換処理が実現しました。(;゚∀゚)
一つ教えていただきたいのですが、
e.value = e.value.replace(/([VP@A-Za-z])(\d+)/g, function(s,c,d) {
の行にある A-Za-z の部分はどういう役割を持つものなのでしょう?
>>651 selectにonchangeハンドラをつけて、その中でselectの
selectedIndexが何番になったのかをチェックすればよい。
つかそんなの山程あるだろ! 過去ログ全集が読めない奴は来るな。
すみません間違えました↓
e.value = e.value.replace(/([$%#A-Za-z])(\d+)/g, function(s,c,d) {
>>652 いや、大した意味ないんだけどアルファベットもそれぞれ
何かのコマンドにした場合使うかなと思って。A-Za-zは
なくても確かに構わないよ、あの場合。
あほはあんたや
>>653 「よろしくない」と一言いってやれ。自分でする気の内ばかに説教してもお互い時間のムダ。
おわり。
正直
>>630 の言ってることが半分も理解できないんだけどどうすれば
>>633 JS じゃそんなことはないんだけど、
private な値とかだったら直接勝手に書き換えしたらエラーする言語もあるから、
なんか setAttribute 使ったほうが安全そうな気がする心理
>>660 プロパティへの値セットはJSの場合メソッド呼び出しに
なってると思えばいい。だから読みやすい方を選ぶべし。
古い言語にひきずられない方がいい。
>>658 そう決めつけるのも。十分な情報は提供した上で罵倒する
のがよいバランスだと洩れは思っている。
>>643 フクザツな三項演算子はかえって見難いので、自分でも分からないときはだまって if 文にすべし。
あと必ず値を返すようにしなきゃ×
> z == 1? (x++,if(x == 10) z = 0) : (x--,if(x == 0) z=1);
↓
if (z == 1) {
if (++x == 10) z = 0;
} else {
if (!--x) z = 1;
}
>>649 > z == 1 ? ( ++x && (x == 10 ? (z = 0):0)):( --x || (x == 0 ? (z = 1):0));
・「++x && (x == 10 ? 」 の部分は 「(++x == 10 ? 」 でよい。
・「--x || 」 のとこは 「x == 0」 のときしか透らないので、後の 「x == 0」 の判別は冗長。
まとめると、 z == 1 ? ( ++x == 10 && z = 0 ) : ( --x || z = 1 );
優先順位間違った
× z == 1 ? ( ++x == 10 && z = 0 ) : ( --x || z = 1 );
〇 z == 1 ? ( ++x == 10 && (z = 0) ) : ( --x || (z = 1) );
664 :
Name_Not_Found:2005/10/06(木) 17:51:31 ID:pDw9IYu2
教えてください。
ウィンドウを開くときに、一緒に配列の引数を渡したいのですが、
window.open()の第一引数に、どのように書けばよいのでしょうか?
配列でなければもちろん渡せるのですが、
配列の場合、うまくいきません。。
obj.setAttribute('onclick','alert(1)')
みたいに動的に追加したイベントってどうやったら動くんすか?
666 :
Name_Not_Found:2005/10/06(木) 19:08:41 ID:r8Urg8V2
テキストエリアでスクロールしません。
CO=0;
HC=3;
TE=new Array(HC);
TE[0]="理想を追求する\n";
TE[1]="犯人を追及する\n";
TE[2]="原因を追究する\n";
TE2=new Array();
for(i=0;i<=4;i++){TE2[i]="\n";}
m=0;
for(i=5;i<=HC+4;i++){TE2[i]=TE[m];m++;}
for(i=HC+5;i<=HC+14;i++){TE2[i]="\n";}
function SL(){
TEXT="";
for(i=0;i<=4;i++){TEXT=TEXT+TE2[i+CO];}
document.FO.TB.value=TEXT;
CO++;
if(HC+10<=CO+4){CO=0;}
setTimeout('SL()',750);
}
>>664 データ構造を渡したい場合はwindow.open()の返り値に対して適当な名前で
セットすれば向こう側ではその名前の変数で取り出せると思うけど。
var win = window.open(....);
win.arr = 渡したい配列; // 窓の中のJSからは変数arrを参照
>>665 setAttributeをやめたら?
obj.onclick = function() { alert(1); }
>>666 動かないコード読ませて正解を推論させるのはやめて欲しい。
「どういう風に」スクロールさせたいのか正しい日本語で書いてよ。
668 :
Name_Not_Found:2005/10/06(木) 19:38:59 ID:pDw9IYu2
レスありがとうございます。
説明不足でしたが、複数の配列を渡したいのです。
教えていただいた方法で、対処するとした場合
多次元配列にするしか方法はないでしょうか?
引数で渡すのは、不可能なのでしょうか?
>>668 だからさ、
>>667 は
var a = new Array();
var b = new Array();
var win = window.open(略)
win.a = a;
win.b = b;
ってやればいいって話でしょ。不満?
>>669 まあまあ、そうカッカすんなよ。
相手はあんたほど技量のない低姿勢の質問者だぜ。
おまえ、そんな調子でだれにでもモノいってるのか?
上司にペコペコしてるやつじゃねえのか?
672 :
665:2005/10/06(木) 20:22:46 ID:???
>>667 レスありがとうございます。
確かにクリックイベントは受け付けてもらえるようになったんですが、
オブジェクトごとに違う動作ができるようになりませんか?
たとえば
msg = new Array('msg1','msg2','msg3','msg4',・・・・)
function Message(num){
alert(msg[num])
}
for(i=0; i<document.getElementsByTagName('a').length; i++){
document.getElementsByTagName('a')[i].onclick = function(){Message(i)}
if(i==10){
document.getElementsByTagName('a')[i].onclick = function(){Message(10)}
}
}
これでは動きませんがやりたいことは伝わるでしょうか
動的に複数のオブジェクトにonclickを追加し、
引数や動作を個別に設定したいんです。
>>672 次のようにするだけだ。
...onclick = function(x){ return function() { Message(x); }; }(i);
674 :
665:2005/10/06(木) 20:41:42 ID:???
>>673 うぉっなんだそれ!?みたことないっす!
やってみます。
あ、でも今自分なりに解決策を見出したところでした。
msg = new Array('msg1','msg2','msg3','msg4',・・・・)
function Message(num){
alert(msg[num])
}
for(i=0; i<document.getElementsByTagName('a').length; i++){
document.getElementsByTagName('a')[i].myNum = i;
document.getElementsByTagName('a')[i].onclick = function(){Message(this.myNum)}
}
で動きました。
>>674 どうでもいいけど いちいち document.getElementsByTagName('a') ってやるの無駄ぽい
>>676 だからさあ、たかが10回とか100回くらいしか回らないループなら
どっちでもいいというか、読みやすい方がはるかにいいんだって。
まあこれくらい字面が長くなってくると一時変数入れてもいいけど。
JavaScriptを使用して
時間によって違うflashファイルを読み込む方法はありますでしょうか?
時間によって違うcssを読み込むことは出来たのですが。。。
>>678 読みやすくするにはどうするわけさ。thisの別プロパティに
保存というワザが使えない場面だってあるんだぜ。JS使いなら
クロージャは活用しまくるのが吉だと洩れは思ってるけどね。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function init() {
var f = function(x) { return function() { alert(++x); }; }(0);
document.getElementById('b0').onclick =
document.getElementById('b1').onclick = f;
}
</script>
</head><body onload="init()">
<div><button id="b0">A</button><button id="b1">B</button></div>
</body></html>
>>680 document.write()でobjectタグ全体を出力し、別のflashファイルを
読ませる。出力するときにどっちのファイル名にするかを時間で切替える。
別に難しくもなんともないと思うけど。
683 :
680:2005/10/06(木) 22:06:47 ID:???
>>680 さっそくご返答ありがとうございます!
JavaScriptには弱くて悪戦苦闘しております。
ご参考にさせて頂いてもう少しがんばってみます。。。。
684 :
680:2005/10/06(木) 22:09:06 ID:???
>>685 その3回を1回に節約することに意味があるかどうか。
読みにくくなければほっとけというのが洩れの主張。
ただの3回じゃないぞ。
>>674 なら (1ページにあるA 要素の数 * 3) 回毎回だ
だから読みにくいって言ってるんじゃないの?
689 :
666:2005/10/06(木) 23:26:24 ID:pthBnQr0
この掲示板には削除キーがないのでしょうか?
666を削除したいのですが。
ご迷惑おかけしました。
管理者のかた、お願いします。
>>687 A要素が1000個あったら考えるよ。でも普通そんなにないね。
>>688 だったら読みやすく直してみ。変数増やして読みやすくなるか
わりかし疑問だね。
>>689 2ちゃんを知らない奴だな。削除板にでも行ってみれば。
あんなもの絶対に削除できないと思うけどね。
べつに思うように書けばいいよ。強要する気もないし。
俺は
for(i=0; i<document.getElementsByTagName('a').length; i++){
document.getElementsByTagName('a')[i].myNum = i;
document.getElementsByTagName('a')[i].onclick = function(){Message(this.myNum)}
}
よりも
var alist = document.getElementsByTagName('A');
for (var i = alist.length; i--;) {
alist[i].myNum = i;
alist[i].onclick = function () { Message(this.myNum) };
}
って書いたほうがスマートに見えるってだけの話。
ただ質問者がもし知らなかったのならアレなんで書いてみた。
>>689 名前の欄にfusianasanといれて
メール欄にスレの番号を入れればおk
確かに配列は最初に変数に取った方が読みやすいかな、、、
for(var a = document.getElementsByTagName('A'), i = 0; i < a.length; ++i)
じゃどうかな。その減らしてって0で止まるというのは鳥ツキで嫌い。
そもそもCと違って0がfalseってわけじゃないし(変換するとfalseにはなるが)
('A')
便乗でスマソのですが
>>641の条件
$: 2分の1
%: 2倍
#: +1
これに
!: *という文字に変換
Vp: Vipという文字列に変換
という条件を付け足したいのですが、
>>644氏のソースを元にするとどのように改変すれば良いでしょうか?
便乗?
690 :Name_Not_Found:2005/10/06(木) 23:45:44 ID:???
>>687 A要素が1000個あったら考えるよ。でも普通そんなにないね。
>>690 読み易さの問題以前に、毎回 document.getElementsByTagName('a') するのと、
最初に (ある時に) 変数に参照を保持しておくのとではやっている事が違う。
毎回チェックする場合、例えば、innerHTML で書き換えられても問題無いが、
そうではない場合、その手の書き換えによって DOM ツリーに存在するノードを
参照していない事態が生じる。
>>691 アップデイトの可能性がある length を毎回チェックするのと、
その (length の) スナップショットを最初に取得しておくのとでは、
そもそも、違う操作をやっている。
何その二番煎じ
>>695 事前に置換しておくか case 文を追加するか
>>693 for (var i = alist.length - 1; 0 <= i; i--)
のような普通の書き方なら誰も鳥ツキ (この言葉の方がトリッキー) だとは思わないはず。
>>698 何言ってんだw 途中で書き換えした方が問題でるっちゅーの。
例えばA要素が200あって、forループが 100 までいってて、
その処理の途中で、どこかのscriptが150番目のA要素を追加するのは問題ないだろう。
だが、50番目のA要素の後に 新しくA要素を置いたとする。
すると、その新しい要素に処理が行われないどころか、
そのせいで、処理の途中で100番目の要素が101番目の要素に変わっちゃったら、
100番目の要素 (と99番目の要素) に支障がでちゃうことは明らかだよな?
それが問題ないというのか君は。
>>693 --x; で止まるのがその"鳥ツキ" (0 が false ってわけじゃないから) なら、
if (x == 0) を if (!x) とか書くのも"鳥ツキ"ってこと?
あ、でも確かに
for (var i = 10; i--;) が
I == 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 になるのって試してみるまでわからんかったな。
でも、for (var i = 10; --i;)で最後が1というのは、よく解せなくない?
きょうは冴えてないからか。
>>705 元凶はJSの参考書というか、本の説明の仕方がわるい。
配列にしても、然り。
FORMオブジェクトにしても、然り。
if()else{}にしても、然り。
漏れはどうしても必要な理由がない限り減らす方向のカウントは
しない。また終了条件と増減演算子を一緒にすることもしない。
まさに
>>706のようなとまどいの原因になるから。普段は問題なく
てもギチギチに複雑なコード書いてるなかにそんなのがあって
見過ごしてバグ出していつまでも取れないとかサイテーだからね。
バグなく素直に動くことがまず第一だと思って。
>>704 その通り。数値の終了条件は普通>=0とかして見ただけで数値と
判るようにする。オブジェクトのnullかどうかは!xを使う。
というふうに自分では使い分けててそこを見るだけで区別が
つくようにしている。
>>706 こうやって書きなおすと納得がいった。
for (var i = 10; i--;) { } →
var i = 10;
while (i--) { }
for (var i = 10; --i;) { } →
var i = 10;
while (--i) { }
※ i = 10; のとき
x = i--; //→ i = 9, x = 10
x = --i; //→ i = 9, x = 9
基本なんだけどさ。
710 :
Name_Not_Found:2005/10/07(金) 11:27:52 ID:HfVla9LB
質問です。
ボタンでメッセージを表示させるコードですが、外国の
あるチュートリアルサイトで
<script>
function F(this)
{
this.value="You Have clicked on This";
return false;
}
</script>
<form >
<input type="submit" name="display" onClick="F(this)">
</form>
のコードを教えられたのですが、「識別子がない」とのエラ
ーが出て、うごきません。
F(this)の引数が原因だと思いますが、これって正しいん
ですか。評価ボタンで6人中5人がこのコードが役に立った
って返してるんですけど。
F() だけでいいよ
712 :
685:2005/10/07(金) 11:56:48 ID:???
>>703 forループ内で別スレッドが要素削除したらどうなんのよ?
そもそもそこまで行くとmutexなど用意するだろ
用意できないなら、もしくはシングルスレッドならば素直に一時変数に格納するべきだと思うね
今のブラウザ上のJSはマルチスレッドないけど。
もちろんmutexもない。ともかく、途中でノードの
変更する/しないは作成者が判ってることなんで、
作成者が変更しない前提で作るならそれはそれで
いいんでないの。汎用ライブラリ書いてるわけじゃ
ないので。
714 :
Name_Not_Found:2005/10/07(金) 12:15:38 ID:R2RgKUrE
あ
ん
<script>だけでもちゃんと動くのかな?
>>710 function F(this)
----------↑
missing formal parameter
すみません、流れ切ってスマソのですが、
>>641でお世話になったものです。
>>644さんに貰ったソースから派生して追加したい要素が出てきたのですが、上手くいきません。
ちょっと見てもらってもよいでしょうか?
>>717 日本語で書けや。この板で英検5級程度嫁るのは3人だけ。証明済み。
>>718 さっさと中身書けや。718は全く番数のムダ。
720 :
Name_Not_Found:2005/10/07(金) 17:25:57 ID:KRT+2lcZ
selectのoptionをローテーションさせたとき、
反転しているところを、いつも一番上に保持し
続けるにはどういう風に書いたらいいですか。
Googleしてみましたが、ありません。
よろしくお願いします。
721 :
Name_Not_Found:2005/10/07(金) 17:40:44 ID:V+L8fxmz
質問させていただきます。
ある文字列にマウスをのせるとその文字列のフォントが大きくなり、マウスを話すと元の大きさに戻るという
設定をしたいのですがどうすればいいでしょうか?
DWMX2004を使っていますが、そのようなビヘイビアもスニペットもなかったのでここで聞かせてもらいました。
>>720 反転というのは現在選択しているところという意味?
選択操作中の動作はブラウザにお任せだからいじれないと
思うが。または別の意味?日本語が曖昧でやりたいことが
読み取れないんだよねー。
>>721 その文字列を<span>なりで囲んでonmouseoverとonmouseout
でそのspan要素のスタイルのうち文字サイズを変更すんでしょ。
あとは自分で調べるべきだな。
onMouseover="javascript:this.style.fontSize='150%';"
onMouseout="javascript:this.style.fontSize='100%';"
>>723 おいおい、onmouseover/onmouseoutなのに「javascript:」なんて
つけてんなよ、恥ずかしいよ。それは本来URIを指定するhrefなどに
のみ必要なんだよ。
>>721 親切なヤシがいてよかったね。
>>725 MSIEがa要素以外のhoverを完治してくれるかどうか、がネックだね。
>>726 ところでhoverってタグ内で個別に指定できる?
728 :
720:2005/10/07(金) 18:20:48 ID:???
すいません。いいです。お邪魔しました。
>>727 a.x:hover{.......}
a.y:hover{.......}
a.z:hover{.......}
だろ?
ここは、JSスレだぞ。大サービスだ。
731 :
721:2005/10/07(金) 18:44:00 ID:???
ありがとうございました。
>>725さん、どうやるんですか?
733 :
Name_Not_Found:2005/10/07(金) 20:37:46 ID:ayyYC7Dp
すみません。
<ul>
<li>Kyoko
<li>Yukari
<li>Naomi
<li>Reiko
<li>Natsumi
<li>Erika
</ul>
の「・」リストを連番リストにボタンで切り替えるには
どうすればよいですか。<ul>と</ul>にIDを振ってタグ
名を変えようとしたりいろいろ試したのですが、どうや
ってもダメでした。お願いします。
function SwitchSS(jSelLvl)
{
for (i=0; i < document.styleSheets.length; i++)
{
jS = document.styleSheets[i];
if (jS.cssRules)
jSR = jS.cssRules;
else
jSR = jS.rules;
for (r = 0; r < jSR.length; r++)
{
SelTxt = jSR[r].selectorText;
for (x = 1; x <= 10; x++)
{
if (SelTxt == '.Lvl' + x)
{
if (x <= jSelLvl)
jSR[r].style.display = '';
else
jSR[r].style.display = 'none';
}
}
}
}
}
>>733 普通にスタイルシート
<html>
<body>
<ul id="namelist">
<li>Kyoko</li>
<li>Yukari</li>
<li>Naomi</li>
<li>Reiko</li>
<li>Natsumi</li>
<li>Erika</li>
</ul>
<input type="button" onclick="document.getElementById('namelist').style.listStyleType='decimal'">
</body>
</html>
>>735回答への便乗質問です。すいません。
getElementsByTagname('li')[3].styleとかで、disctとcircleを切り替えて
リスト中の「Reiko」のリストスタイルだけをcircleにするとかはできないので
しょうか。混在は無理ですか。
list-style はulかolのプロパティだから無理っぽそう。
738 :
641:2005/10/07(金) 23:43:46 ID:???
>>644さんのソースに
V+
V-
のような2文字以上の文字列検索の条件を追加したいのですが、
e.value = e.value.replace(/([$%#A-Za-z])(\d+)/g, function(s,c,d) {
の部分をどのように書き換えれば良いのでしょうか?
いろいろ正規表現やJavaScriptについて調べて回ったのですが、どうも上手くできません。
case 'V+': return c + String(Number(d)/2);
を追加するとして、
e.value = e.value.replace(/([$%#A-Za-z]|(V+|V-))(\d+)/g,
e.value = e.value.replace(/([$%#A-Za-z]|{1,2})(\d+)/g,
こんな感じじゃ駄目なんですかね?
式の組み方もどこを参考にしていいやらさっぱりで・・・
あと、case ' ': の中には、大文字小文字を区別しない正規表現の要素は入れられないのでしょうか?
(case '(V+|v+)': とかじゃ駄目ですよね…)
739 :
735:2005/10/07(金) 23:44:34 ID:???
>>736 リストの●をチェックボックスみたいにして使いたいのかな?
>>737 liタグでもlist-style使える
<html>
<head>
<script>
document.onclick = function () {
if(event.srcElement.tagName == "LI" && event.srcElement.parentElement.id == "namelist"){
if(event.srcElement.style.listStyleType == "disc") event.srcElement.style.listStyleType = "circle";
else event.srcElement.style.listStyleType = "disc";
}
}
</script>
</head>
<body>
<ul id="namelist">
<li>Kyoko</li>
<li>Yukari</li>
<li>Naomi</li>
<li>Reiko</li>
<li>Natsumi</li>
<li>Erika</li>
</ul>
</body>
</html>
740 :
733:2005/10/08(土) 00:11:04 ID:???
>>735さん
言われて納得です。ありがとうございました。
>>724 ん、でもねーかもな
スクリプトエンジンを指定する意味はあるかもな
IEのVBSは置いといても
将来的に拡張の余地は残しておくのはいいことだ
>>738 言語の勉強足りなすぎ。正規表現は
/([$%#]|[Vv][\-\+])(\d+)/g
caseラベルは
case 'V+': case 'v+': .....
ヤマカンでコード書くのやめないと上達しないよ。
疑問があったらリファレンスでちゃんと解決して一発で動かす
ようにしないとね。言語仕様が分からないままあれこれ試す
なんて時間の浪費すぎ。
>>741 onハンドラで使われる言語の指定は
<meta http-equiv="Content-script-type" content="text/javascript">
だろ、知らないのかよ。
>>743 だから頭固いな、もっと柔軟に行こうぜ。
<meta />自体どうよってカンジだけど。
部分的に指定できる細やかさがいいんじゃんw
論争する気はないんで使えるものは使う気でいこうや、
747 :
746:2005/10/08(土) 01:38:34 ID:???
上げちゃったwスマソ
HTML のイベント属性に javascript: を書くことについて。
- 文法的には、ただのラベルである。
- そこそこ誰でも知っていて、なんとなく使ったり読んだりしている。
- WinIE が、javascript, jscript, vbscript, vbs, perlscript に反応する。
(プラットフォームも含め、過不足あれば指摘してくれ。)
- しかし、きちんとした仕様説明が見当たらない (探せなかっただけかもしれないが)。
ラベル
ttp://www2u.biglobe.ne.jp/~oz-07ams/prog/ecma262r3/12_Statements.html#LabelledStatement FOO: for ( .. ) for ( .. ) if ( .. ) continue FOO;
におけるラベル FOO と同じ。
ラベルの例をもう一つ。
<p onclick="rubyscript:while (true)
for (var i = 0; i < 10; i++)
if (i == 6) break rubyscript;
alert(i);">alert(6)</p>
どうやら、良く練られた拡張ではなく、姑息な特例だと言わざるを得ない。
>>746 もし
>>748 のようなことを知ってれば普通使わないだろ。
それを書いてるってことは無知を宣伝してるようなもんだと
洩れは思っているけどね。
751 :
Name_Not_Found:2005/10/08(土) 09:15:51 ID:y+hq8Su7
これはJavaScriptでなぜダメですか。
<script type="text/javascript">
newtext='Hello World';
document.getElementById("Objekt").src = newtext;
</script>
<span id="Objekt"></span>
そのスクリプトが実行されている時点ではspan#Objektは存在しないから。
753 :
751:2005/10/08(土) 11:21:19 ID:elmT8M2q
わかりました。では、これではJavaScriptでなぜダメなりますか。
<span id="Objekt"></span>
<script type="text/javascript">
newtext='Hello World';
document.getElementById("Objekt").src = newtext;
</script>
>>753 srcじゃなくinnerHTMLな希ガス
どっからsrcて文字が出てきた?
755 :
Name_Not_Found:2005/10/08(土) 13:01:56 ID:8mqDe2PB
質問です。
setTimeoutで関数Aを動かし、a秒後に動作が完結します。関数Aが終
わったときに、関数Bを起動させ(b秒後完了)、同じように関数C、
関数Dと・・・関数Kまで続けたいのですが、どのように考えてスクリ
プトを組めばよいでしょうか。
関数の末尾に次の関数を入れる。
757 :
Name_Not_Found:2005/10/08(土) 15:20:04 ID:ifcHysr8
ある任意の年月日から今日までのカウントで、入力欄を空欄にすると、
「38664」という数字がでるのですが、これってなんですか?
758 :
53:2005/10/08(土) 17:34:56 ID:???
<script>
a=document;
a.write(君、今夜どうだね?一杯);
</script>
documentの方を変数に入れても↑だとできるのに
<script>
a=write;
document.a(君、今夜どうだね?一杯);
</script>
writeの方を変数に入れてもできないのは何故でしょうか。
>>758 writeはメソッドだからじゃないの?
あの膨大なJSのリファレンスをよく覚えられるねぇ
なにか必要性があるからこういう言語を覚えるのかなぁ
それともJSって汎用言語の派生なの?
>>760 object.property.method();
この語順だけを覚えれば良い.
object ごとに property, method が定められているから,
そのあたりを必要に応じて reference で調べるだけのこと.
(なにもすべて覚える必要はない)
>>758 a=document;
a.write('XXXXXXXXX');
が通ったって?ホント?なに使ってるの?
>>758 おまいの考えでは
write="あ";
こうしたら document.write が使えなくなるだろう。
よく
>>5-6 のサイトを見るこった
>>760 「あの膨大な」って、あれでも不足だね。直した従兄弟があちこち、まだまだ、だ。
Cを知ってりゃ、軽いモンジャないの?しょせん部品だから。
>>760 喪前の考えが甘すぎるんだ。言語を熟知せずにプログラムを
書くのは時間の無駄だ。喪前は人生を無駄にしてるわけさ。
だいたいがECMA-262なんて言語仕様書としちゃ薄いもんだぜ。
C++なんか恐ろしいよ。
>>761 それも大甘だと思うな。
>>762 喪前の方がおかしいだろ。普通それは通るよ。「a.method(...)」
が動作して「b=a」を実行したらbはaと同じオブジェクトなので
「b.method(...)」も動作するに決まってる。Moz1.7とIE6で確認。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
</head><body onload="init()">
<div><script type="text/javascript">
var a = document;
a.write('ホレ');
</script></div>
</body></html>
>>765 たぶん, アンタと僕とでは取り組む姿勢が違うのだろう.
そういえば JavaScript を書くことも少なくなった.
>>758 >>762 こういうことじゃないのか? これで通るでしょ。
var 君、今夜どうだね?一杯 = 'XXXXXXXXX';
document.a = document.write;
document.a(君、今夜どうだね?一杯);
>>766 それはアンタの選択だが、勉強しないことを自慢されてもねえ。
「勉強してないからどっかから先は自分の知識はいい加減だ」
と自覚していればいいんじゃないだろうか。
769 :
53:2005/10/08(土) 18:40:53 ID:???
>>762 >>766 いやいや、違う違う。ちょっと実験をかねて復習のためにしてみただけ。
こうすると、for文で簡略化できるスクリプトを製作していたから、できたらいいなあ位に実験してたわけなんだ。
>>767 後で試してみる。ありがとう。
>>757 そのプログラムがそういう風にできてるとしか言えないな。
コードも見ずにそれ以上答えられる奴なんかいないよ。
>>768 べつに勉強しないことを自慢してはいない.
ここでは DOM などを教えてもらった.
ひとまず, 感謝しておこう.
この thread はしばしば見ているけれど,
たまに参考になることを発見するだけ.
目的と必要に応じて調べてやるというやり方だって ある.
最近は共に感じることがないだけの話.
おしかりを受けるかもしれないけど,
JavaScript でできることには限りがあると思う.
>>771 何いってんの?言語ごとに限界はあるに決まってるじゃん。
その中で工夫するのが楽しいんだよ。ま、とりあえず
面白い質問を楽しみに待とうじゃないか。
766は、レス間違えの誤読。
>>763 見てなかった。そしてできない理由がやっとわかりました。ありがとう
>>771 >JavaScript でできることには限りがあると思う.
って、あんたね、こんなこといってるようじゃ、今日からJavaScripts捨てた
方がいいね。いろはの「い」から思想的にまちがってるよ。
#この人って、例の句点の「。」を「.」で書く、いわく付きの人物だろ。
久しぶりで首を突っ込むと妙に絡まれるような...
JavaScript そのものは強力な仕様だと思う.
問題は security 上からの制限.
これは必要な制限だといえるし妥当だろう.
server side で動く JavaScript も JavaScript OSAX (AppleScript 用)
などもあるようだけど,残念ながら一般的でない.
結局 web contents の動的な表現限定で使われる宿命にある.
最近では style.display の制御に使っているだけだなぁ.
個人的には...
776 :
Name_Not_Found:2005/10/08(土) 19:52:27 ID:y3j6ZKYb
質問です。
men = new Array('Tom','Bill','Dave');
women = new Array('Tom','Bill','Dave');
とあったとします。まず、menの配列をもとに
for(i=0;i<men.length;i++){
document....innerHTML = men[i]+'<br />'}
のような感じで書き出したとき、イベントで
function Func(x){
var wo=x;
//snip
のようにして、x+men[i]と関連させ、innerHTMLの中身を
women[i]と動的に差しかえることはできませんか。
777 :
776:2005/10/08(土) 19:56:39 ID:vuu+GA6L
× women = new Array('Tom','Bill','Dave');
○ women = new Array('Mary','Sam','Lisa');
すいません。
779 :
776:2005/10/08(土) 21:07:02 ID:???
すいませんです。説明がよくないようなので、補足します。
イベントで動的にもう1つの配列を呼び出して要素を差しかえるときに、
配列名を合成できないか、ということなのです。つまり、
women = wo + men と合成することで、
women = new Array(....)の要素を呼び出したいのですが、できますか?
>>779 あんたは日本語の勉強が済むまでここで質問するのは
無理だと思う。しかし洩れにはちょっと分かった。
いいかね、まず変数xに'' (空っぽの文字列)を入れて
おけ。そして「.... = window[x + 'men'][i] ... 」
のようにするんだ。で、xに'wo'を入れれば配列women
が参照されるようになる。にしても、そんなぐちゃぐちゃ
なコード書いて何のいいことも楽しいこともなさそうだが。
>>779 やっぱり僕には判らない.
>1つの配列を呼び出して要素を差しかえる
どういう条件で呼び出すの ?
仮に...
men=['Tom','Bill','Dave'];
women =['Mary','Sam','Lisa'];
とした時に obj.innerHTML を 差し替えたいのなら,
function f(x,y){
if(x=='men'){obj.innerHTML=men[y]}
if(x=='wo'+'men'){obj.innerHTML=women[y]}
}
こんな感じで事足りるのでは ?
(お世辞にもスマートなやり方ではないけどね)
>>779-780 そんなことをするくらいなら
arr = men;
として、ループ内ではarr[i]を参照し、変更したいときに
arr = women;
としては?
>>775 なぜだか教えてやろうか。アンタのもの言いは「オレは正しい
ことをやってるんだ」というおごり昂ぶりがプンプン感じられる。
そのわりに書いてある内容自体は突っ込みどころ満載なんだよ。
トシがいってて直らないのかも知れないが、もっと謙虚になったら?
ヒント:null
>>782 おごりたかぶりねぇ〜...
考えてもみなかった.
必要性に応じたものを考えて作るだけなのが僕のスタンス.
僕は おもしろい利用法を探しているだけで議論には興味ない.
785 :
776:2005/10/08(土) 21:59:09 ID:???
>>780さん
ありがとうございます。なるほど、そっかあ。これ2年越しで考えてた
のですが、できませんでした。検証してませんが、あとでやってみます。
たぶん行くと思います。ほんと感謝です。なんと言われようとうれしい。
>>781さん
ありがとうございます。そのif(...)はやってませんでした。それもあります
ね。原理が知りたかったので、見てくれは二の次でいいんです。感謝です。
連休、家族は温泉に行ったけど、留守番でよかった。今日はいい日だなあ。
2人のお兄さん方に感謝です。ありがとうございました。
>>784 やはり謙虚にはなれなかったようだな。自己正当化に終始。
議論に興味なくなったのはごく最近(実は今)じゃないの?
面白いこと探すだけなら読むんで十分でしょ。うるさいから書くな。
なんか痛いスクリプト厨が暴れてますね。
プログラミングを離れたらリアルでは疎外される人種なんだろうな
>>787 そういうのは負け惜しみにしか聞こえないからやめた方が
いいんじゃないか。読んでる方が恥ずかしくなるね。
まあ2ちゃんなんて恥ずかしいもんで普通とも言えるが。
nullをスルーするのが大人なんだよ(*´・ω・)(・ω・`*)ネー
カレーにする?
ルスにスル
実際こんな仕事をしていれば、俺レベルでもJavaScriptの質問をされる
俺がネットで検索して作ったようなすくろぷとでそんなに感心しないでくれ
むしろ俺はいろいろ教えて欲しいと思ってるぐらいなんだ
だれ?
>>793 なんか的確かつ間抜けなつっこみでわろた
ま、このスレでは、ほめ殺しと釣りには要注意だな。
>>792のように勘違い
する奴が現れる。