+ JavaScript の質問用スレッド vol.21 +
━━━━━JavaScript質問スレ道場訓━━━━━
一、礼節を重んじ常に努力精進すること
一、ブラクラに打ち勝つ精神力を持つこと
一、心身の優れたJavaScriptを学ぶこと
一、雑草の如く生涯JavaScriptを貫くこと
一、感謝と反省を忘れないこと
以上
━━━━━━━━━━━━━━━━━━━━━━
このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJavaの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
・ユーザーに迷惑となるスクリプトを書かない者
・過去ログや関連資料を読むことができる者
・「初心者です」を振りかざさず、質問を分かる日本語で説明できる者
・対象環境や使用技術は質問者の裁量であることを理解する者
(質問時、回答時にはなるべく対象環境を明記しよう)
前スレ
http://pc2.2ch.net/test/read.cgi/hp/1056808693/l50 過去ログ・関連資料・その他質問スレは
>>1-10
【質問を書く上で】 弱気な表現は避ける 弁解じみた表現は良くない。また、まわりくどい。 ex) 超初心者で何もわかりませんが…… <そんなことより自分で試してみた記述を書いてくれた方が答えやすい> 情報を小出しにしない 読み手は馬鹿にされた気分になる。 無駄な倒置も不要だ。 使用したブラウザ、バージョン、OSくらい書こう。 感情的にならない 何の説明なく決め付ける文はよい印象を与えない。 また態度の大きい人は嫌われる。 ex) 答えられねぇんなら黙ってろ!!! <お前だけだよ> 表記ミスに注意 内容がどんなにすばらしくても文字使いにミスがあると誤解を招く。 曖昧文は書かない いくつにも解釈できる文章は絶対に書かない。 ex) ここではきものをぬいでください。 「」など無駄な強調は避ける 読みにくい。♪や顔文字も同様である。 ソースは要点を整理して出す。 そのまま貼って動かせると試してもらいやすい。 長い場合はアップロードしてURIを貼る。
【Java】 と 【JavaScript】 は別物だ。(゚Д゚)ゴルァ!!
えーと、HTMLにホスト規制かけるのって可能でしょうか?
>>9 可能。
しかし、javascriptではあまり意味がない。
(javascript切ってたら効かないから)
「.htaccess」でぐぐれ。
12 :
11 :03/07/30 23:49 ID:???
連スマソ。.htaccessってのやってみたけど、ホントにできてるのか分からんね。 とりあえずページはエラーにはならなかったけども。
自分のホストで試せばいい
>>12 そっから先は初心者スレへ行ってください。JSと関係ないから。
・対象環境や使用技術は質問者の裁量であることを理解する者 (質問時、回答時にはなるべく対象環境を明記しよう) バカが。テンプレ選べよボケ。
>>15 何がどうバカで、テンプレを選ぶべきだったか書かないとただのゴミだぞ。
あらゆるブラウザで極力同じように動いて欲しい、なんて要望もあれば、
ブラウザAが持つ機能をブラウザBでも擬似的に発生させたい場合の
ブックマークレットを作りたいなんてのもスレの範疇なんだから、
こう言う表記はあってもかまわないと思うが。
質問者が書けば回答側も対応することでしょう。 書かなきゃ自由でしょう。まあIEでは動くことでしょう。
>>17 宣言してなくてもコードを見れば分かるだろ。
それに、原則は自由ではなく質問者に合わせること。
SafariやらOperaでは動かないスクリプトがあるのですが、 MSIEと対応してる部分が違うって解釈でいいんでしょうか。
>>19 基本的にMSIE、Safari、OperaともにECMAScriptを元にしてJavaScriptを実装しているが、
たとえばECMAScriptの実装に問題があるのかもしれないし、
ECMAScriptの拡張部分で違いが有るのかもしれない。
コードを見ないことには具体的な判別不可能だが、
少なくとも、あるブラウザで動いたからといって、他のブラウザで動く
保証は(仮にOSが同じであろうが)全く無い。
>>18 それくらい回答者は対応できるでしょうに。
>>22 それが出来ない回答者がいるってことじゃ。
確かに、どんな質問でもJavaScriptと関係ないDOCTYPEをつけたり、 Strict・DOMガチガチに書き直して回答する香具師が居るような・・・
すみません、スライドバーのサンプルのありかを教えてもらえませんか? どっかで見かけたことあったけど、いくらぐぐっても出てこない(;´Д`) 4連の背景色を変えるやつは見つけたが、あれはちょっと複雑すぎ・・
>>24 じゃあ自分でもっといい回答を提示しようね。
理由つけて叩くだけじゃただのノイズだから。
>>25 www.hajimeteno.ne.jp/dhtml/dist/js64.html
こんなのとか?
はいはい、そこまで。
>>25 「IEとGecko両方対応でDOCTYPEついててよければ」過去ログvol.7の
248番なんかもあるよ。
>26 >29 ありがとうございます。
<INPUT type="text" name="samplel"> <INPUT type="button" value="+1したい" onclick= 押すたびに1ずつtextの数字を増やしたいのですがどう書けばよいですか?
>>31 onclick="this.form.elements.sample1.value=parseInt(this.form.elements.sample1.value)+1"
>>32 どうもありがとうございます。出来ました
こんなくだらない質問を答えてもらってまことに感謝です
DOCTYPEってなんで生きてるの?
頼むから荒さんといてくれ。
for ( i = 0; ; i++) for ( ; ; ) キモッ!こんなの書くのやめてくれ〜
そういう宗教戦争は他スレで。
<td> <a href="#" onclick="javascript:this.bgcolor='#CC0000';"> <img src="img/space.gif" width="8" height="8" border="0"> </a> </td> このtdの背景色をオンクリックで#CC0000に変えるのが出来ません。 確か関数など作らず、タグの中に、上のように直接1行埋め込むだけで出来たと思ったのですが、、。 助けてください、、 ( TДT)
<td onclick="this.bgColor='#CC0000';"> <img src="img/space.gif" width="8" height="8" border="0"> </td> (除くNN4/Opera6以前)
<td id="t1" bgcolor="#FF9900"> <a href="#" onclick="document.all('t1').style.backgroundColor='#CCCCCC'"> <img src="img/shim.gif" width="8" height="8" border="0"> </a> </td> 調べて、これでいけました。 すみません、、。 でも、同じページ内にこのtdを何十個も作るからid書き換えるのめんどくさいな、、。
<td onclick="this.style.backgroundColor='#CC0000';"> <img src="img/space.gif" width="8" height="8" border="0"> </td> (除くNN4以前)
42 :
38 :03/08/01 07:02 ID:???
>>39 ,
>>41 おお!素晴らしい。
これならidなんか使わなくても出来ますね!
ありがとうございます。こっちの方使わせてもらいます。(感謝)
43 :
16歳Gカップ爆乳女子高生 :03/08/01 08:20 ID:c9J9ebR4
教えてください。 <a href="../xxx.htm">aaa</a> 上のようなリンクをクリックした時にyyy.cgi(アクセス解析CGI)を 起動したいと思います。 yyy.cgiのページはオープンせずに、yyy.cgiを起動する方法はありますか? Javascriptのonclickイベントを使えばできそうな気がします。 でも・・・・やり方わかりません。
44 :
Name_Not_Found :03/08/01 08:28 ID:V1SWcW3s
>>43 は、マルチですので相手をしないでください。
43と44の名前を入れ替えたい
48 :
16歳Gカップ爆乳女子高生 :03/08/01 13:49 ID:BwbRi4GE
49 :
16歳Gカップ爆乳女子高生 :03/08/01 16:50 ID:K5WsSnL2
>>45 まるちうんこじゃありません。
教えてください。お願いします。
51 :
Name_Not_Found :03/08/01 23:00 ID:2P3Vpztf
<html> <body> <script language="javascript"> <!-- function setStr(strTmp,id){ str = document.form1.id.value; str = str + " " + strTmp; document.form1.id.value = str; } // --> </script> <form name=form1> <input type=text name=test> <input type=button onClick=setStr("aa","test") value=go> </form> </body> </html> こんな感じでテキストボックスのvalueを変えたいんですが どうもうまくいきません。 すいませんどなたかアドバイスお願いします。
s/form1\.id/form1.elements[id]/g;
54 :
Name_Not_Found :03/08/02 00:13 ID:oDn2pJXw
test.htmlとnext.htmlの2つのファイルがあります。 text.htmlには、テキストボックスとボタンがあり、 ボタンを押すと、ポップアップウインドウでnext.htmlを表示します。 next.htmlには、テキストボックスと送信ボタンがあります。 ここで、テキストボックスに値を入力し、送信ボタンを押すと test.htmlのテキストボックスに入力した値が表示するようにするには どうしたらよいのでしょうか?アドバイスをお願いします。 /*** test.html ***/ <html> <head> <title>test</title> </HEAD> <BODY> <input type="text" name="tBox"> <input type="button" value="ポップアップウインドウ表示" onclick="window.open('next.html','CTRL','width=160,height=400');"> </body> </html> /*** next.htm<HTML> <HEAD> <TITLE>メニュー</TITLE> </HEAD> <BODY> 文字を入力してください。<BR> <input type="text"> <form method="post"><input type="button" value="送信"</form> </BODY> </HTML>l ***/
>>54 <form name="tForm">
<input type="text" name="tBox">
<input type="button" value="ポップアップウインドウ表示" onclick="window.open('next.html','CTRL','width=160,height=400');">
</form>
<form name="nForm">
<input type="text" name="nBox">
<input type="button" value="送信" onclick="opener.document.tForm.tBox.value = document.nForm.nBox.value">
</form>
56 :
Name_Not_Found :03/08/02 00:58 ID:oDn2pJXw
57 :
山崎 渉 :03/08/02 02:07 ID:???
(^^)
58 :
Name_Not_Found :03/08/02 21:41 ID:OVFdcR00
質問です。 文字をクリックして小窓を開けたいのですが、 <script Language="JavaScript"> function openWin(){window.open("komado.html","komado","width=100,height=100");} </script> headにこう書く部分まではできたのですが、 実際にリンクを貼る部分がどのようにタグ打ちすればいいのか分かりません。 普通にリンクを貼る場合は <a href="〜.html">文字</a> で出来るんですよね。 でもこれだと小窓が開かないので、aタグの代わりにどう書けば 文字をクリックした時に小窓が開くのでしょうか。教えて下さい。
>>58 チュートリアルサイトに嫌と言う程書いてあるから
>>4 からたどって読みなよ…
61 :
Name_Not_Found :03/08/03 09:53 ID:d/dJKDPi
お薦めの本って何かありますか?
62 :
Name_Not_Found :03/08/03 18:34 ID:145Gage+
このスレに書き込むことが許されるものは以下のとおり
・過去ログや関連資料を読むことができる者
>>60 は悪くないと思う
だな。 無視されなかっただけマシなのに。
過去ログ読むぐらいなら、Googleで検索する方がまし。
66 :
Name_Not_Found :03/08/03 21:57 ID:sJq+nYNU
JSCRIPTでdocument.writeでフレームを作成しようと思いましたが、 できませんでした。 フレームのページはDOMなんかでも作れないのでしょうか。
<BLOCKQUOTE cite="
>>1 ">
このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJScriptの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
</BLOCKQUOTE>
>>67 このスレに書き込むことが許されるものは以下のとおり
・JavaScriptとJScriptの違いを理解する者
・スクリプトを組むための最低限のHTML・CSSを理解する者
>>66 やり方次第じゃないの。どういう風にやったか書かないとね。
DOMは1つのフレームや窓の「中の」ドキュメントを操作する
もんなのでフレーム切るのには使えない。iframeを挿入する
とかならできるだろうけど。
>>70 え?frameset文書のDOM操作だってできるだろ。
72 :
Name_Not_Found :03/08/04 14:28 ID:GqHN+79I
ページを移動しないで表示している表を画像に切り替えたいのですが 何かいい方法ありませんでしょうか。 よろしくお願いします。
73 :
72 :03/08/04 14:32 ID:GqHN+79I
現在、下のJavaScriptで画像だけの切り替えは出来るんですがこれの応用は出来るでしょうか。 よろしくお願いします。 <SCRIPT language=JavaScript> <!-- function MM_findObj(n, d) { //v3.0 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } --> </SCRIPT>
>>72 むしろページを移動してしまうソースを張れ。
75 :
Name_Not_Found :03/08/04 16:04 ID:3LF0C02t
すみません、教えて下さい。 データ件数によって数が変化する、document.form.nameという名前のテキストフィールドの値を、 ループの中で、document.form.name[i].valueという風に配列として取得したいのですが、 件数が1件のときには配列として認識されず、エラーが出てしまいます。 件数に関らず配列として取得するにはどうしたらいいでしょうか。 説明が下手で申し訳ありませんが、よろしくお願い致します。
lengthとか。
name="name" type="hidden" のダミーを入れとくとか。
78 :
70 :03/08/04 17:05 ID:???
>>71 言われてみればそうだね。でもやったことないや…
79 :
75 :03/08/04 17:47 ID:???
>76,77 他とのやり取りの都合上、ダミーを入れるのは有効っぽいです。 とても助かりました。ほんとうにありがとうございます!
80 :
Name_Not_Found :03/08/04 18:11 ID:jqO//BJy
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript"> <!-- function WO(url) { document.open(); document.writeln("<HTML LANG='ja'><HEAD><TITLE>ゴルァ</TITLE></HEAD>"); document.writeln("<FRAMESET COLS='180,*' BORDER='0' FRAMESPACING='0' FRAMEBORDER='0'>"); document.writeln("<FRAME NAME='left' SRC='./menu.html'>"); document.writeln("<FRAME NAME='main' SRC="+url+">"); document.writeln("<NOFRAMES><BODY BGCOLOR='#FFFFFF' TEXT='NAVY'>"); document.writeln("<CENTER><FONT SIZE=3><B>このページはフレーム機能を使用しています。</B></FONT></CENTER>"); document.writeln("</BODY></NOFRAMES>"); document.writeln("</FRAMESET></HTML>"); document.close(); } //--> </SCRIPT> <BODY> <A HREF="javascript:WO('./top.html')">ページ生成</A><BR> </BODY></HTML> こんな感じでフレームページを生成して 右側に任意のファイルを表示させるスクリプトを組んだのですが、 これをインラインフレーム内からのリンクで生成しようとすると、 MacIE5だとTARGET="_top"を使ってもフレームが破棄されず インラインフレーム内にページが生成されてしまいます。 これを回避する方法はないものでしょうか。
81 :
_ :03/08/04 18:13 ID:???
82 :
Name_Not_Found :03/08/04 19:25 ID:Uisydc+q
>>70 >>71 。。。。。。innerHTMLのボディ="<frameset。。。。。。";
のような形でフレームを作ろうとしたら真っ白になってしまいました。
>>80 みたいな方法でできなかったように記憶しているのだができるんならいいな
>>80 MacIE手元にないんで確かなことは言えないが
document を top.document にすりゃいいんでないの?
>>82 「innerHTMLのボディ」って何?
ボディのinnerHTMLですた
85 :
80 :03/08/04 20:03 ID:???
>83 試しにtop.documentと記述してIFRAMEから飛んだら、 クリックした途端に画面が真っ白に…MacどころかWinでも。 topだけじゃ駄目なのだろうか。
>>84 そりゃ真っ白になるだろうな。
>>85 少なくともWinIE6では上手くいったが…?
>>84 <body>の中に<frameset>入れてんの?何故?
2chブラウザでよくあるレスのポップアップを自分で 作ってみたくて、やってみて、で、行き詰まりました。 ・リンクにマウスオーバでポップアップを生成 createElement と appendChild ・マウスアウトでポップアップを消去するタイマー発動 removeChild を setTimeout で ・ポップアップ自体にマウスオーバしたらタイマー解除 上のタイマーを clearTimeout という考え方でやろうと思うのですが、 生成したオブジェクトに onmouseOver と onmouseOut を どのように設定したらよいものかがわかりません。 どうしたら良いでしょうか。
>>88 旧式に Object.onmouseover = FuncObject でいいんじゃ?
Mozillaなら addEventListener も使えた。
90 :
88 :03/08/04 23:35 ID:???
>>89 レスどうもです。FuncObjectって、
hoge = new function();
で定義したもの、でいいんですかね?その辺、もう一度見直してから
出直してきます。
Listener は早く MSIE も対応してほしいなあ。つか、対応していない
現状の6以下がなくならなければ意味ないけど(涙
91 :
70 :03/08/04 23:50 ID:???
>>90 どっちかというと
hoge = function(パラメタ…) { 本体… };
スマソ洩れは70じゃない。消し忘れ。
>>66 DOMでフレームを切るサンプルは「IEとGecko対応で、DOCTYPE宣言がついて
いてもよければ」過去ログvol. 16の190〜232あたりにあるよ。
94 :
88 :03/08/05 01:05 ID:???
>>94 こんな感じなのかな。
32: obj.onmouseover = function() { popupResponse(ResId,e) }
33: obj.onmouseout = function() { removeResponse(ResId) }
96 :
80 :03/08/05 09:36 ID:???
>86 色々試してみたがどうにも…。 ファイル単体からだと作動しますが、 ファイルをIFRAMEに表示させてそこから飛ぶと もうどうにもならんようで。 全部のdocumentをtop.documentでいいんですよね?
97 :
80 :03/08/05 11:08 ID:???
今解決しますた。 スクリプト側を直すのではなく、 <A HREF="javascript:top.WO('./top.html')" TARGET="_top">ページ生成</A> これだけ。一晩中悩んだのがバカバカしいくらいに簡単でした。 TARGET="_top"がないとOperaあたりでは動かないですな。
98 :
Name_Not_Found :03/08/05 16:35 ID:qEwfAjc0
<img>で表示させているページのフォーム内のサブミットを押して 親ウインドウ全体にサブミット先のページを表示させたいんですが できますでしょうか? というか、文章わかりにくいですか?
> <img>で表示させているページ これが意味不明。
<img src="page.html">
103 :
Name_Not_Found :03/08/05 18:17 ID:Mj6r93al
サブウィンドウで質問です。
サイズの異なるサブウィンドウを、それぞれ最初だけ前面で開くにはどうしたら
いいのでしょうか。
調べてみても「常に前面に」のスクリプトしかないんです。
例としては
ttp://www.adwave.co.jp/ の「GALLERY」→「Flash Movie」のようにしたいのです。
ボタン側に書くのかサブ側に書くのかもわからなくて。。すいません。
>>103 > 最初だけ前面で開くにはどうしたら
「最初にウィンドウを開いたときだけ」ってこと?普通にopenするのとどう違う?
105 :
Name_Not_Found :03/08/05 18:46 ID:Mj6r93al
>>104 わかりづらくてすいません。
getURL ("javascript:window.open('HTMLファイル名','Windowの名前','width=500,height=500')")
これでサブを開けるまではわかったんですけど、これを各々のボタンに貼ると
同じウィンドウ内でページが入れ替わり、親ウィンドウ(ボタンのあるページ)の後ろ
に隠れたまんまになってしまうのを、ボタンを押すたびに前面に来るようにしたいのです。
とりあえず上記URLのサイトのサブをまんまやりたいんですけど・・・
文章力が足りないのは勘弁してください。
106 :
Name_Not_Found :03/08/05 18:51 ID:Mj6r93al
同じウィンドウ内=同じサブ内
108 :
88 :03/08/05 18:58 ID:???
>>95 ありがとうです。それで正解でした。
いやー、たすかりますた。
スレ違いですがボスの Jr も無事誕生しましたYO!
109 :
Name_Not_Found :03/08/05 19:39 ID:Mj6r93al
>>105 ありがとうございます!
ちなみにそれはどこにどのように記入すればいいのですか?たびたびry
110 :
109 :03/08/05 19:40 ID:Mj6r93al
window.focusを検索して自分で調べて、挿入してみなさい。
/* 〜 */ ↑ これでコメントアウトすることをなんて呼ぶ? 「〇〇でコメントアウトする」 //←これは「ダブルスラッシュ」でいいと思うんだが。
(*〜*)もうだめぽ
ブロックコメントでコメントアウトする・・・くるしい・・・
>ダブルスラッシュ 漏れは「ななめななめ」と呼びならわしてますた。
/**/ を『コメント』 と呼び、 // を『1行コメント』 と呼ぶ。
「そこ、コメントにしといて」の一言で事足りる。
120 :
88 :03/08/06 00:17 ID:???
すらすら すらこめこめすら とか言ってます。
JavaScriptでそのページのタイトル名を変えたいのです。 以下のように書いたら1回クリックするとタイトル名は変わったのですが 以後クリックが効かなくなってしまったのです。 よろしくアドバイスお願いします。 <a href="javascript:document.write('<title>hello</title>')">タイトル</a> </table>
>>121 <a href="javascript:document.title = 'hello';">タイトル</a>
123 :
Name_Not_Found :03/08/06 04:02 ID:5AjlOtca
ねえねえ、ブラウザ上で画像をドラッグ&ドロップできるスクリプト公開してるサイト知らない? 誰か知ってる人いたらおせーて。
>>123 とりあえず氏ね!
まず人にものを聞く時の態度を教わってこい。
125 :
121 :03/08/06 05:51 ID:???
>>122 うまくいかないです。
<a href="javascript:document.title = 'hello';">タイトル</a>
としてクリックするとページの内容が"hello"になって、タイトルには
javascript:document.title = 'hello';
とスクリプト自体が表示されてしまいます。
<a href="javascript:document.title='hello';void(0)">タイトル</a> じゃないかなあ。window.titleってことはないよね(うろ覚え)
127 :
121 :03/08/06 08:26 ID:???
>>126 うまくいきました。
ありがとうございました。
ところでvoid(0)ってなあに?
return falseみたいなもの
129 :
121 :03/08/06 09:11 ID:???
130 :
123 :03/08/06 11:14 ID:5AjlOtca
>>124 「とりあえず氏ね」って言う奴に注意されてもなぁ。
別におまえに聞いてないしw
んじゃ124以外の誰かが答えてくれるの待ってな
>>123 Google氏が知ってるから聞いてこい。
にばんせんじいくない
>>127-128 細かくてうるさいとは思うけど。
>>126 の場合return falseでは駄目だし
ここのところ知っておかないとつまらない間違いを繰り返しがちだから。
「void(0)」は「undefined」と同じもの(だが、JSの古いバージョンは
undefinedという書き方ができないのでvoid(0)にしとけば安心)。
<a href="javascript: なんとか">...</a>というリンクを選ぶと「なんとか」
を実行した後『その実行結果を文字列に変換し、それをURLだとみなして
そのページへジャンプする」というのがブラウザの共通仕様。なので適当
なものを返してしまうとページジャンプが起きてしまう(その結果「なんとか」
の動作も止められてしまうことが多い)。これを避けるには「なんとか」に
undefinedを返させるしかない。なので必ず最後に「;void(0}」をつけとけ。
返すといってもreturnさすんじゃなくて最後に評価(計算)したものね。
おまけ。onclickとかonsubmitとかのイベントハンドラは上記とはまったく
別で、『最後にtrueかfalseをreturnさせる』べき。で、この値によって
本来の動作(onclickならクリックされたリンクのジャンプやクリックされた
submitボタンによるフォームの提出)をやめるか続行するか指定する。
このようにjavascript: URIとonclickとはぜーんぜん違う。あとよく見る
はずかしい例はonclickに「javascript:」がついてたりする奴(まあ動く
かも知れんがカコワルイ)。長文御免。
>>138 void は式を評価して undefined を返す単項演算子。
古い実装だと undefined どころか void すら実装されてない。それから
>その実行結果を文字列に変換し、それをURLだとみなしてそのページへジャンプする
アホ。
141 :
Name_Not_Found :03/08/06 22:53 ID:nXCIQp3K
142 :
142 :03/08/07 00:05 ID:???
143 :
142 :03/08/07 00:06 ID:???
142から続いてます。
<!--ランダムに画像を抽出-->
<SCRIPT LANGUAGE="JavaScript">
<!--
img=new Array(2);
img[0]="<a href='
http://www.co.jp/ '><img src='1.gif' border='0'></a>";
img[1]="<a href='java_gazou4-5.html'><img src='bbs.gif' border='0'></a>";
imgNo=Math.floor(2*Math.random());
document.write.mying(img[imgNo]);
//-->
</SCRIPT>
<!--表示部分-->
<img name="mying" src="最初に表示させる画像URL" border="0">
表示場所を表示部分という所に統一したいのです。ランダム画像にはリンクを設定しているのがダメなのかと思うんですが。
よろしくお願いします
>>142 動作確認はしてない。
<SCRIPT LANGUAGE="JavaScript">
<!--
img=new Array(2);
img[0]="<a href='
http://www.co.jp/ '><img name=myimg src='1.gif' border='0'></a>";
img[1]="<a href='java_gazou4-5.html'><img name=myimg src='bbs.gif' border='0'></a>";
imgNo=Math.floor(2*Math.random());
document.write.mying(img[imgNo]);
function gazou(mySrc){
document.myimg.src=mySrc;
}
//-->
</SCRIPT>
<a href="JavaScript:void(0)" onMouseOver="gazou('bbs_menu.gif')"><img src="bbs.gif" border="0"></a><br>
<a href="JavaScript:void(0)"onMouseOver="gazou('images/icons2.gif')"><img src="chat.gif" border="0"></a><br>
×document.write.mying(img[imgNo]); ○document.write(img[imgNo]); document.write.mying() 何じゃこりゃ? ^^^^^
×document.myimg.src=mySrc; ○document.images["myimg"].src=mySrc; まだ変なのがありそうな悪寒。
>>140 あれ、間違ったかな。表示の中身になるのか。すまそ。どっちにしろページが
切り替わってしまうというつもりだった。void(0)も駄目なのはかなり古いよね…
>>147 void が無かった頃は中身が空の関数をダミーで用意して呼び出したりしてたな。
素朴な疑問なんだけど、なんでみんな void(0) って書くんだろう。
void は与えられた式自体は評価されるんだから
void(document.title='hello') とかでもいいはずだと思うんだけど。
まあいいんだけどさ。
149 :
Name_Not_Found :03/08/07 11:25 ID:j7qrsASZ
VBSではsubmitボタンを押しても移動を中断させることができますが、 JavaScriptでのやり方がわかりません。 formにアクション先を指定しないでjavascriptで移動する処理を書けば、移動の中断も可能かもしれませんが。 VBSと似たようなやり方で移動の中断はできますでしょうか? ちなみにメールアドレスの入力チェックをしていて間違っていた場合には警告をだすところまではできましたが、 送信をとめるとこで少し苦戦しております。
150 :
142 :03/08/07 11:47 ID:???
>>144 144さんありがとうございました。
動作確認しましたところまだ問題がありまして、
最初にランダムに表示される物のリンクが
img[0]="<a href='
http://www.co.jp/ '><img name=myimg src='baka1.gif' border='0'></a>";
img[1]="<a href='java_gazou4-5.html'><img name=myimg src='bbs_menu.gif' border='0'></a>";
あとのこちらにもリンクが影響されているんですけど
<a href="JavaScript:void(0)" onMouseOver="gazou('bbs_menu.gif')"><img src="bbs.gif" border="0"></a><br>
<a href="JavaScript:void(0)"onMouseOver="gazou('suport_menu.gif')"><img src="chat.gif" border="0"></a><br>
こちら側はリンクさせたくないんですが。
よろしくお願いいたします。
>>149 VBSのことはよくしりませんが
<form onsubmit="return check();">
check関数でメールアドレスが不正なら false を返すと送信しない
153 :
Name_Not_Found :03/08/07 12:06 ID:Sbq3ueQx
JavaScriptで移動前ページのURLを判断する事は出来るんでしょうか? 出来るんでしたらソース教えて下さい。 お願いします。
154 :
153 :03/08/07 12:08 ID:Sbq3ueQx
移動する前ページのURLて言うよりドメインです。 お願いします。
>>153 参照元URIなら簡単にできる。
あまりにもガイシュツなので過去ログや入門サイトの検索を推奨。
156 :
153 :03/08/07 12:41 ID:Sbq3ueQx
>>155 それを知りたいです。
参考になるページやレス番号教えて下さい。
お願いします。
159 :
153 :03/08/07 13:04 ID:Sbq3ueQx
160 :
_ :03/08/07 13:12 ID:???
161 :
149 :03/08/07 13:15 ID:???
>151 >152 inputタグのonClickで呼び出していたチェック関数をformタグのonSubmitで ご指摘のとおり呼び出すようにしました。ところがチェックする関数内で、 一番最初の行 fOBJ = document.myFORM.address.value;<メールアドレスを入れるテキストボックス においてdocument.myFORM.address.valueがオブジェクトまたはNULLではないといわれてしまいました。 おそらくJSに対する初歩的な理解不足によるものと思われますが、なにがまちがっているのかおしえていただけないでしょうか。
162 :
149 :03/08/07 13:21 ID:???
>161 自己レスです。原因わかりました・・・。 formタグに書いたことによって、同じform内のボタンすべてに 適用されてしまっていたからでした。
163 :
149 :03/08/07 13:25 ID:???
inputタグに onClick="return checkMailAddress(); で解決しますた。onClickにfalseを返すようにすればいいのですね。 ありがとうございました。
164 :
153 :03/08/07 14:27 ID:Sbq3ueQx
なんとかこれで出来ましたが、これからドメイン名だけを抜き取るには どうすればよいでしょうか? document.referrer
>>150 意味ワカラン
>>164 あんましイイ正規表現じゃないが気にしちゃいかん。
document.referrer.match(/^
http:\/\/ (.+)\/.+/);
HostName = RegExp.$1;
var ref = document.referrer; var refDomain; if (ref) refDomain = ref.match(new RegExp("\\w+://([^/]+).*$"))[1];
いけね。 HostNameとかいって書いちゃってるよ。 ハズカチー
>>164 >165-166 はNN,IE4からだが、
これは NN2, IE3 から。
(ハズカチーから名誉挽回のつもり)
Dname = document.referre;
if(Dname.indexOf("
http:// ")!=-1){
Dname = Dname.substring("
http:// ".length );
if(Dname.indexOf("/")!=-1) Dname = Dname.substring(0, Dname.indexOf("/"));
}
Dname; // に格納されている。
まさに汚名挽回
170 :
142 :03/08/07 22:08 ID:???
>>165 >>144 のレスで教えていただきました、画像をランダムで表示する所
例えば1が選ばれたとしまして↓
img[1]="<a href='java_gazou4-5.html'><img name=myimg src='bbs_menu.gif' border='0'></a>";
bbs_menu.gifの画像が表示されていてjava_gazou4-5.htmlにリンクがついています。
下のソースで、画像にマウスを乗せるとbbs_menu.gifがgazou()の画像に置き換えられます
<a href="JavaScript:void(0)" onMouseOver="gazou('bb.gif')"><img src="bbs.gif" border="0"></a><br>
ここではbbs.gifにマウスを乗せたときbbs_menu.gifがbb.gifに置き換えられます。
しかしこの時bb.gifにはjava_gazou4-5.htmlのリンクがついています。
リンクがつかないようにしたいのですが。
165さん、よろしくお願いいたします。
>>170 名指しかよ。w
で、関数の中に
for(i=0; i<document.links.length; i++){
anc = document.links[i].href ;
if( anc == '
http://www.co.jp/ ' || anc == 'java_gazou4-5.html'){
anc = '#';
break;
}
}
で、飛ばないようにする。こんなんでどうよ?
アンカータグそのものを排除したければ
Divででも囲って innerHTML 使いな。
さて漏れよ、名誉挽回改め汚名挽回できるか?(藁
回答者みんなトリップ付けて 指名制にするのも、それはそれで面白いかも知れないw
コテ叩きの板でそれは成立しない罠。
指名待ちは他スレでこのスレの営業か?
質問者が信頼できる回答者に回答を得ることは いいサービスではないかと。 スレのマネージャ(監督者)付けて、回答者に点数付けて 指名の多いものはナンバー1。 みたいなw
格付け好きのリアル厨房は食いつきが良さそうw
178 :
142 :03/08/07 23:55 ID:???
>>172 何もおきませんでした
imgNo=Math.floor(2*Math.random());
のあとの行にそれを追加したのですが間違ってますか?
よろしくおねがいします
>>178 関数の中とは
function gazou(mySrc){
// ここのコト
}
180 :
142 :03/08/08 00:21 ID:???
>>179 function gazou(mySrc){
for(i=0; i<document.links.length; i++){
anc = document.links[i].href ;
if( anc == '
http://www.co.jp/seishun/ ' || anc == 'java_gazou4-5.html'){
anc = '#';
break;
}
}
document.images["myimg"].src=mySrc;
}
こういう風になりましたが、リンクされてしまいました。
181 :
142 :03/08/08 00:23 ID:???
>>181 比較の時の相対パスの方はフルパスにしてクリ。
183 :
142 :03/08/08 00:55 ID:???
>>182 絶対パスにしましたが無理でした。
前の方も。後の方も。
185 :
Name_Not_Found :03/08/08 01:29 ID:+eJ6fPEB
どなたか教えてください。 ユーザーがウィンドウをどんな大きさに変えても、 常に画像やテキストがウィンドウの中央に来るようにするには どうしたらいいのですか?
>>185 ウィンドの大きさ取得して中央に来るようにすればいいじゃん。
189 :
Name_Not_Found :03/08/08 04:28 ID:/bExj+fb
一つアドバイスを願いたく思います。 ページデザイン上、縦幅が500に固定されています。 掲示板などを使うとそれを越えてしまいます。 通常、<form=….cgi>としてsubmitがありますが、 この指定を別ウィンドウを開いてそこで展開することは 出きるでしょうか? 元のページでは掲示板の利用規約や簡単な案内を。 選んだ掲示板は別窓で閲覧・書き込み。 この様にしたいのですがjavascriptで出きるでしょうか?
190 :
153 :03/08/08 08:47 ID:0ujH92AI
>>190 少しは自分で調べましょうね。
location.replace
setTimeout
192 :
153 :03/08/08 10:24 ID:0ujH92AI
>>191 ありがとうございます。なんとかできました。
あともう一つお願いします。
JavaScriptでHTMLの読み込みを途中で終わらせる事は出来ますでしょうか?
193 :
Name_Not_Found :03/08/08 10:43 ID:UY8ydN+V
WindowsXPのIEでスクリプトデバッカーを動かす方法、 必要なソフトなど教えてください。 よろしくお願いします。
194 :
142 :03/08/08 11:51 ID:???
>>184 リンクされないようになりました!
親切に教えていただいてありがとうございました。
大変感謝してます
195 :
Name_Not_Found :03/08/08 13:10 ID:0ujH92AI
document.write("<body>この文字列を複数行記入</body>")にすると エラーが出てしまいます。HTML文字列が一行の時は問題ありませんが どうすればよいでしょうか?
document.write("<body>" + "この文字列を" + "複数行記入" + "</body>");
夏かもなー
また粗悪なつりだな
>>189 そんなのは <A target="_blank" でいいでしょ。
言いたい事がよくワカラン。
200 :
195 :03/08/08 14:54 ID:0ujH92AI
>>196 ありがとうございます。
文字の先頭に+を入れてやってみたところ状態は以前より改善されましたが、
以下の行で構文エラーが出てしまいます。
どこがおかしいのでしょうか?
よろしくお願いします。
document.write("<BODY TEXT='#4c4c4c' BGCOLOR='#ffffff' LINK='#4c4c4c' ALINK='#4c4c4c' VLINK='#4c4c4c'>"
>>200 document.write();
カッコを閉じろ。
行末にはセミコロンを付けるクセをつけろ。
ソースは出し惜しみするな。
ということだ。
ヽ(´ー`)ノ (___) | |〜〜 ◎ ̄ ̄◎
複数行はいるようなテキスト吐くなら aa = "hoge" +"hoge" +"hoge" +"hoge"; document.write( aa ); と言うスタイルに改めたほうが良いぞな まちがえづらくなるし、writeも 1回で済むし……
204 :
◆MONA...smk :03/08/08 15:28 ID:Nq++XsAj
はじめましてです。 リンクをクリックすると「モニタの解像度が1024*786以上」ならAへ、それ未満なら Bへ飛ばすJavaScriptを探してるんですが、なかなか見つかりません。 ブラウザは、IE4以上対応で、このようなJavaScriptは可能でしょうか? 教えてください。
>>204 screen.width でディスプレイ領域の横幅
screen.heightでディスプレイ領域の高さ
取得できるから、あとは適当に分岐しる
>>204 このスレはJavaScriptの知識ゼロの人に
スクリプトを書いてやるスレではない。
教えてクンは他の適当なスレへどーぞ。
207 :
◆MONA...smk :03/08/08 15:42 ID:Nq++XsAj
>>207 その程度のスクリプトを「探している」などというオマイが悪い
209 :
◆MONA...smk :03/08/08 15:58 ID:Nq++XsAj
漏れが悪いのか・・・ まぁ、プログラミングに長けた香具師なんてセクースするときでも まずキスして、愛撫して、、、なんて左脳を働かせながらやるんでしょうね。(ぷ
あ〜、夏休み〜
ソ━━━(゚∀゚)━━━ダ!! 海へ逝こう !!!
明らかな釣りがいるが放置でおながいします
214 :
◆MONA...smk :03/08/08 17:22 ID:Nq++XsAj
これでいいのかな? function gotoWp(){ var w = getScreenWIDTH() } else if( w <= 1024 ){ location.href = 'A.html' } else { location.href = 'B.html' } } でも、これだとブラウザの大きさは無視するんだよね〜。
215 :
◆MONA...smk :03/08/08 17:24 ID:Nq++XsAj
くぅー、2時間も掛かっちまった・・・ (´Д⊂)ウワーン
ヽ(´ー`)ノ (___) | |〜〜 ◎ ̄ ̄◎
香ばしいですなぁ〜。
219 :
◆MONA...smk :03/08/08 17:41 ID:Nq++XsAj
リンクをクリックすると、ブラウザ(IE4以上)が最大化で開かせることって 出来ますか? ハッキリ書いて教えてクンです! 漏れは単なるカメラマンなので、プログラムとか苦手なんですよ。 心優しい方のレスきぼん。
>>219 出来るがウザがられる。
1024*786 以下なら最大化させたい訳だ?
221 :
◆MONA...smk :03/08/08 18:06 ID:Nq++XsAj
>>220 さん
マジレスどうもです。
Webサイトを設けるんじゃなくて、CD-ROMに写真を入れて見せたいんですが、
HTMLが手軽かな〜と思いまして・・・・
800*600と、1024*768以上用の画面を想定してデザインを考えてるんですけど、
PC初心者に「ブラウザを最大化にして」とか書いても分からないかな〜
と思いまして・・・・
222 :
◆MONA...smk :03/08/08 18:11 ID:Nq++XsAj
写真は、縦600piでアクペクト比2:3のものです。 ブラウザ(IE6)を最大化した1024*768環境なら難なく見られるものの、 これ未満だとだめなんですね。 デザインで誤魔化すことも考えてるんですが、JavaScriptで出来るなら 手っ取り早いかなと。
>>222 220 = 206 な訳だが。
大量のイメージを扱う場合、君が言うようにJavaScriptを使えばかなり楽になる。
スクリーンサイズに合わせてウインド、画像のリサイズをできるのも魅力。
224 :
◆MONA...smk :03/08/08 19:04 ID:Nq++XsAj
JavaScriptでリサイズするとジャギるのでダメぽなんですよ。 受け取った側はそれでもいいのかもしれないけど、写真に対する漏れの プライドが・・・・ なもんで、2種類の画像を用意して自動的に切り替えるしかないかな〜と。 誰も教えてくれないので、他の方法を考えます。
そのくらい自分でやれ。
手動でF11でもさせたらいいのに。
function mychange() { var a=screen.width; var b=screen.height; if(navigator.appName=="O"){ if(navigator.appVersion==7){ if(a==1024,b==768){ location.href="large.html"; }
>>224 >誰も教えてくれないので
ではなく、君が何をしたいのか分らないので答えられない。
具体的に何をどうしたいのか伝わってこない訳だ。
どいうHTMLにどんな仕掛けをしたいのかが。
229 :
Name_Not_Found :03/08/08 20:21 ID:yVmeEazS
function mychange(){ var a=screen.width, b=screen.height; if(navigator.appName.charAt(0)=="M"){ if(navigator.appVersion.charAt(0)==4){ if(navigator.appVersion.indexOf("MSIE 6")){ if(a==1024,b==768){ location.href="large.html"; } else{ location.href="medium.html"; } } } } } ブラウザの種類とディスプレイサイズ取得して、ファイル表示を判別してるスクリプトを組んでみたんですけど 上のソースのように書くと、NN, Opera, IEの他のバージョンまで書くと長たらしいソースになってしまいます。 もっと、簡潔にする方法はありますか?アドバイスよろしくお願いします。
>>229 こういうことなのか?
function mychange(){
var a=screen.width, b=screen.height;
AppVer = navigator.appVersion;
AppName = navigator.appName;
if(AppName.charAt(0)=="M" &&
AppVer.charAt(0)==4 &&
AppVer.indexOf("MSIE 6") &&
(a==1024 && b==768){
location.href="large.html";
}
else{
location.href="medium.html";
}
}
>>231 すげー、簡単になるもんすね。もっと、簡単にできるように勉強します。
ありがとう。
JavaScriptを使ってフォームの要素を書き換えたいです。 セレクトフォームを2つ用意して、1つ目で都道府県を 選択すると、2つ目のフォームの内容が、その都道府県 に存在する市区町村に変わる。みたいな感じで。 立ち読み&検索はしたんですが有用な情報が見つかりま せんでした。サンプルのみ、英語とかでもかまわないん で役立つ情報教えてください。
詳しい場所は覚えてないけど、 過去ログに何回か現れてるよ。
今就職関係でJAVASCRIPTを勉強してるんですけどいい勉強方法とかあったら 教えてもらえませんか?? 朝っぱらからすいません.
>>236 HTMLとCSSはわかるんですけど言語は今回が初めてです。
>>238 今までに本を2冊終わらせて一応基本的な語句は
覚えたつもりだったのですがいざ応用になってみると
ソースがなかなか理解できないので勉強のやり方が悪いんかなて
へこんでました。色々まわって勉強してみます。
ありがとうございました!
>>233 「IEとGecko両方対応でDOCTYPE宣言ついててよければ」一番新しいあたりだと
vol. 14の471あたりにあるよ。
>>239 語句を押えてもたいしていいことはない。自分でいちから
プログラム書かないことには。よかったら練習問題出して
あげようか?たとえば…
問1 フォームの入力欄に数値を打ち込みボタンを押すと
別の欄にその数値の2乗が表示されるプログラムを作れ。
問2 1から100までの数とその2乗とが並んだtable要素を
JavaScriptで書き出せ。
>>241 ありがとうございます!!
書店に行っても用語集はあっても問題集はあまり見当たらないので
すごく助かります!!
とりあえず今からバイトがあるので帰ってから
すぐに2問といてみようと思います!!
243 :
Name_Not_Found :03/08/09 11:00 ID:YmINeL8w
<html> <head> <title>javvv</title> <script type="text/javascript"> var kk=3; bb=new Array(kk); for(i=0;i<kk;i++){ bb[i]=new Image(); bb[i].src="smallPhotos/photo"+i+".jpg"; } </script> </head> <body> <script type="text/javascript"> for(i=0;i<3;i++){ document.write("<img src='"+bb[i+]+"' height='100' width='100'>") } </script> </body> </html> for文を使って画像を表示しようという簡単な ものなんですけど画像が表示されません。 確認の方お願いします。
document.write("<img src='"+bb[i].src+"' height='100' width='100'>")
246 :
◆MONA...smk :03/08/09 15:10 ID:Vv3ekz1G
教えてクンでスマソですが、、、 スライドショーで写真を入れ替えると、そのたびにステータスバーへ 取り込んでるメッセージが出るので、これを消すにはどうすればいいでしょうか? 全角スペースを表示させる方法ではダメでした。
>>246 >教えてクンでスマソ
と思ったら聞くなバカ。
いい加減にしろよ。
>>246 var img1 = new Image();
img1.src = "hoge";
とかで事前に読み込んでおくのは?
「順ギレ」・・・今日は新しい言葉を覚えた。 有意義な一日だった・・・
252 :
◆MONA...smk :03/08/09 15:45 ID:Vv3ekz1G
ココは質問スレッドじゃないんですか?
答えたくないなら無視すればいいのに、、、、
>>250 すんません。よくわかりません。
こんなレベルなので、「1から10まで教えてあげよう」というボランティア精神
以外の方は、レスをご遠慮ねがいます。
写真については専門知識がありますが、Javascriptとかプログラミングは
無知なもんで、、、
次の質問、どぞー
254 :
◆MONA...smk :03/08/09 15:49 ID:Vv3ekz1G
スライドショーで写真を入れ替えると、そのたびにステータスバーへ 取り込んでるメッセージが出るので、これを消すにはどうすればいいのか 教えてください。
>>252 ここは「1から10まで教えてもらおう」という厨房用のスレではありません。
>>1-6 にこのスレのことが書いてあるので、そこを理解してから質問しなおしてください。
ついでに書くとあなたの写真の知識なんか誰も興味ないです。
256 :
◆MONA...smk :03/08/09 15:51 ID:Vv3ekz1G
つーか、「次の質問、どぞー」なんて書いてるあたり、精神年齢が 低いですね。思わず笑ってしまします。
「教えてクン」は禁止のスレッドなので教えない。
257だが、256で態度悪くなってきたからもう続けたくないな。
260 :
◆MONA...smk :03/08/09 15:54 ID:Vv3ekz1G
あー、そうでしたか、、、、 漏れは、プログラミングには興味が無くて、ただHTMLを動かしたいだけなんで 勉強する気にもなれないですね。女性との接し方とかをプログラミングして 人生を楽しんでください。
自分に問題があるのに自分の思うとおりにならなかったからと 悪いことは全部他人のせい。 反省も向上心もなく、あるのはただ我が侭ばかり。 そんな君がまともな写真が撮れるとも、女に持てるとも思えない。 もっと大人になれ。
>>252 > すんません。よくわかりません。
それは貴方が解ろうとしないだけ。
> こんなレベルなので、「1から10まで教えてあげよう」というボランティア精神
> 以外の方は、レスをご遠慮ねがいます。
「1から10まで教えてもらおう」という貴方が、レスを遠慮すべき。
> 写真については専門知識がありますが、Javascriptとかプログラミングは
> 無知なもんで、、、
スレ汚しの私情をはさむな。
俺も写真を撮るのは好きなんだが、全員こんな馬鹿な香具師ばかりと思わないでくれ。。。頼むわ(泣
って、すべて自作自演でした(w
て優香、クライアントのブラウザの情報を取得します〜なんてサイトが多いんだけど、何が楽しいのかワケワカラソ・・・・・
乗り遅れたガフゥ…
>>250 がいちばん親切だったのにそれを拒否した
>>246 にはそれ以上救いの手は
延びないであろう… まず
>>1 を読んでから書き込むべきだったのよね。
269 :
Name_Not_Found :03/08/09 21:09 ID:ClHhl6Mf
質問です。以下のような記述で、プリロードイメージによく使われている。 if (document.images) の部分が理解できません(汗)、trueかfalseの値がはいるのでしょうか? document.imagesはオブジェクト名なのに、なぜif分のなかで評価できるのでしょうか? function newImage(arg) { if (document.images) { rslt = new Image(); rslt.src = arg; return rslt; } } どなたか教えて下さい。 ちなみにさんざん調べましたが、詳しい記述が見当たりませんでした。 よろしくおねがいします。
270 :
Name_Not_Found :03/08/09 21:09 ID:g76GHt3N
271 :
Name_Not_Found :03/08/09 21:34 ID:y3KOA2mD
ttp://java-house.jp/~takagi/security/misc/jscript-clipboard/test.html MicrosoftのWebブラウザ「Internet Explorer」(以下「IE」と略す)には、「スクリプトによる貼り付け」という名の機能があります。これは、「JScript」(JavaScriptをMicrosoftが独自拡張した言語の名称)の独自機能のひとつで、
var str = clipboardData.getData("Text");
という一文で、システムのクリップボードの中身を取り出せる機能です。
これは、おそらく、Web上のサービスでカット&ペースト機能をJScriptで実現するために用意された機能と考えられます。 しかし、この機能が悪用されると、
悪意のあるページを訪れただけでクリップボードの中身を盗み見られることになります。
日本語、英語双方のウェブサイトを開設しています。 index.htmlで各フラグをクリックすることで選択させたいと思っています。 各フラグはアニメーションGIFで風にひらひらたなびいている様子ですが、 マウスがフラグの上に無いときはことのアニメーションを止めたいです。 JavaScriptを使って実現する方法を教えていただけないでしょうか?
教えてクンが多いな・・・
275 :
Name_Not_Found :03/08/09 21:58 ID:ClHhl6Mf
>>274 ありがとです。べんきょうします。(^^)/
>>272 別にふつうのロールオーバーで上にないときは静止したGIF画像に
しておけばいいんじゃないの?ふつうのロールオーバーが分からん
とか言わないでね。
>>269 ifのかっこ内に書いたものは論理値に変換されるでしょ。オブジェクト
の場合、nullやundefinedはfalseに、それ以外はtrueになるからimages
が「あれば」それだけでtrueになる、ということじゃないの。
>>269 >>276 の書き込みに加えて言えば
はじめて変数やオブジェクトの新しい要素がでてきたときは
undefinedが入っている。
if (document.all)
とかでIE振り分けをすることがあるけれど
document.allはIEでは既に定義されていて、中にはオブジェクトが入っているので
trueに変換されるけど、
NNとかでは定義されてない、始めて出てきたものなので、
そこでdocument.allが定義され、中身はundefinedが入り、
if()の条件判別でfalseと判別される。document.allにfalseが入るわけではなく
document.allが真偽判別でfalseと評価されるということ。
あまりいい書き方ではないけど、
if(!!document.all)と書くのと結果としては同じになります。
278 :
Name_Not_Found :03/08/09 23:39 ID:ik708I9s
質問なんですけど、インターネットやってるときにへんなエロサイトが でてくるんですけど、でないようにするにはどーすればいいんですか??
279 :
272 :03/08/09 23:41 ID:???
>>276 はい。ただそれだと常に同じ場面で止まることになるので
見ていて違和感が生じてしまうわけです。テープの再生→一時停止→再生
みたいな感じになるためにはマウスを外したときの絵の状態のままで
止まって欲しいわけでして・・・
さすがのJavaScriptでもGIFアニメの制御までは不可能でしょうか?
>>279 JavaScriptで複数の画像をアニメーション表示させるとか。
アニメGIFを止めたり動かしたりってのは無理かと。
>>279 GIFアニメ画像を1枚づつの静止GIF画像に分割して、
それを次々と自動で切り替わっていくスライドショーにすれば?
んでマウスカーソルが画像に乗った時は一旦停止て具合で
283 :
Name_Not_Found :03/08/10 00:01 ID:vIFvop73
そーですか.....どこにいけばおしえてもらえますか??
287 :
Name_Not_Found :03/08/10 00:09 ID:HzYYipyX
288 :
Name_Not_Found :03/08/10 01:20 ID:6d/zNiaw
フレームを無効にして次のウインドウに フォームの内容を送信したいんですけど… フレームを無効にする方法と フォームの内容を送信する方法は分かるんですが 二つ同時にやるとなるとよく分かりません。 お願いします。
function do_simultaneously() { invalidate_form(); send_form(); } do_simultaneously();
>>288 > フレームを無効にして次のウインドウにフォームの内容を送信したい
この順番に処理すればいいだけでないの?
291 :
290 :03/08/10 01:29 ID:???
ああ、ごめん一行目の「フレーム」を「フォーム」と読み違ってた。忘れて
>>288 > フレームを無効にして
ってどういう処理?
> 次のウインドウにフォームの内容を送信したい
次のウィンドウってどこ?
>>288 普通に <form action="次のウィンドウ" target="_top">では あかんの?
無効の意味を取り違えてるかも知れないが。
こんばんわ!! イメージビューアでイメージの切り替えをしたいんですけど イメージが切り替わってくれません。 確認の程よろしくお願いしまする。 <html> <head> <title>javvv</title> <script type="text/javascript"> kk=5; bb=new Array(kk); function init(){ for(i=0;i<kk;i++){ bb[i]=new Image(); bb[i].src="bigPhotos/photo"+i+".jpg"; } function swa(num){ document.main.src=bb[i].src} } </script> </head> <body bgcolor="red" onLoad="init()"> <center> <script language="javascript"> for(i=0;i<5;i++){ document.write("<img src='smallPhotos/photo"+i+".jpg' onClick='swa("+i+")'>") } </script> <hr> <img src="bigPhotos/photo0.jpg" name="main"> </body> </html>
295 :
javava :03/08/10 03:59 ID:SHCxSYoV
すいません少しずれました・・ こちらでございまする・・ <html> <head> <title>javvv</title> <script type="text/javascript"> kk=5; bb=new Array(kk); function init(){ for(i=0;i<kk;i++){ bb[i]=new Image(); bb[i].src="bigPhotos/photo"+i+".jpg"; } } function swa(num){ document.main.src=bb[num].src } </script> </head> <body bgcolor="red"><center> <script language="javascript"> for(i=0;i<5;i++){ document.write("<img src='smallPhotos/photo"+i+".jpg' onclick='swa("+i+")'>"); } </script> <hr> <img src="bigPhotos/photo0.jpg" name="main"> </body> </html>
すいませんわかりました! 何回も書いてしまってすいませんでした。
297 :
Name_Not_Found :03/08/10 08:47 ID:lFM2aabM
>>276 ,277
レスありがとです。これからもがんばってjavascript勉強しますです。
>>296 <script type="text/javascript">
var imageNumber = 5;
window.onload = function{
var i,tmp,images = new Array(imageNumber);
for(i in images){
images[i] = document.createElement("img");
images[i].setAttribute("src","bigPhotos/photo"+i+".jpg");
}
for(i in images){
tmp = document.getElementById("thumnails").appendChild(document.createElement("img"));
tmp.number = i;
tmp.setAttribute("src","smallPhotos/photo" + i + ".jpg");
tmp.style.cursol = "pointer";
tmp.onclick = function{
document.getElementById("main").setAttribute("src",images[this.number].getAttribute("src"));
}
}
}
</script>
</head>
<body bgcolor="red">
<div align="center">
<div id="thumnails">
<div>
<img src="bigPhotos/photo0.jpg" id="main">
</div>
</body>
みなさんちょっと複雑なJSとかデバッグどうしていますか? どうしても思い通りに動作しなくてどこで間違えているのか検証したくて・・・
普通に
>>299 alert(またはwindow.status)はさんで、地道に。
大量に出力デバッグしたい場合は別窓開いてそこにwriteしまくるというのも。
304 :
288 :03/08/10 14:49 ID:Gw1mPVnw
>>289 >>290 >>291 >>292 >>293 レスありがとうございます。
返事が遅くなってすいません。
細かいことを書きますと
インラインフレームを使ってまして
フォームのアクションはそのフレーム内に投げられるんですが
もう一つボタンを作ってフォームの内容を編集して
フレームを無効(targetを_top)にして他のページに投げたい訳なんですが…
分かりにくい説明かも知れませんが…
>>304 意味ワカラン。
そういう時はソースも貼りましょう。
<span id="d003-005">□</span> のように、idが(001-999)-(001-999)という風になっていて、 spanで挟まれた文字は必ず一文字になっています。 このとき、文字「□」をクリックしたら「■」に 「■」をクリックしたら「□」というように、 ある配列の順にまわしていきます。 span onclick="hoge()"で関数を呼べばいいのですが、事情があってそれはできません。 なにか方法はありませんか?
>>306 var myAr = ["○","■","×"];
-------------------------------------------
document.getElementById("d"+i+"-"+j).onclick = function(){
this.firstChild.nodeValue = myAr[k];
};
こんな感じ?
308 :
Name_Not_Found :03/08/11 14:37 ID:Wpe9is/Z
javaとhtmlの違いってなんですか? よくわかりません。お願いします。
311 :
_ :03/08/11 14:48 ID:???
312 :
Name_Not_Found :03/08/11 17:06 ID:Wpe9is/Z
>>309 もちろん
>>1 はちゃんと読みましたよ。でも解決できませんでした。
それじゃぁ質問内容を変えます!!
javaとjavascriptとhtmlはどう違うんですか?
誰か優しい人お願いします!!本当に困ってるんです!!
313 :
Name_Not_Found :03/08/11 17:07 ID:Wpe9is/Z
>>310 ・・・。
あのぉ・・・いやいいです・・・。
ボケ
315 :
Name_Not_Found :03/08/11 17:08 ID:Wpe9is/Z
あげ!!
317 :
null :03/08/11 19:04 ID:G++s0px0
>>316 ID 晒してネタをやるというのはちょっと考えにくいなあ.
質問としては " ちょっと... " と言う気もするけどね.
318 :
null :03/08/11 19:04 ID:G++s0px0
>>312 >javaとjavascriptとhtmlはどう違うんですか?
[Java] :
SUNが開発したオブジェクト指向のプログラミング言語.
特徴 :
・ C++がベース.
・ Compile する事が必要.
・ Garbage Collection機能を備えている.
・ ポインターの概念がないという特徴がある.
・ Webブラウザー上で動かすことができる.
・ OSや機種ごとのプラットフォームに依存しない
(日経 PC 辞典より抜粋・編集)
[JavaScript] :
Netscape が開発したオブジェクト指向のスクリプト言語
Java と混同されることが多いが,別の言語である。
Java がソースをコンパイルしてインターネットなどを通じて実行されるのに対し,
JavaScript は HTMLファイルに直接コードを貼り込んでブラウザーで実行する.
Javaより実行速度は速いが,複雑なプログラムの作成には向かない.
(日経 PC 辞典より抜粋・編集)
[HTML] : Hypertext Markup Language
Webページを記述するのに使われるマークアップ言語.
画像や音声,ビデオなどを含んだ文書を扱うこともできる.
タグを用いて文書の構造やデザイン,レイアウト,リンクなどの情報を記述する.
(日経 PC 辞典より抜粋・編集)
お ま え は ま だ 生 き て い た の か ! ?
321 :
Name_Not_Found :03/08/11 19:32 ID:GMruNHTQ
こちらはそれほど大きくはないですけれど
柔らかくて揉み心地のよさそうなオッパイの持ち主です。
上のお口と下のお口をフルに使っての4Pシーンは見所満載!
オマンコの奥深くに突き立てられていくチンチンが気持ちよさそうです。
無料ムービーはここから
http://www.exciteroom.com/
323 :
null :03/08/11 20:15 ID:G++s0px0
>>322 んで,
JavaScript と,どういう関連性がある訳 ???
>>323 別にありませんが何か?
っていうか、いちいちageるコテUzeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
325 :
null :03/08/11 20:26 ID:G++s0px0
>>324 ID 出しとかないとニセ者が大暴れ !!!
んで,トリップ付けるほど出現率高くないしぃ〜...
>>324 スレ違いのてめぇがうぜぇ。死んでくれ。
327 :
Name_Not_Found :03/08/12 02:12 ID:c8FPAO3J
>>316 ネタじゃないです!!真剣に質問しているのに茶化さないでください!!
>>318 どうもありがとうございます!!でも説明見てもわからない言葉が
いっぱい出てきたなぁ・・・。う〜ん。
オブジェクト指向って何ですか?
スクリプト言語って何ですか?
マークアップ言語って何ですか?
329 :
Name_Not_Found :03/08/12 02:16 ID:c8FPAO3J
>>328 辞典に載っている言葉は難しくて理解できません・・・。
優しく説明してくだしゃい。お願いします!!
330 :
Name_Not_Found :03/08/12 02:17 ID:rlnXwvgv
質問です。 1から10までの数字を一つずつ格納した、ランダムな配列を 作りたいのですが、スマートなやり方が思いつきません。 もしBestPracticeをご存知の方がいらっしゃいましたら 教えてくださいませ。
331 :
_ :03/08/12 02:24 ID:???
>>330 スマートかは知らんがコレどうよ?
MAX = 10;
USED = '';
numbers = new Array();
while(1){
if(USED.indexOf(n = Math.floor(Math.random() *MAX)) != -1) continue;
numbers[n] = (USED += n+'');
if(USED.length >= MAX) break;
}
しくった。こちらでどう? MAX = 10; USED = ''; i = 0; numbers = new Array(); while(1){ if(USED.indexOf(n = Math.floor(Math.random() *MAX)) != -1) continue; numbers[i++] = (USED += n+''); if(USED.length >= MAX) break; } で、i++ と USED += n+'' が気に入らなければ 別途書き直して。
for(var i = 0, len = numbers.length, n, s; i < len; i++) { s = numbers[n = Math.floor(Math.random() * len)]; numbers[n] = numbers[i]; numbers[i] = s; }
D O C 太 郎 必 死 だ な ( 藁
<!DOCTYPE ん? 私は夏休みでずーっと書いてないよ。
そのうちまた復活します。>
>>333-334 車輪の再発明しかもださくてのろい。過去ログ
にあるの(
>>335 と同じもの)が定石かつスマート。
ついでに。 オブジェクト指向: プログラムが扱う対象を自立した「もの」だと して考える考え方ないし流儀。たとえば従来の手続き型言語だと 数値とか配列とかレコードとかとそれをいじる手続きを分けていた が、オブジェクト指向言語では「画像オブジェクト(画像という「もの」) に対して「表示内容を取り換える」とか「表示しなくする」などの命令 (メソッド)を呼び出して操作するという感じ。 スクリプト言語: 本格的に何日も掛かって設計したりしなくてもささっと すぐ書いて使えることを旨としたプログラミング言語。 マークアップ言語: 文章の中に「印」を埋め込むような書き方の規則(=言語)。 しかしねえ、こんな質問ここでするより初心者スレへ逝けば。
>>337 >車輪の再発明しかもださくてのろい。過去ログ
だから君は進歩がないのです。
>>338 ついでに。
オブジェクト指向:オブジェクトに向かって「命令」するのではなく、オブジェクトにメッセージを送り、オブジェクト自身に自立的に処理させるんですよ。
スクリプト言語:設計不要なんてふざけたこと、誰が言った?
341 :
Name_Not_Found :03/08/12 11:18 ID:c8FPAO3J
>>338 ありがとうございます!!やっぱり待ってみるもんですね!!
感謝感激です!!でもわかりにくいです・・・。
ごめんなさい。
342 :
Name_Not_Found :03/08/12 11:19 ID:c8FPAO3J
初心者スレってあったんですね。 どうも自分が初心者って思いつきませんでした・・・。
343 :
Name_Not_Found :03/08/12 11:20 ID:c8FPAO3J
>>340 ありがとうございます。オブジェクト言語の方はよくわかりました。
それで他の2つはどうなのでしょうか?
345 :
Name_Not_Found :03/08/12 11:30 ID:c8FPAO3J
>>344 どうもすみませんでした。皆様に迷惑をかけていましたね・・・。
ところでそのPC初心者板ってどこですか?
初心者板なんて見当たらないのですが・・・。
>>338 スレ違いで申し訳ないけど、
オブジェクト指向を正確に定義すると、分析設計手法のことになるんじゃなかったっけ?
>>346 オブジェクト指向プログラミング言語のことをいってるんだろ
_____ /::::::::::::::::::\ /:::へ_________丿\ (:::::::| ヽ) |::::ノ ≡=- r=≡ミ ∩ノ-√ ─ l l ー | し| L__ノ ヽ_ノ| ┌────────┐ し_丶 | │ | イ ─==─ 丿 │ オ | |\____/\ │ | | >< / \ │ ブ | | 〈:::〉/ ヽ │ | | ハ/ | (_つ 恵 ジ .| | / | (_ つ | | (_ つ 三 ェ ⊂ヽ | (_つ ⊂二 \ | │ ⊂二 | | └────────⊂二_ノ______丿
ベンチマークの取り方教えてくり。
var d1; var d2; d1 = new Date(); for(var i=0; i<1000; i++) document.write(i+"<br>"); d2 = new Date(); alert(d2.getTime()-d1.getTime());
まじ、「スクリプト言語」のカコイイ定義求む。 JavaScript質問スレなんだからスレ違いじゃないでしょ。
ここは「JavaScript」に限定されたスレ。
353 :
Name_Not_Found :03/08/12 22:15 ID:gGwTOA69
var imgnum=1; function changeImage(){ if(imgnum==1){ document.all('myimg').src="image1.jpg"; imgnum=2; }else if(imgnum==2){ document.all('myimg').src="image2.jpg"; imgnum==1; } setTimeout("changeImage()",1000) } 画像を繰り返し表示するスクリプトを見つけて、これをfor構文でやる方法を勉強してるのですが わかりません。教えてください。 ちなみに、自分でやってみたやつがあるのですが動きませんでした。 var imgnum=1; function changeImage(){ for(i=1; i<3; i++){ document.all('myimg').src="image"+i+".jpg"; } }
スクリプト=コンパイル不要
356 :
null :03/08/12 22:26 ID:kNjIbdmE
>>351 [script]:
・ (演劇・映画・放送などの)台本,脚本
(NewCollegeDict. からの抜粋・編集)
ようするに台本のように一連の処理手順を記述したものを script と言う訳ね.
元々はマクロのようなものを指し示していた訳だけど,
いつの間にか interpreter タイプの言語によるプログラムも
script に含まれるようになったのよ.
357 :
Name_Not_Found :03/08/12 22:27 ID:gGwTOA69
>>355 あともう少しヒントください・・・
上の自分で考えてみたスクリプトは、
<body onLoad="setTimeout('changeImage(),1000')">で読み込ませると
動くんですが、image2.jpgで止まります。
iを一個ずつ増やして、3未満になればループが終わるからimage2.jpgで止まる。
ってことは、このループが終わった時点でまた最初からループさせればいい。
っという考え方で合ってますか?それが%なんですかね?
もう少しヒントをば〜
% 使うなら、setTimeoutのタイマーだけで、forループは要らんだろ
>>358 >>353 のsetTimeoutは画像の繰り返しのスピードを指定していて、
自分がhtmlに書いたsetTimeoutはchangeImage()を呼び出すタイミングですね。
練習のためにfor構文で書き換えてみたかったんですが。
基本ができてないから、頭の中がぐちゃぐちゃです。基本勉強して出直してきます。
失礼しやした。
BASICの多くはインタプリタだったと思うけどスクリプトとはあまり言わない気がする。
>>360 ○○スクリプトといった名前が付いてないからだよ。
VBスクリプト
363 :
353 :03/08/13 03:34 ID:???
>>355 いろいろ調べて、見よう見真似でfor文ができました。
var imgnum=1;
MyImage=new Array();
for(i=1; i<3; i++){
MyImage=new Image();
MyImage[i].src="image"+i+".jpg";
}
function changeImage3(){
document.all('myimg').src=MyImage[a].src;
a++;
if(a>2){
a=1;
}
setTimeout('changeImage3()',1000);
}
これで一応
>>353 と同じ動作しました。
でも、「%」でのやり方がわかりません。どういう風に書いたらいいか教えてください。
>>363 %使えって書いたのは変数の値を循環させることが出来るからで、
if(a>2){
a=1;
}
これじゃ分かりにくく、何をしたいのか意図が伝わりにくい。
var myImages = new Array(3);
for (var i = 0; i < myImages.length; i++) {
myImages[i] = new Image();
myImages[i].src = "image" + i + ".jpg";
}
function changeImage(k) {
document.all["myimg"].src = myImages[k %= myImages.length];
setTimeout("changeImage(" + (++k) + ");", 1000);
}
365 :
364 :03/08/13 04:11 ID:???
すまん訂正 × document.all["myimg"].src = myImages[k %= myImages.length]; × document.all["myimg"].src = myImages[k %= myImages.length].src;
366 :
364 :03/08/13 04:12 ID:???
また、訂正。逝ってくる。 × document.all["myimg"].src = myImages[k %= myImages.length]; ○ document.all["myimg"].src = myImages[k %= myImages.length].src;
367 :
353 :03/08/13 04:28 ID:???
>>364-366 ちょっとコンビニ逝ってました。返事送れてすみません。
それを参考にします。ありがとうございます。
で、JavaScriptを勉強しはじめて思ったのですが、1つのスクリプトでもいろんな書き方ができますね。
例えば、
>これじゃ分かりにくく、何をしたいのか意図が伝わりにくい。
見よう見真似で書いたので自分でも殆どわかってません。やっぱ、人がソースを
見て、動作を予想できるように書いてるんものなんですか?
よく誰々のスクリプトは汚いとはこういうことは言ってるんですか?
> 人がソースを見て動作を予想できるように書いてるんものなんですか? ほとんどのときはそう。 他人というより、自分があとから見て分かるようにっていう意味もある。 > よく誰々のスクリプトは汚いとはこういうことは言ってるんですか? 保守性とか堅強なコードとかちょっと難しい理由もあるけど、大体そういうこと。
>>363 A % B が「AをBで割った余り」というのはご存知なのかな?
<script>
var imgnum = 0;
var MyImages = new Array(3);
for (var i = 0; i < MyImages.length; i++) {
MyImages[i] = new Image();
MyImages[i].src = 'image' + i + '.jpg';
}
function ChangeImages() {
document.images['myimg'].src = MyImages[imgnum++ % MyImages.length].src;
setTimeout('ChangeImages()', 1000);
}
</script>
<body onload="ChangeImages()">
<img name="myimg" src="image0.jpg">
NN3+、IE4+、Operaなどで動作。
ちなみに、document.all('myimg') はIE4+のみで動作。
次のようなスクリプトで最終更新日を表示させようとしています dlm = document.lastModified; lmsec = Date.parse(dlm);//change to milliseconds counted from 1970 lmday = new Date(lmsec);//create Date object YY = lmday.getFullYear(); MM = lmday.getMonth() + 1; DD = lmday.getDate(); このとき日本と時差のある海外の人がこのホームページを見たとき、 その人のところで表示される最終更新日というのはその人が住むリージョン の時刻に自動的に変換されるのでしょうか? 海外に住んでいる人に日本時間の最終更新日を提示しても混乱するだけ だと思うので・・・
サイトで右クリックメニューを変更しているのをみたことがあります。あれってどうやってるんですか? そのサイトはなくなってしまったんですけど…。情報お願いします。
>>370 alert( (new Date('Wed Aug 13 2003 11:00:00 GMT+0800')).getHours() )
とやってみ。 +0900 の日本では 12 が返るはず。
>>371 右クリックを検知してメニューを表示、デフォルトアクションはキャンセル。
>>371 var d = document;
d.ce = d.createElement;
d.ct = d.createTextNode;
var menu = d.appendChild(d.ce("div"));
menu.appendChild(d.ce("div")).appendChild(d.ct("hoge")).parentNode.onclick = function(){
alert(hoge);this.style.display = "none";
}
menu.style.display = "none";
d.oncontextmenu = function(){
menu.style.position = "absolute";
menu.style.left = event.x; menu.style.top = event.y;
menu.style.dislpay = "block";
}
↑をやるとページに入れなくなってしまうのですが…。
376 :
374 :03/08/13 11:59 ID:???
var menu = d.appendChild(d.ce("div")); ↓ var menu = d.getElementsByTagName("body")[0].appendChild(d.ce("div"));
すみません、表示はされるのですがエラーが出てしまいます…。
378 :
374 :03/08/13 12:22 ID:???
var d = document; d.ce = d.createElement; d.ct = d.createTextNode; onload = function(){ var menu = d.getElementsByTagName("body")[0].appendChild(d.ce("div")); menu.style.position = "absolute"; menu.appendChild(d.ce("div")).appendChild(d.ct("hoge")).parentNode.onclick = function(){ alert("hoge");this.style.display = "none"; } menu.style.display = "none"; d.oncontextmenu = function(){ menu.style.left = event.x; menu.style.top = event.y; menu.style.dislpay = "block"; return false; } }
おー、メニューが出なくなりました!すごーい!これでメニューを作るんですか?
380 :
370 :03/08/13 14:11 ID:???
>>380 (new Date()).toLocaleString()
382 :
380 :03/08/13 14:50 ID:???
<script language="JavaScript"> <!-- msg=new Array(); msg[0]=""; msg[1]="<table boder=0 bgcolor='#000000'><tr><td>言いたい事も言えない</td></tr></table>"; msg[2]="<table boder=0 bgcolor='#000000'><tr><td>こんな世の中じゃ</td></tr></table>"; msg[3]="<table boder=0 bgcolor='#000000'><tr><td>ポイズン</td></tr></table>"; function Msg(x,y,index){ if(navigator.userAgent.indexOf("MSIE 4.")>=0){ box.innerHTML = msg[index]; }else if(navigator.userAgent.indexOf("MSIE 5.")>=0 || navigator.userAgent.indexOf("MSIE 6.")>=0){ box.innerHTML = msg[index]; }else if(document.layers){ document.box.document.open(); document.box.document.write(msg[index]); document.box.document.close(); } } //--> </script> . . <button onClick="Msg(event.x,event.y,1)">ボタン</button> これでボタンをクリックすると、「言いたい事も言えない」が表示されるわけですが もう一回クリックで「こんな世の中じゃ」、さらにもう一回で「ポイズン」と 表示したいのですが、どうしたら良いのでしょうか?
alertのとこ変えてね。 あとcountが4越えたときの処理はif使って適当に。 <script type="text/javascript"> var count = 1; msg=new Array(); msg[0]=""; msg[1]="言いたい事も言えない"; msg[2]="こんな世の中じゃ"; msg[3]="ポイズン"; function test(){ alert(msg[count++]); } </script> <input type="button" onclick="test();" value="click">
385 :
383 :03/08/13 15:41 ID:???
メニューを出すことは出来ないのでしょうか…? しつこくてすみませんがお願いします。
自分で勉強しようという気はないのか…
388 :
null :03/08/13 18:25 ID:+Vwfz2sz
389 :
353 :03/08/13 18:54 ID:???
>>369 亀レス失礼します。
A%BでAをBで割った余りというのは、わかりましたが、
>document.images['myimg'].src = MyImages[imgnum++ % MyImages.length].src;
これをどういう風に考えたらいいのか、よくわかりません。
imgnum++をMyimages.lengthで割った余り?そもそもimgnum++ってのがよくわかりません。
>>389 初歩から勉強したほうが。あとgoogleでしらべれ。
imgnum++ってのは、imgnumの値を返した後にimgnumに1を足すという意味。
hoge++と++hogeの違いをついでに覚えといてね(♥
>>389 ++ はインクリメント演算子。意味は 1 加算。
JavaScriptに限らず多くのプログラミング言語にある。
「インクリメント演算子」で検索したら、解説してるページ
いっぱいでてくるので細かいとこは自分で調べて。
>>389 … = MyImages[imgnum % MyImages.length].src;
imgnum = imgnum + 1;
と同じ意味。
_| ̄|○ カブッタ ゴメン
394 :
null :03/08/13 19:09 ID:+Vwfz2sz
お前らわざとやってるだろ
かぶりまくってすげー分かりやすくなったぞ
while(true) i = (i + 1) % 4; i=0,1,2,3,0,1,2,3,0,1,2,3.......
x = x++; なんてネタが昔あったなあ。
今でもCのスレに投げたら「未定義」の嵐になりそうだけど
400 :
353 :03/08/13 20:50 ID:???
>>390-399 ありがとうございます。でも、インクリメント演算子、ディクリメント演算子は調べました。
質問の仕方が悪かったみたいっす。すんません。
>document.images['myimg'].src = MyImages[imgnum++ % MyImages.length].src;
この式のimgnum++をMyImages.lengthで割った余りがなんで myimg 値になるのかと
いうことが聞きたかったんです。
401 :
null :03/08/13 21:05 ID:+Vwfz2sz
>>400 ' = ' の意味を理解していますか ?
" 両辺が等しい " と言う意味ではなく,
" 左辺に右辺の値を代入してね." と言う意味なのよね.
それと JavaScript では object が
array 形式で表されることが多い事を理解していますか ?
>>401 >array 形式
ただのオブジェクトの配列だろ?
403 :
null :03/08/13 21:13 ID:+Vwfz2sz
>>403 知ってます。
オブジェクトと配列の区別が付いてないようだったので。
JavaScriptではオブジェクトoのプロパティpを「o.p」と書いても「o['p']」 と書いてもよいから。それを指して「array形式」と呼んだのかなと思った。 しかしそれにしても「document.images['myimg'].src」よりは 「document.images.myimg.src」の方が目に刺さらなくていいと思わない?
' が刺々しい。
' ←ささぐれ
['p'] <ぬるぽ
('∀')
`@'
> それを指して「array形式」と呼んだのかなと思った。 理解している相手には意味が通じることをまあ期待できるが そうでない相手にはどう誤解されるか解らない微妙な表現だよな。
('ー')
('A')
o=("ワ")=o
415 :
↑ :03/08/13 23:30 ID:???
alert('error'); ( ',_ゝ') // プッ
中途半端にテクニカルタームつかうなよ。 使うなら「配列」と「連想配列」は明瞭に区別して、連想配列っていえよ。 // さらにその上でjavaScriptは配列をも連想配列で示している // ことを前提にしているのかも知れんが、そこまで考えた上での発言なら // そもそも質問者にたいして不適切な発言
(^^)
// >417 (" . (゚Д゚)ハァ? . ")
419 :
null :03/08/14 07:18 ID:vbsCskgF
>>405 >「document.images.myimg.src」の方が目に刺さらなくていいと思わない?
一般的に hoges という書き方をする時の hoges は array でしょ.
となると, hoge[n] もしくは hoge['myimg'] と言った形で書かないとダメよね.
それと, document.hoge と書かれた時には,
hoge が何であるのかは記述した本人にしか解らないでしょ ?
document.forms['myimg'] かも知れないし,
document.frames['myimg'] かも知れない.
document.images['myimg'] と書けば
誰が見ても image object であることが明確.
まあ, ' array 形式 ' と書いたのは適切な表現でないと思うので訂正しておきます:
" JavaScript の object は array となる事が多い " と...
>>416 誰に対して言っている訳 ?
もしかして,独り言 ???
420 :
null :03/08/14 07:22 ID:vbsCskgF
訂正: hoge[n] -> hoges[n] hoge['myimg'] ->hoges['myimg']
どうします? ひょっとするとマジで勘違いしてるような気もしないでもないですが。
連想配列作るのに new Array(n); とかやってそーだな。
未だに連想配列とか古くさい言い方してんの? ハッシュと呼べ、ハッシュと。
>>419 JavaScriptでArrayといった場合、Arrayオブジェクトを指し、任意のオブジェクトの
表現手段としての連想配列とは別。
・JavaScriptでは任意オブジェクトを連想配列として扱える (内部的に等価)。
・それとは別に標準オブジェクトとして Array が存在する。
・任意のオブジェクトによる連想配列と、Arrayオブジェクトの違いは、
Arrayにはpopやpushなどの専用メソッドがあるということ。
・しかし、内部的にはArrayもまた(主に)0以上の整数を添字にする
連想配列でしかなく、例えば添字に小数点が入るような他言語では有り得ない
処理も場合によって実行される(本来想定外なのでエラーがでる事もあるが)。
とりあえず、ここまで理解できてる?
もうだめぽ ...
ぬるぽ?
≦_ ̄_ ̄─ ギューン
_ ─ ≦_ )
≦_ )  ̄≡/
≦_ ≡\ / ビューン
\Γ 了/
|.@|
/| .| \
. / .|.風| \ミ  ̄─ ≧
/ ミ .|.車| ( < > ガッ
>>426 (  ̄ ≧_
─_ _≧
しつもそです。 1画面上下2フレームのページのそれぞれのフレーム名を main, bottom としたとき、 main フレームに表示するページに、 <FORM name="test" method="post" action="/cgi-bin/hoge.cgi" target="bottom" onSubmit="document.location.href='./loading.html';"> <INPUT type="submit" name="test" value="データ送信"> </FORM> 以上のフォームタグを書いておきます。 「データ送信」ボタンが押されたら、 bottom フレームでCGIの処理をやらせて、 main フレームは別ページに飛ばそうと思ってます。 WindowsのIE5.5では正常に処理できたのですが、 NN4.7でやったところ、一回目は正常に処理できたのですが、 処理後、ブラウザのウインドウを閉じずに再度試したところ、 FORMのtargetが機能してくれません。 同じ事をMacのNN4.7でやったところ、 何の問題もなくいきましたが、今度はIEでは FORMのtargetは機能するのに、 ページの切り替えをやってくれません。 仕様でしょうか?
>>428 仕様=バグ
そう言いたいのか?プログラマなめんな。
仕様 = バグ = プログラマをなめる ???
>>428 onsubmitでtrueもfalseも返させないままほってあるあたり
怪しすぎ。それがどういう意味か分からないなら修行すれ。
432 :
428 :03/08/14 16:37 ID:???
>> 431 あうう、すいません書き忘れでした。 onSubmit="document.location.href='./loading.html'; return true;" でやったんですが、結果は同じでした。 onSubmitではなくて、送信ボタンのonClickで同様のことをやっても結果は変わらずです。 >> 429 そういうわけでは・・
>>432 setTimeout('document.location.href=\'./loading.html\'',0);return true;
とかはどう? あてずっぽうだけどさ。
434 :
432 :03/08/14 17:21 ID:???
>>433 function change() { document.location.href="./loading.html"; }
onSubmit="setTimeout('change()', 0); return true;"
これで Win NN4.7 も Mac IE もいけました!
ありがとうございます。
やりかたっていろいろあるもんですね・・
やっぱりCGIが実行し終る前にmainを別のページに飛ばしてしまうと CGI側が止められてしまう恐れがあるよね。CGI出力が終ったところで mainを移動するようにしてみてはどう?
436 :
Name_Not_Found :03/08/14 17:49 ID:U6D4oNVU
・それとは別に標準オブジェクトとして Array が存在する。 これは違うんじゃない?
for(var i=0; i<1000000; ++i) for(var i=0; i<1000000; i++) 上のほうが実行速度が速いということですが、 jsでもそれは同じですか?
>>436 正解だよ。Arrayはオブジェクト。
コレクションと言うカテゴリに所属する複数のオブジェクトをまとめるためのオブジェクトだ。
Perlでいう連想配列って、JavaScriptにはないもんでしょうか・・・ 自分で探した限りでは、みあたらないんですが・・・
>>441-442 JavaScript では、連想配列とオブジェクトは同じモノ。
オブジェクトが連想配列で実装されてるというか。
new Object; 等でオブジェクトを生成すれば、それはそのまま連想配列として機能する。
Perl でいう keys とか values とかはないから、
for ( var i in object ) { statements } でループ回すことになるけどね。
結局の所オブジェクトとハッシュと配列の話は
>>424 が無難で良くまとまっていると思うんだが。
446 :
88 :03/08/15 02:59 ID:???
で、連想配列って呼び方は古いのですかね? 最近、自分の加齢臭が気になるので‥
なんか凄まじく難しい話してて質問できる雰囲気じゃないのですが・・・
連想配列とハッシュって同一のものなの? 何か連想配列の実現方法の一つがハッシュだとか思い込んでたよ…
>>450 その理解で正しいでしょ。本質的には。
ただ、連想配列が言語仕様に組み込まれているような言語では
連想配列を指してハッシュと呼ぶものがある(Perlとか)ので
人(或いは言語)によっては 連想配列=ハッシュ である場合がある、と。
連想配列をハッシュ以外の技法で(たとえば専用ハードとか?)
実現することもあり得ないわけじゃない。ECMA-262にはだから
ハッシュとは書いてない。
Perl用語とJavaScript用語は必ずしも一致しないし、Perlの
方が偉いわけでもない(インストール数はJavaScriptの方がはる
かに多いわけだし)。というわけで自分も「連想配列」派。
>>449 遠慮なく質問した方がいいよ。
453 :
Name_Not_Found :03/08/15 09:00 ID:zvT42x5C
document.referrerは、リンク元がドメインのindex.htmlでアドレスバーに htmlが書かれてなくドメイン名だけの場合もindex.htmlまで取得することは可能でしょうか?
>>443 >JavaScript では、連想配列とオブジェクトは同じモノ。
壮絶なアホが居ます。
罵倒するだけで根拠を示さないというのは煽りだよね。次期
テンプレに入れますかね。
・「間違い」「阿呆」等の罵倒のみでなく批判の論拠を書ける者。
ちょっと込み入った事柄だとどんな解説でも「100%正しい」
なんて無理。行数の制限もあるし。だからどこのところは
はしょりすりでここまで書くべきだといった批判が望ましい
と思うね。
>>453 ハア?document.referrerはブラウザが設定してくれるものだ
からそれを取り出して使うだけで、何が設定されるかを手直し
するのは無理なんじゃないの。それとも別の意味の質問?
すまそ、「はしょりすり」→「はしょりすぎ」
458 :
453 :03/08/15 09:33 ID:zvT42x5C
>>456 >>166 さんが示してくれているソースをドメインのindexからのリンクだったら
使えるのかな?と思ったんです。
いかがでしょうか?
460 :
459 :03/08/15 11:17 ID:???
>>458 なんだかまだよく分からないけど、document.referrerの最後が「/」で
終っていると不都合だから「/」で終っていたら「index.html」をくっつけ
たいということ?
>>460 が書いているように常に「index.html」をくっつけ
れば済む話ではないと思うけど(たとえばindex.htmだったりindex.cgiだったり
することもよくある)、あんたの用途に限定すればそれでいい、というのなら
そうすればいいんじゃないの?
var r = document.referrer;
if(r.match(/\/$/)) r += 'index.html';
ほんと、一般にはこんなことしても正しくないから警告しとくよ。
(⌒V⌒) │ ^ ^ │<これからも僕を応援して下さいね(^^)。 ⊂| |つ (_)(_) 山崎パン
ウザイ
465 :
Name_Not_Found :03/08/15 19:19 ID:5Rqdx1Ds
>>464 悪い。お前もあぼーん対象になってるよ。
467 :
Name_Not_Found :03/08/15 19:59 ID:MGT+ZPyA
ボタンを作り、それを押すとストップウォッチのようにカウントアップを 検索したりして見つけ、ミリ秒で表示させるように出来ました。 次に、それをゲームなどで言う「フレーム」で表示したいなと思いまして 1秒=60フレーム なのですが、方法が分からず今は、 var x = document.form.name.value; // document.form.name.valueがミリ秒表示 if (x > 17) { y = 1 } // y はフレームで表示 else if (x > 34) { y = 2 } // 1000ミリ秒÷60=16.666... なので・・・ else if (x > 50) { y = 3 } // こんな感じで地道にやってます 何か良い方法はありますでしょうか、よろしくおねがいします。
ミリ秒単位ではできてるのね。したら割算した 後でMath.floor()で切捨てて整数にすればいい。 var frameno = Math.floor(1000*60/msec);
>>467 >1秒=60フレーム
何か違う気もするが。
昔はVSyncとか見てやってたけど、今はどうなんだろうね?
>>467 こう書けるぞ?
y=Math.floor(x/1000*60);
>>468 違うだろ?
471 :
Name_Not_Found :03/08/15 20:37 ID:MGT+ZPyA
470さんので出来ました! 返答してくれた皆さんありがとうございます。 Math ってこういう時に使うのね とほほのを見ても全く分からず、数学的な計算させる時なんて無いと思ってました Math.floor だと繰り下げなので、 ブラウザに表示されるのは実際より極わずか遅い値になるって事になるのかな? それとミリ秒のほうを止めた時の挙動で、表示される値が同じになる事が多いです。 それとは逆に止まらない値もあったりして、PCの性能によって変わるのでしょうか? (例:234 と 250 は止まりやすく、その中間の値では絶対に止まらない)
250-234=16
そもそもどうやってミリ秒を求めているの?もちろん、「単位が」 ミリ秒だからといって精度がミリ秒までない(たとえば一定数ずつ 増える)こともあるけどね。
そもそもJavaScriptの時間管理に制度を求めては行けない。
Flashで作ったミリ秒表示のストップウォッチは、 結構ちゃんと動いてくれるんだけどなぁ(FlashMX体験版に入ってたサンプルとか)
>次に、それをゲームなどで言う「フレーム」で表示したいなと思いまして >1秒=60フレーム なのですが、方法が分からず今は、 これは初期のテレビの仕様。インタレース方式の全画面描画(2往復)が30分の1秒で 1往復=1フレームとして60分の1秒。
しつもん〜 <script type="text/javascript" src="script.cgi"></script> みたいに、Javascriptのファイルがcgiで書き出したテキストでも有効でしょうか?
初心者質問スレで質問したところこちらの方がいいとアドバイスされたものです。 今、自分のブラウザのホームページを自作している最中なのですが、 検索フォームを設置する際に、ラジオボタンで検索に使用するサイトを選ぶような形のフォームを設置したいのです。 AAでかくと、 ┏━━━━━━━━━━━━━━━━━━━┓ ┃┏━━━━━━━━━━━━┓┏━━━┓┃ ┃┃(検索語句を入力する場所) ┃┃検索!┃┃ ┃┗━━━━━━━━━━━━┛┗━━━┛┃ ┃ ...... ┃ ┃○Yahoo JP ○Yahoo EN ○Google ..... ┃ ┗━━━━━━━━━━━━━━━━━━━┛ こんなのが作りたいんですが、formタグにデフォルトのサイトを入れて、後は、ラジオボタンが選択されたとき検索に使用するサイトを 変えるのをJavaScriptで制御すればよいとおもうのですが、Scriptはどのようなソースを書いたらいいでしょうか? 指針のみでもよいので、どうか皆様のアドバイスお願いします。
481 :
477 :03/08/15 23:11 ID:???
script.cgiの中身は #!/usr/local/bin/perl print"Content-type:text/plain\n\n"; print"document.write('<h3>こんにちは</h3>');"; exit; みたいな感じで。。。 てか今やってみたら一応ちゃんと表示出来たんですけど、 サーバやブラウザによっては駄目な場合とか考えられるでしょうか?
>>479 input type="radio"のonclickにformのactionの値を変える関数をセット。
コードは書くのメンドイ。
483 :
479 :03/08/15 23:12 ID:???
>>480 そうかもしれません。初心者スレでも言われたので。
何か少しでもよいのでご教示いただきたいです。お願いします。
>>481 サーバーは特に関係ないと思われ。
ブラウザはJavaScriptOFFまたは非対応ならCGIは呼ばれもしない。
# Content-typeはtext/javascriptの方が良いかもしれん。
# 変わんないと思うけど。
485 :
479 :03/08/15 23:18 ID:???
>>482 レスありがとうございます。
formのactionの値を変える関数が分かれば何とか作れそうです。
formのactionの値を変える関数は自分で考えてみます。
ありがとうございました。
486 :
479 :03/08/15 23:25 ID:???
すいません、値を変える関数はifを使えばよいのでしょうか?
>>486 ワロタ。
好きに書けばイイじゃん。自分用なんだから。
488 :
479 :03/08/15 23:27 ID:???
>>487 ごめんなさい。本気で分からないんです。
もっと合理的なものがあるんでしょうか?
490 :
479 :03/08/15 23:32 ID:???
>>489 いえ、ネタじゃないんです。
今、値を変える関数とぐぐったら、if構文と出てきたので、それをいろいろ試してみたのですが、
行き詰ってしまいました。
ドコまで書いたかソース貼ってみそ。
493 :
479 :03/08/15 23:42 ID:???
<script type="text/javascript"> if </script> <INPUT type="radio"> 正直言いますと、まだここまでしか書いてません。
494 :
479 :03/08/15 23:43 ID:???
ごめんなさい。
くだらん はい、次
ワロタ。
497 :
479 :03/08/15 23:48 ID:???
>>495 >>496 あの、本気なんです。
正直言って、javaScriptはまだ使ったことがないですが、それでも何とか作ってみたいんです。
せめてその関数の名前だけでも教えてください。そしたらとほほでその関数だけを集中的に勉強してきます。
498 :
479 :03/08/15 23:51 ID:???
<script type="text/javascript"> if </script> <INPUT type="radio" onclick="何か"> 今勉強したところ、 ここに何かが来そうなのですが…。それがその関数なのかもしれません。
500 :
479 :03/08/15 23:55 ID:???
>>499 ありがとうございます。
window.document.form.submit()
を使えばいいみたいですが、間違えてますか?
>>500 つまり、1から10まで教えろと。そう言っているのだな?
502 :
479 :03/08/15 23:58 ID:???
>>501 すいません。
そんなこと無理ですよね。
私にちょっと知識があればと、とても残念です。
ごめんなさい。
なんだか479タンがかわいそうになってきたよ・゚・(ノД`)・゚・
かわいそうだけど舐めてるとしか思えないな。 基本から勉強するんだ。
>>502 ソース誰かに書いてもらえば?
もちろんここ以外の人で。
とほほ・・・
煽っても無駄。 次どぞ。
509 :
479 :03/08/16 00:50 ID:???
>>506 分かりました。
これを機に1から勉強してきます。
ただ、このスクリプトだけはどうしても早めにほしいので、これだけは他人に頼ってみます。
これから作るときは、基礎から勉強して自分で汲めるようにします。
ありがとうございました。
511 :
null :03/08/16 10:38 ID:n7tnfWb1
Google で
・ Key : 'serch engine'
・ 日本語のページを...
の条件で serch してみると, URI は次のとおり:
http://www.google.co.jp/search?q=serch+engine&ie=Shift_JIS&hl=ja&&lr=lang_ja このことから...
・ 'q=serch+engine' <-> serch key
・ 'ie=Shift_JIS' <-> charactor code
・ 'hl=ja' <-> (何かが日本...僕にはこれの意味が理解できない )
・ 'btnG=Google+%8C%9F%8D%F5' <-> ( これも何を意味しているのだろう ?)
・ 'lr=lang_ja' <-> (何かが日本語 ?)
サーチサイトの URI の後ろに ' ? ' をくっつけて,
上記のパラメータを ' & ' でつないでアクセスしてやれば良いと想像できる.
(ただし,不明な部分を省略した場合,どうなるかは不明.)
この不明な部分さえ解明できれば,あとは form 操作の問題として解決できそう...
だれか不明な部分の意味を説明できる人,居ませんか ?
513 :
null :03/08/16 10:50 ID:n7tnfWb1
補足: www.google.co.jp/search?q=サーチキー で,一応サーチはできるみたい.
>>511 serch key 以外は常に一定なんだから、それらを理解する必要ないだろ。
515 :
null :03/08/16 11:26 ID:n7tnfWb1
>>514 >serch key 以外は常に一定
なるほど !
コレは耳寄りな情報ですね.
となると,サーチサイトごとのクセさえ掴めれば,
#479 氏の希望の script は簡単にできることになりますね !
ここか初心者スレの過去ログ調べれば確実に載ってる <複数の検索エンジンの選択
517 :
null :03/08/16 11:40 ID:n7tnfWb1
取り合えず, Google だけで,実験 form 作ってみます. あとは #479 氏の応用力しだいと...
// biglobe
"
http://cgi.search.biglobe.ne.jp/cgi-bin/search " => "q",
// msn
"
http://search.msn.co.jp/results.asp " => "q",
//lycos
"
http://wisenut.lycos.co.jp/ " => "q",
// excite
"
http://www.excite.co.jp/search.gw " => "search",
// fresheye
"
http://search.fresheye.com/ " => "kw",
// dion
"
http://dir.dion.ne.jp/LookSmartSearch.jsp " => "QueryString",
// infoseek
"
http://www.infoseek.co.jp/Titles " => "qt",
// excite
"
http://apple.excite.co.jp/search.gw " => "search",
// hi-ho
"
http://search.hi-ho.ne.jp/search.hiho " => "query",
// so-net
"
http://so-net.excite.co.jp/search.gw " => "search",
// odn
"
http://search.odn.ne.jp/LookSmartSearch.jsp " => "QueryString",
"
http://search.odn.ne.jp/explore.jsp " => "key",
// netscape
"
http://search-intl.netscape.com/ja/google.tmpl " => "search",
"
http://search.netscape.com/nscp_results.adp " => "query",
// tocc.co.jp
"
http://www.tocc.co.jp/search/servlet/SearchServlet " => "QRY"
521 :
null :03/08/16 15:10 ID:n7tnfWb1
とりあえず,Google と Yahoo で実験成功.
<head>
<script type="text/JavaScript"><!--
Site=new Array;
Prm=new Array;
Site[0]='
http://www.google.co.jp/search?q= ';
Prm[0]='&ie=Shift_JIS&btnG=Google+%8C%9F%8D%F5&lr=lang_ja';
Site[1]='
http://search.yahoo.co.jp/bin/search?p= ';
Prm[1]='';
function serch(){
l=document.forms[0].elements['site'].length;
for(i=0; i<l; i++){
if(document.forms[0].site[i].checked)
n=document.forms[0].site[i].value
}
uri=Site[n]+document.forms[0].elements[0].value+Prm[n];
window.open(uri);
}
//--></script>
<title>Exam</title></head>
522 :
null :03/08/16 15:11 ID:n7tnfWb1
<body> <form method="post" action="#"><!--form0--> Serch Key: <input type="text" value=""> <input type="button" value="serch" onClick="serch()"><br> <input type="radio" value="0" name="site" checked>Google <input type="radio" value="1" name="site">Yahoo <input type="radio" value="2" name="site">Hoge </form> </body>
523 :
null :03/08/16 15:14 ID:n7tnfWb1
524 :
479 :03/08/16 16:02 ID:???
GETじゃなくてPOSTでやりたいのですが・・・
>>524 GoogleにPOSTでも受け付けてくれるように頼めば?
526 :
479 :03/08/16 16:08 ID:???
527 :
479 :03/08/16 16:09 ID:???
>>525 GoogleのときだけGETでできないんでしょうか?
馬鹿(= null)にはできない.
529 :
null :03/08/16 16:18 ID:n7tnfWb1
>>524 (
>>479 )
ここでの method="" は単なるデータ field を作るための形式に過ぎません.
(極端な話,省略してしまっても動作上の影響はないはずです.)
ご存じかと思いますが,
CGI へのデータ受け渡しは,form で真っ正直にやる方法のほかに
URI の後ろに ' ? ' を付けてそれに引き続いてパラメータをつなげて
アクセスする方法があります.
今回はその方法を使う事にしました.
530 :
479 :03/08/16 16:30 ID:???
知ってるよそんなこと
正直nullって馬鹿だね。
ぬるぬるしてるからな。
NullPointerException
スルー
バカは仕方が無いけど、知ったかぶりで初心者に教えんのは勘弁。 オブジェクトはarrayとかさ。間違った知識覚えるからマジ勘弁して欲しい。
>>536 >オブジェクトはarrayとかさ。間違った知識覚えるからマジ勘弁して欲しい。
見てたけどこんな超弩級のあほなこと言ってた奴は居なかったぞ。
538 :
536 :03/08/16 23:40 ID:???
>>537 >>401 >それと JavaScript では object が
>array 形式で表されることが多い事を理解していますか ?
「JavaScriptではすべてのオブジェクトは連想配列の機能を 持っている」とかならいいんじゃないの。もしかしたら日本語 が不自由で正確に書けないとかさ。
>>539 解ってる連中同士の会話なら言葉のアヤで済むけど、
連想配列と配列と標準オブジェクトArrayの区別が付いてないのが
(本人は解ってるかも知れないけど、質問者が誤解するかもしれないという意味で)
この手の質問スレの解答としては不適切。
543 :
null :03/08/17 04:46 ID:LxuZTXpq
>>528 ,
>>531 あなたがたに捧げます.
試してくれなきゃ泣いちゃうから !
<html>
<head>
<script type="text/JavaScript"><!--
function exam(){
if('null'=='馬鹿')
alert("I'm clever.");
else
alert("Oops !\rI'm stupid !!!");
}
//--></script>
<title>Exam</title></head>
<body>
<form method="#" action="#"><!--form0-->
<input type="button" value="exam" onClick="exam()"><br>
</form>
</body>
</html>
>「JavaScriptではすべてのオブジェクトは連想配列の機能を >持っている」 はぁ?
ECMA-262 ed.3より。 8.6 The Object Type An Object is an unordered collection of properties. Each property consists of a name, a value and a set of attributes. (中略) Every object (including host objects) must implements the [[Protype]] and [[Class]] properties and the [[Get]], [[Put]], [[CanPut]], [[HasProperty]], [[Delete]], and [[DefaultValue]] methods. (同じページの表) [[Get]](PropertyName) Returns the value of the property. [[Put]](PropretyName) Set the specified property to Value. この先長くなるからはしょるけどo[p]への参照/代入はオブジェクト oのプロパティpへの[[Get]]/[[Put]]に対応させられる。
えーん間違えた。 [[Put]](PropertyName, Value) Set the specified property to Value.
連想配列という言葉もコレクションという言葉もECMAには 現れていない。で、連想配列とかコレクションという言葉 の定義をしてみるかね?
>>550 コレクションと連想配列の違いの解説キボーン。
結構
連想配列は簡単だよ「文字列をキー(添字)として使える配列 (のようなもの)」もっといい定義ある?
コレクションというのはDOM用語(例:HTMLCollection)であって JavaScriptそのものの用語じゃないんじゃないかなあ。 プログラミング言語一般でいってもJavaのCollecitonフレーム ワークみたいなのを指すからちょっと違うし。
>>555 >コレクションというのはDOM用語(例:HTMLCollection)であって
違います。
Collectionは、ある要素を構成要素とするグループ。 一般に、任意のオブジェクト型を格納出来るクラスとして実装されている。 連想配列は、添え字に文字列を使用できる配列。 じゃないかなぁ?自信ないけど。
んなもん言語によりけりだよ。 Collectionと名前がついていればCollectionほかならない。
559 :
Name_Not_Found :03/08/17 14:32 ID:jUL3Axi1
質問です。 JavaScriptで用いる変数名やキーワード、メソッド名やプロパティ名の 制限が解りません。例えばサブウィンドウIDの指定に"1"とかやっていいのかとか…。 宜しくお願いします。
560 :
null :03/08/17 15:16 ID:LxuZTXpq
>>559 意味的には「"1"」というプロパティ名は可能だけど構文上
「o.1」と書くことができない。「o["1"]」と書けば大丈夫。
変数名に数字は無理だろ。「i = i + 1;」は1を足しているの、
それとも1という変数の内容を足しているの、どっちのつもり?
質問でもないのにageるのやめてくれないかな。
563 :
Name_Not_Found :03/08/17 16:12 ID:f5pAHRHh
>>562 同意。「null」 いい加減にしてくれ。
【速 報】 リンクアンカーに触れるとマウスカーソルが十字になるサイト、 最近多いよね。あれって一体何がしたいの?本人はカッコつけてる つもり なんだろうが、背景に埋もれてカーソルが見えなくなるし、 クリックするとページが移動できるのかどうかも一目で分からない。 完全に無意味だと思う。 もっと良いリンクカーソルはあるはずだ。 皆で+カーソルを滅亡させよう。
全然速報じゃないから無視
568 :
null :03/08/17 21:08 ID:LxuZTXpq
無視されているのはどっち ? (ボソ)
こっち ? (ボソ)
570 :
Name_Not_Found :03/08/17 21:26 ID:f5pAHRHh
2chではageもsageも自由。 納得できない奴は、2ch以外で自分で掲示板をつくれ。
なに昇せてんだ,坊や.
次の質問どぞー。
次の質問かかってきやがれ。
574 :
Name_Not_Found :03/08/18 10:01 ID:XSJljZBP
質問させて頂きます。 リンククリックで、サブウィンドウを開くようにしているのですが、 JSをオフ/未対応のUAにも対応させる方法を教えて下さい(別ウィンドウです)。 returnを使うという事まではなんと無く解ったのですが… 宜しくお願いします。
575 :
Name_Not_Found :03/08/18 10:52 ID:5iuB8LW0
質問お願いします 以下のウインドウ振動スクリプトを組みました。変数kaisuuを5回処理すると 振動がストップします。 再度purupuruWin()を実行させた時にも振動させるにはどうすればいいですか? <script lauguage="javascript"><!-- x=new Array(1,3,-6,8,-1,-7,5,-3); y=new Array(-3,6,-3,1,-9,-2,8,2); count=0;kaisuu=0; purupuruWin = function(){ if(x[count]!=0){moveBy(x[count],y[count])}; count++; if(count>=x.length){count=0;kaisuu++}; if(kaisuu>=5){kaisuu=0;x=0;y=0;}; timer = setTimeout("purupuruWin()",10); } //--></script>
>>574 <a target="_blank">とか?
>>574 <a href="開くURI" target="_blank" onclick="JSコード; return false">開く</a>
>>575 再度purupuruWin()を呼ぶ前にcount=kaisuu=0;を実行すれ。
>>575 purupuruWin()の最後2行くらい
if (kaisuu >= 5) kaisuu = 0;
else timer = setTimeout("purupuruWin()", 10);
579 :
Name_Not_Found :03/08/18 12:04 ID:5iuB8LW0
575です。
できました>>577-
>>578 感謝です
574です。>>576-
>>577 そうです、レス有難うございました。
(前略) <scipt type="text/javascript"><!-- Max = 9; Num = 1; function next(){ Num++; if(Num > Max){ Num = Max; } document.images[0].src = Num + ".jpg"; currentNum.innerHTML = Num + ' of ' + Max; } function prev(){ Num--; if(Num < 1){ Num = 1; } document.images[0].src = Num + ".jpg"; currentNum.innerHTML = '全' + Max + '点中の' + Num + '点目の写真'; } //--></script> </head> <body> <h1>見本</h1> <p><a href="javascript:prev();">前の写真</a> <a href="javascript:next();">次の写真</a></p> <h2 id="currentNum">全9点中1点目の写真</h2><!-- --> <p><img src="1.jpg" alt="商品写真"></p> (後略)
582 :
581 :03/08/18 17:55 ID:???
質問です。
複数の画像を順に閲覧することのできるページが必要になり、
>>581 のような
ページを作成したのですが、
1.画像を入れ替えても、「全*点中の*点目の写真」という文字列が入れ
替わらず、最初のまま。(Netscape4.75、Netscape7.0、Opera6.05)
2.画像のサイズが途中で変わっても、以前と同じサイズで画像を表示し
続けるので、表示が乱れる。(Netscape4.75、Opera6.05)
という不具合が生じてしまいます。
改善方法があればご教示ください。よろしくお願いします。
583 :
null :03/08/18 18:07 ID:TKz/yZpp
( ´,_ゝ`)プッ 2ch
質問です JavaScriptでセレクトフォームから複数の情報を取得したいのですがうまくいきません。 具体的には、セレクトフォームで「おとうさん」という項目を選んだら、 テキストフォームに、性別「男」、年齢「30」、趣味...と複数の情報を表示したいのです。 document.form.select.value では、ひとつの情報しか取得できないので、何か解決策はありませんか?
>>585 こういうこと?
<script type="text/javascript"><!--
var sexA = new Array("","男","女","男");
var ageA = new Array("","30","28", "65");
var hobA = new Array("","釣り","料理","ゲートボール");
function test(){
var num = document.f.s.options.selectedIndex;
document.f.sex.value = sexA[num];
document.f.age.value = ageA[num];
document.f.hob.value = hobA[num];
}
//--></script>
</head>
<body>
<form name="f">
<select name="s" onchange="test()">
<option>選ぶ</option>
<option>お父さん</option>
<option>お母さん</option>
<option>じいちゃん</option>
</select><br>
<input type="text" name="sex"><br>
<input type="text" name="age"><br>
<input type="text" name="hob"><br>
</form>
587 :
585 :03/08/18 23:27 ID:???
588 :
581 :03/08/19 00:03 ID:???
>>583 独自拡張ではないプロパティでやるとしたらどういう方法があるでしょうか。
>>588 HTMLElement.appendChild(docment.createTextNode("hoge")); とか
>>588-589 もしN4まで対応が必要だったら別窓にするかフレーム切るかして
document.writeでその中身を(imgタグや説明文など一式)書き出す
のがいいんじゃないですかね。innerHTMLはGeckoやOpera7も対応
してますから、N4を捨てるなら使ってもいいんじゃないの。その
場合はimgタグのsrcだけ取り替えてるのをやめて、imgタグ全体
をinnerHTMLで書き込むようにしてみたらサイズ固定されちゃう
問題は解消するんじゃないかと。
591 :
589 :03/08/19 00:30 ID:???
あ、ごめん。NN4はNN4独自拡張のLayerにdocument.writeしなければならない。 Operaはよく知りません。
592 :
581 :03/08/19 02:10 ID:???
ご教示ありがとうございます。
>>590 NN4への対応は「できれば」ぐらいに考えています。
フレームは管理が面倒、別窓はタブブラウザで閲覧した場合に不具合が
生じそうなので、使わない方向で。
> innerHTMLはGeckoやOpera7も対応してますから
>>581 のソースをNetscape7で確認したところ、innerHTMLが効いてないみたい
なんですが、なにか書式に不備があるのでしょうか。
>>589 ,
>>591 上記の通り、NN4への対応はあまり考えていないのですが、
HTMLElement.appendChild(docment.createTextNode("hoge"));
を、ソースのどこに書けばよいのかわかりません。
(検索してみましたが、わかりませんでした……)
具体的にご教示いただければさいわいです。
593 :
581 :03/08/19 02:14 ID:???
補足すると、 「いま見ている画像が、全部で何枚ある内の何枚目なのか」 を、利用者がわかるようにしたいのです。 画像自体を加工して番号をつければよいのですが、それだと手間が増えて しまい、スクリプトで一括処理できるメリットが半減してしまうので…… よろしくお願いします。
>>591 >いま見ている画像が、全部で何枚ある内の何枚目なのか
僕ならば 対象の URI を array にぶち込んでしまう.
そうすれば変更・追加は簡単だし,
総数は .length で簡単に求まるでしょ ?
" 何枚目 " と言う表示も簡単にできると思うけどいかが ?
>>581 後は自分で調べ、悩み、考える。
<script type="text/javascript"><!--
Max = 9;
Num = 1;
d = document;
function swapImg(n){
if(!(Num += n)) Num = Max;
else if(Num > Max) Num = 1;
d.images[0].src = Num + ".jpg";
if(d.all) h2o = d.all.currentNum;
else if(d.getElementById) h2o = d.getElementById("currentNum");
h2o.innerHTML = '全' + Max + '点中の' + Num + '点目の写真';
}
//-->
</script></head>
<body>
<h1>見本</h1>
<p><a href="javascript:swapImg(-1);">前の写真</a> <a href="javascript:swapImg(1)">次の写真</a></p>
<h2 id="currentNum">全9点中1点目の写真</h2><!-- -->
<p><img src="1.jpg" alt="商品写真"></p>
>>592 それ(
>>581 のソースがN7で動かない)のは当然で、id振ったらそれが
速変数みたいに使えるというのがIE専なのね。クロスブラウザ対応
目指すなら必ずgetElementByIdを呼んで取るようにするべき。
「document.getElementById('currentNum').innerHTML = ...」
それで、innerHTMLを使うんだったらimgタグから全部突っ込んだ
方がいいんじゃないですかね。
document.getElementById('どっかのID') = '<p><img src="' +
画像ファイル名 + '">' + 説名文 + '</p>';
.setAttribute に class を指定しても適用されないのでしょうか?
>>597 それはふつー
「document.geteElementById('ID名').className = 'クラス名';」
これが用意されているのにsetAttributeを使っても同様に変更できる
のかどうかは知らない。
>>598 さん ありがとうございます。
最近DOM?を覚え始めて元々それが用意されてるとは知りませんですた。
d.createElement("td") に setAttribute で class を使いたかったのですが、
今は idで凌いでます。
他にも変な所あると思うのですが何処かUpLoaderにあげたら見てもらえるでしょうか?
別に見るのはいいけど具体的な質問がないと「ヘンな所」とか いわれてもコメントするのは難しいかも。
601 :
599 要点だけ晒し :03/08/19 13:16 ID:QL4WaJrP
http://up.isp.2ch.net/up/e64df9cadc88.html checkbox が ON の時、d.createElement("td")でデータを表示し
OFF の時、d.getElementById.removeChildで削除しているのですが、
"ON"にした状態で F5(リロード)をしてから"OFF"にすると、
消したくない最初に表示されている所まで消してしまいます。
var Flg = 0; としてから else if (Flg==1) { 〜.removeChild
とか色々やってみたのですが駄目ですた・・・
onloadでチェックボックスをoffにするとか。
>>601 表示非表示の切替えをinsert/removeでやるのは過激なんじゃないの。
style.visibilityをvisible/hiddenの間で切替えるとかして要素数は
変えない方が無難じゃないですかね。DOMといってもDOM2 CSSの方ね。
>>601 window.onloadに初期化処理を入れる
DOMを使うなら全部DOMにしとけ。
classとidは数字で始まらない。
605 :
599 要点だけ晒し :03/08/19 14:25 ID:QL4WaJrP
borderまで消したいならstyle.displayのnoneとblockで切り替える。
607 :
Name_Not_Found :03/08/19 21:28 ID:JDYw7Lmx
質問です。 ページを開いたときに、 ページ内の特定の位置を表示する方法を教えてください。 (リンクでアンカーをつけるのではなく、htmlをひらくと 同じページ内のその場所にジャンプする)
>>607 その特定位置にidかアンカーを指定しておくのは許されるの?
>>607 >>608 も言っていますが、ページ内にID付けといて(ID無しのURLで開いたら)
自分ページ内のIDに向かってリダイレクトが良いのでは、と。
>>607 >htmlをひらくと同じページ内のその場所にジャンプする
" その場所 " をファイルの一番上にレイアウトする.
onloadでlocation.hashあたりに代入するんかな。
>>611 ぬるは禿げしく痛いな。
レスを付ける都度、ヴァカさ加減を露呈しているということに羞恥心は反応せんのか?
まぁそれすら気付かないからコテハンなんだろうがな。
たまには自分の言葉で具体的なソースを晒してみろ。
勿論しったか野郎には出来るわけがナイだろうが、それでも一応煽っておいてやる。
●コテハンはデフォルトで馬鹿。 ●さらに、馬鹿を騙る香具師なんて相当なチャレンジャーなのに、 わざわざトリップをつけるのは、かなりの自意識過剰馬鹿。 ●そして、トリップに自分の好きな文字が出るようにトリップを検索していれば 激しく馬鹿。
cookieのデータが、「キー!値,キー!値,キー!値」の形式で入っていまして、 これをPerlで以下のように、読み込んでます。 #============================================================================= # &cookie_read(クッキー名); # 読み込まれたデータはグローバルな連想配列$cookie{'キー'}に格納されている #----------------------------------------------------------------------------- sub cookie_read { my($cookiename) = $_[0]; my($key,$value); my(@pairs) = split(/;/,$ENV{'HTTP_COOKIE'}); foreach (@pairs) { ($key, $value) = split(/=/, $_); $key =~ s/ //g; $DUMMY{$key} = $value; } @pairs = split(/,/,$DUMMY{$cookiename}); foreach $pair (@pairs) { ($key, $value) = split(/\!/, $pair); $cookie{$key} = $value; } } で、これと同じことを、JavaScriptでやる必要がありまして・・・ (長いので、次のレスに続きます)
616 :
Name_Not_Found :03/08/20 13:18 ID:AtKW/e88
(
>>615 のつづき)
で、以下のように、やったのですが、
<script language="javascript" type="text/javascript">
<!--
function cookie_read(cookiename){
DUMMY = new Array();
COOKIE = new Array();
wholecookie = document.cookie;
pairs = wholecookie.split(";");
for (i = 0; i < pairs.length; i++) { //foreachがJavaScriptにはないのでfor文で。
keyvalue = pairs[i].split("=");
key = keyvalue[0];
value = keyvalue[1];
key.replace(/ /, "");
DUMMY[key] = value;
}
pairs = DUMMY[cookiename].split("!");
for (i = 0; i < pairs.length; i++) { //foreachがJavaScriptにはないのでfor文で。
keyvalue = pairs[i].split("!");
key = keyvalue[0];
value = keyvalue[1];
COOKIE[key] = value;
}
}
cookie_read("foo");
alert(COOKIE["hogehoge"]);
// -->
</script>
で、 pairs = DUMMY[cookiename].split("!");の行で、
「DUMMY[cookiename] has no properties」と怒られてしまいます。
いったいどこがおかしいのでしょうか?
>>616 replaceはそれを呼び出す文字列(オブジェクト)の値自体を変更しないよ。
618 :
616 :03/08/20 16:58 ID:???
>>617 どもです。どうもperlとJavaScriptがごっちゃになってる・・・
でも、
key.replace(/ /, "");
を、
key = key.replace(/ /, "");
に代えたものの、
エラーメッセージが全く変わらないです。。。どなたかお助けを。。。
>>616 なんで2回も ! でsplitしてるの?
お前には教えてやんね。
>>615 >「キー!値,キー!値,キー!値」の形式で入っていまして、
キーは一つで十分だと思います.
しかし,フォーマットの変更ができないのなら,
X=document.cookie.split(',');
てな感じで,'キーn!値n' を取り出して,
次にキーと値を分離させるしかなさそうです.
622 :
619 :03/08/20 19:50 ID:???
ちゃんと言うと、 pairs = DUMMY[cookiename].split("!"); は pairs = DUMMY[cookiename].split(",");
623 :
581 :03/08/20 20:43 ID:???
624 :
Name_Not_Found :03/08/20 23:38 ID:zfb0CAdh
こんばんわ。
ちょっと教えていただきたいのですが、
http://game.gr.jp/justnet/javascript/sample/b09/b09.htm このページのスクリプトを使用させてもらっているのですが、
このスクリプトを使うと、指定した画像でなく
HTML上の一番最初にある画像が切り替わってしまいます。
いま私が作っているページは多くの画像を使用しています。
(例のページは切り替わる画像以外
なにも画像が入っていないのでうまく切り替えができています。)
何とか指定した画像を切り替えたいのですが、どうすれば
よろしいでしょうか?テキストエリア内のコメントも切り替えつつ
これはできるものなんでしょうか?
お願いします。
>>624 changImg1(0,0); /* ここ */
changeImage(0, 1)とかの「0」を別の番号にしてみなされ。 0だから最初の画像が変わるんでしょ。
627 :
Name_Not_Found :03/08/21 09:05 ID:Y+Krb0bO
気にいったサイトを丸ごとツールでダウンロード保存しています。
ツールでDLしただけだとページやファイルへのリンクがうまく行かない事も
稀ではなく、別のDLツールを使用したりソースを書き換えたりして対応して
います。
ただJavaScripやcgiを多用したサイトですと、もともとWebに関する勉強を
したことがない私などには理解出来ず、本家コンテンツと同様に動作させる
ことが出来ずにいます。
function medium(num) {
var no = "100";
var width = 500;
var height = 420;
if (screen) {
y = (screen.availHeight - height)/2 -20;
x = (screen.availWidth - width)/2;
}
var this_win = window.open('view.cgi?no=100&show='+num,'medium',
'width='+width+',height='+height+',screenX='+x+',screenY='+y+',top=
'+y+',left='+x+',toolbar=no,location=no,status=no,menubar=no,scrollb
ars=yes,resizable=yes,');
this_win.focus();
}
〜中略
<a href="javascript:medium('01');"><img src="
http://_ ボタンをクリックすると”view.cgi?no=100&show='+num”のファイルが
サイズが指定されている別ウィンドウで開くようにしたいのですが、ソース
を書き換えして動作させる事は可能でしょうか?
長文で申し訳ありません。
>>627 意味がよくわからんな。
イメージをクリックすれば動作するんじゃねーの?
イメージをボタン<input type=button>にしたいってことなのか?
629 :
627 :03/08/21 10:11 ID:???
「view.cgi?no=100&show=XX」(Xは数字)というファイルをDLしており、ボタン クリックで500×420の別windowに表示される筈が、空のウィンドウが開いた後 ”ファイルがみつかりません”となってしまいます。 "javascript:medium('01');"が該当ファイルにたいする記述のようですが、「vi ew.cgi?no=100&show=XX」の”XX”を”01”に変えてもダメでした。
ん?違ったか? view.cgi の出力もローカルに保存したいという事だったか? だったら同じディレクトリに view.html とでもして保存し、 下の行を書き換える。 × var this_win = window.open('view.cgi?no=100&show='+num,'medium', ○ var this_win = window.open('view.html,'medium',
632 :
627 :03/08/21 11:59 ID:???
ええ、その部分御指摘のように書き換えてみたんですが、ダメでした。 抜粋部以外でからんでくるソースでもあるんですかね? 考えが根本から違っているようでもなさそうなんで勉強してみます。 丁寧なレスくださりありがとうございました。
>>632 ソースだけ書き換えてもな。
>「view.cgi?no=100&show=XX」(Xは数字)というファイルをDLしており
のファイル名は何よ?
コイツのファイル名を入れてやらなきゃダメな訳だが
そこら辺確認してみ。
634 :
627 :03/08/21 15:10 ID:???
たびたび申し訳ありません。 ファイル名は「view.cgi?no=100&show=01」から「view.cgi?no=100&show=32」 でDLされてきました。 html16ページにこれらのファイルが各2つづつリンクされているような構成です。 "javascript:medium('01');"の部分が"javascript:medium('32');"までなんで この記述も何らかの書き換えが必要なのかと思われたのですが、書き換えると 別ウィンドウ(中は空白ですが)さえも開かなくなったりで上手くいきません。
>>634 面倒だが、とりあえずファイル名を変えなきゃイカンな。
例: view数字.html 又は 数字view.html
"数字"はshow=01 の数字。
view数字.html なら
var this_win = window.open('view'+num+'.html','medium',
数字view.html なら
var this_win = window.open(num+'view.html','medium',
Winはファイル名に"?"とか使えないんだが Macってこと?
636 :
Name_Not_Found :03/08/21 16:11 ID:WUd5ZgO9
グローバルな置換ってどうやるんですか? replaceだと最初にマッチしたのしか置換されないんで・・・。
638 :
636 :03/08/21 17:50 ID:???
>>637 情報thxです。
やっぱmatchでやるしかないんですかね。
replaceのグローバル置換ないのかなぁ。
640 :
627 :03/08/21 18:29 ID:???
>>635 おっしゃる通りマック環境です。
教えて頂いた記述をコピぺで控え、後程やってみます。
本当にありがとうございました。
641 :
638 :03/08/21 18:45 ID:???
>>639 さっそくの返答どうもです。
それでできましたー。多謝。
642 :
Name_Not_Found :03/08/21 20:18 ID:hsKpJIYI
メールフォームなんですが、 ごにょごにょ書いたあと、Submitボタンを押したあと、 通常は、確認画面がでますよね。 で、自分がやりたいことは、 その確認画面を、小さいNewWindowを開いてそこに表示させたいのですが・・・ 要は、乱暴な言い方しちゃうと、 window.open() と フォーム名.submit() を、同時に行いたいのですが・・・。 もちろん、この関数を使わなくても、前述のことができればOKです。 どうJavaScriptを組めばいいのでしょう? おわかりの方、お助け願えれば幸いです。
643 :
X7 :03/08/21 23:01 ID:U83elw0a
Aという名前のボタンが押されたら BとCがそれぞれb,cというアドレスに送られるようにするには どうすればいいでしょうか? <FORM ACTION="b" METHOD="POST"> <textarea name=1>B</TEXTAREA> <INPUT TYPE="submit" NAME="1" VALUE="送る"> <FORM ACTION="c" METHOD="POST"> <textarea name=1>C</TEXTAREA> <INPUT TYPE="submit" NAME="2" VALUE="送る"> <input type=button name="A" value="一気に送る"> 基本的ですんません
>>643 同時に送ることはできないでしょ(たぶん)。まず片方を
target指定して送り結果を隠しフレームにでも受けて、
そのonloadでもう一方に送るんじゃないかな。そういえば
過去ログのはるか古い奴にあったかも知れない。
基本だって?なんでそう思うわけ?上記の通りすっごく
難しいと洩れは思うが。
>>642 それはwindow.open()でまず小窓を開いて、formタグ
のtargetでその小窓の名前を指定すればいいんでは。
>>643 普通に、Form.submit() 2回でいいんでない?
但し2つのフォームはtargetを別々(隠しフレームとか新しいウィンドウ)にしとく
>>642 被るけどせっかく書いたから…。
<form action="..." onsubmit="open('', 'hoge')" target="hoge">
>>645 うーん、それで大丈夫だった?ちゃんと試してないけど、
1つ送信中にもう1つ送信開始しちゃうのは心配だったので…
>>645 >>643 はマルチでして、別のスレで回答するので移動します。
こちらでは答えないようにお願いします。
649 :
645 :03/08/22 01:27 ID:???
もう答えちゃってるし
650 :
Name_Not_Found :03/08/22 04:05 ID:ZtCec5Hg
JScriptのスレが見当たらなかったのでここで質問。 htmlがこんな風にエンコードされてソースがわからなくなってるが これをアンエンコードすることはできる? <html><script language = JScript.Encode>#@~^1AcAAA==@#@&NG1Es+xDRS.kD+cJ@!0.Cs+/ OPMWhkxv!u~Z]S!YSZ]SeE@*J*i@#@&9Wm;hxORS.bYnvJ@!0Dm: ・・以下略
本スレの過去ログのどっかにあったかと。
>>610 こう言う奴は、大抵自分が解ってないので、
相手に対して、どう解ってないか説明できない。
>>637 正規表現とかって難しいですね。
自分は
>>636 じゃないけど、こんな感じで良いのかな?
下の2行は両方同じ動きをするけど、if文のほうが速いだろうし断然良いっぽい。
// 変数Xの中に全角スペースが含まれている時それを全て削除
while ( X.match(" ") ) { X = X.replace(" ",""); }
if ( X.match(" ") ) { X = X.replace(/ /g,""); }
ifって別に要らないような…
656 :
654 :03/08/22 09:58 ID:???
で・・・ ですよね・・・ 例が悪いって言うより、漏れの頭が断然悪いっぽい 。・゚・(ノ∀`)・゚・。
657 :
627 :03/08/22 10:18 ID:???
>>635 さん。 昨日お世話になった627です。 教えていただいた書換え例
で試したところ本家サイト通りに動作するようになりました。
どうもありがとうございました!
658 :
Name_Not_Found :03/08/22 14:28 ID:PUNEoEnv
質問です。 <a href="#" onClick="wopen('文字列の引数')"> で、 文字列の引数の部分の引用符に、[ " ]を使っていたらエラーでした。その引用符を [ ' ]に直しただけで正常に動作したのですが、 JSで文字列の引数の引用符は[ ' ]でないといけないのですか? リファレンスのサイトでは、どっちでも良い、とあったのですが…。宜しくお願いします。
>>658 onclickを "" で囲ってるんだから、引数を "" で囲ったらマヅいだろ。
onClick="wopen('文字列の引数')"
か
onClick='wopen("文字列の引数")'
>>659 658です。・・・おお、なるほど。助かりました。原則的な所だ…
(ちなみに○dWireでウソを学んだ)
速レス、ありがとうございます!
Javascript の編集に便利なエディタってありますでしょうか? (キーワード毎に色分けなど)
>>661 漏れは秀丸(or サクラエディタ)を使ってる。
663 :
Name_Not_Found :03/08/22 16:35 ID:eqdqvRgc
お尋ね致します。 親フレームにページを読み込む為、 <a href = "javascript: parent.location.href = '読み込むページ'">移動</a> とやっていたのですが、今日突然効かなくなってしまいました。 何か設定をいじってしまったのでしょうか? どなたか教えて頂ければ幸いです。
>>663 突然?とりあえずJavaScriptはONになってる?
>>654 >// 変数Xの中に全角スペースが含まれている時それを全て削除
この目的のためには loop 処理はまったく必要がありません:
X=X.replace(/ /g,"");
単に上記のように書くだけでお〜けいですよ.
補足: ' 全角スペース ' などのように日本語文字コードが含まれる場合, まれに間違った処理をされることがあります. これは 2byte 文字の解釈が異なるブラウザがある事がある事が原因です. このような場合は該当する文字の前に back slash を書き加える事で回避できるようです.
668 :
663 :03/08/22 19:23 ID:QNmeQYVv
>>664 >>665 突然です。
サーバーというか自宅のローカル環境です。
top.location.href = ...
は認識するんですけど。
これといって心当たりはないんです。
<a href="javascript: これまでのコード; void(0)">...</a> としたら直らないかな?
670 :
Name_Not_Found :03/08/22 21:09 ID:bHzzUpqH
2chでAAを青く表示するための物ですが、何かと重宝しています。しかしhttpやwww.などつけないで表示してくれた方が便利なのです。
JavaScriptの事などまるで分からない私が、いろいろ試した結果、下から2,3,4行目を修正してhttpも、ftpも、wwwも表示させないよう改造できたのですが、
ピリオドがひとつだけどうしても消せません。何が間違っているのでしょうか?
<script language="JavaScript">
s="0123456789";s+="abcdefghijklmnopqrstuvwxyz";
s+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";s+="|+-*/=!#$%&^~\\|@`[]{}:;,.?";
function c(){
if(form1.radio1[0].checked){h=form1.radio1[0].value;}else{h=form1.radio1[1].value;}
w=form1.text1.value;v=form1.text2.value;l=form1.text2.value.length;
document.write(h+w+".");
for(i=0;i<l;i++){
if((v.charCodeAt(i)==46)&&((v.charCodeAt(i+1)==13)||(i+1==l)))
{document.write("&"+"#38;#46;");}
else{if(v.charCodeAt(i)==13){document.write("<br>"+h+w+".");i++;}
else{if(s.indexOf(v.charAt(i),0)>=0){document.write(v.charAt(i));}
else{document.write("&"+"#38;#"+v.charCodeAt(i)+";");}}}}}
</script>
<form name="form1"><input type="button" value="変換する" onclick=c();>
<input name="radio1" type="radio" value="
http:// " checked>http
<input name="radio1" type="radio" value="
ftp:// ">ftp
<input name="text1" type="text" value="www"><br>
<textarea name="text2" cols="40" rows=5></textarea></form>
> しかしhttpやwww.などつけないで表示してくれた方が便利なのです。 なら使うなよアホか
>>670 <form>
<textarea name="TextArea1" cols="40" rows=5></textarea>
<input type="button" value="そのまま表示" onclick="with (window.document) write(forms[0].TextArea1.value.replace(/\r?\n|\r/g, '<br>'));">
</form>
>>672 そのまま使うと変換されないのですが…?どのように使ったらよいのですか?
674 :
Name_Not_Found :03/08/22 22:55 ID:P2ppM8//
質問です。 引数の文字から、半角スペースを に変換したいのですが、 引数の文字.replace(""," ") の、検索文字には何を使えばいいのでしょうか?そのままスペースなどいれても 最初の文字のみしか変換しません。よろしくおねがいします。
replace(/ /g, " ");
>>674 >半角スペースを&nbsp;ハに変換したいのですが
x=x.replace(/ /g,'&nbsp;');
(&を 2byte 文字に置き換えているので注意)
677 :
670 :03/08/22 23:38 ID:???
自力で何とかしました。 <script language="JavaScript"> s="0123456789";s+="abcdefghijklmnopqrstuvwxyz"; s+="ABCDEFGHIJKLMNOPQRSTUVWXYZ";s+="|+-*/=!#$%&^~\\|@`[]{}:;,.?"; function c(){ if(form1.radio1[0].checked){h=form1.radio1[0].value;}else{h=form1.radio1[1].value;} w=form1.text1.value;v=form1.text2.value;l=form1.text2.value.length; document.write(h+w+""); for(i=0;i<l;i++){ if((v.charCodeAt(i)==46)&&((v.charCodeAt(i+1)==13)||(i+1==l))) {document.write("&"+"#38;#46;");} else{if(v.charCodeAt(i)==13){document.write("<br>"+h+w+"");i++;} else{if(s.indexOf(v.charAt(i),0)>=0){document.write(v.charAt(i));} else{document.write("&"+"#38;#"+v.charCodeAt(i)+";");}}}}} </script> <form name="form1"><input type="button" value="変換する" onclick=c();> <input name="radio1" type="radio" value="" checked> <input name="radio1" type="radio" value=""> <input name="text1" type="text" value=""><br> <textarea name="text2" cols="40" rows=5></textarea></form>
きたねーコードだなぁ
679 :
Name_Not_Found :03/08/23 01:28 ID:H0uRvjDY
なおさら負け
682 :
>>663 :03/08/23 02:54 ID:I3CdIeDZ
>>669 ありがとうございます、直りました!
でも不思議です。
コレって一体何が違うのですか?
おまじない 出来るから使う
>>663 の質問に対して
回答者の立場として問題はそこではなく、
なぜ突然動かなくなったかが重要だ。
きっとあれだ、あれ。
test ・ & ・ ・ < ・ >
>>675 >>676 出来ました。(スペースの関係で、質問文ドキュソでした)
レス有難うございました。
>>687 ソースを見ながら元の書き込み内容をチェックしました.
どうやら &***; がそのまま表示されないようです.
(ようするに普通の HTML ファイルと同様に扱われる)
訳ありなのでしょうが,ソースによっては見えないことになってしまう...
う〜ん,半端な仕様だ...
無知が悪い.
こんにちは 画面が表示されきったら自動的にCGIに情報を送信することって できますか? <form></form>を自動的に実行するようなことなんですが。
>>682-683 おまじないではなく動くようになる理由はちゃんとある。
でも激しくガイシュツなので書かない。ドキュソ脱出し
たければ過去ログ探して読むべし。
これは画像が表示されたらfunctionに飛ぶということでしょうか だとしたらform name、valueなどはどのように 記述すればいいんでしょうか?
正確にはform name、valueの値でした。 すいません
>>693 その飛んだ関数の中で必要ならフォームの値でもなんでも
設定してフォームのメソッドsubmit()呼ぶんでしょ。これで
分からなければチュートリアルサイト読んで勉強すれ。
ありがとうございました
697 :
690 :03/08/23 09:53 ID:???
わからなくなってしまいました
<form action=
http://XXXXXXXXXXXX/cgi/XXX.cgi method=POST>
<input type=hidden name=file value="XXX.txt" />
<input type=hidden name=ans value="1" />
<input type=submit value="送信" />
</form>
の情報をcgiに送信する場合どのように記述すればいいんでしょうか
引数にURLを与え、その内容を文字列に格納したいのですが、 このような処理を実現する方法はあるのでしょうか。
699 :
698 :03/08/23 10:05 ID:???
情報足らず、失礼しました。 Windows + IE 限定の方法でも構いません。
701 :
690 :03/08/23 10:14 ID:???
703 :
698 :03/08/23 11:56 ID:???
>>703 function の argument に文字定数を入れる ???
何をやりたいのかサッパリですよん.
705 :
698 :03/08/23 12:16 ID:???
うーん・・・。どう説明すればわかってもらえるでしょう。 window.open(url) というのがありますよね? それと似たような感じで、「ページを開く」のではなく、ページの内容を String 変数に格納する。 ということをやりたいのです。
nullうざい。
>>614 だから仕方ないのか?
にしても、2chの&hoge;の仕様を*ここで:テストしたり、
12分もたってから一つ前のレスを*改悪*したり、相当うざいんですが。
function somefunc(url) { return url; }
>>706 >&hoge;の仕様
ってなんだ?&rを削除したり、&を&に置換しないことをいいたいの?
>>706 /*quote(#614);*/
・ コテハンはデフォルトで馬鹿。
・ さらに、馬鹿を騙る香具師なんて相当なチャレンジャーなのに、
わざわざトリップをつけるのは、かなりの自意識過剰馬鹿。
・ そして、トリップに自分の好きな文字が出るようにトリップを検索していれば
激しく馬鹿。
/*end quote();*/
チミがこれを書いたのカニ ?
無視されたので逆恨み ???
バカでウザーなヤツにかまうヤツは輪をかけて...
(あとはご想像に任せます.)
怒りで勃起すんなよ.
>>708 タグ無効化の常套手段:
・ space -> &nbsp;
・ '<' -> &lt;
・ '>' -> &gt;
・ '&' -> &amp;
普通はこれだけの事で <pre>〜</pre> のようにソースがそのまま表示できる.
ところが,ここでは &***; は変換されて表示される模様.
>>705 たぶんというか、ほぼ無理ぽ。(取得したいのは別ドメインのページですよね?)
CGI で socket 使ってやることだと思われ
>>711 スレ違いだから
いい加減にしてくれません?
>>705 >ページの内容を String 変数に格納する。
" ページの内容 " とは ?
仮にページ内に含まれるリンクを
たとえば array にぶち込みたいのなら可能ですよん.
どちらにしても,あなたが指し示す
" ページの内容 " が何であるかが判らない事には答えようがありません.
馬鹿は死ぬまで直らない.
なんでnullバカがこっちのスレに移ってきたんだよ
>>717 ...
(かまってあげたいけど...怒られそうだから...)
ごめんね.
(こちらは,お堅い人が多いのね.)
他スレのことはしらんが nullの二匹はうぜぇって漏れもオモッタ。 はやく棲家へ帰れ そして二度と戻ってくるな >null馬鹿二匹
720 :
698 :03/08/23 13:37 ID:???
>>712 ありがとうございます。
自分でも調べてみて、startDownload というので何とかなりそうです。
>>714 さんもありがとうございました。
>>705 ローカルにあるファイルからとか
IE右クリックメニューからscriptを実行するならWSHで可能。
そうでないなら(例えばユーザーの入力したwebページの和訳を表示するなど)
>>712 の通り。
環境:Windows XP、Internet Explorer Ver6、IMEスタンダード2002 Ver8 HTMLで <INPUT class="ime_on" size="50" type="text" name="AAA" maxlength="50" value="" onKeyUp="JavaScript" /> のようなテキストエリアの作成し (class="ime_on"ではcssにてimeモードをアクティブにしています) テキストに文字を打ち込んだ時に JavaScriptを実行するようにしました。 普通に実行するとJavaScriptは実行するのですが 一度フォーカスをメモ帳などにうつして フォーカスをテキストに戻して文字を打つとJavaScriptが実行されません。 (つまりonKeyUpが効いていない) なぜでしょうか? ちなみに同HTMLをWindows2000で実行すると問題なく動きます。 XPの不具合なのでしょうか?
>>718 めちゃくちゃ構ってんじゃねーか。そういうのがうぜーんだよバカ
nullは正直二度と現れないで欲しい。百害あって一利無し。迷惑。
正直、nullは知識もないんだし、カエレ
725 :
qp ◆null4uHDzM :03/08/23 15:48 ID:n0b/8iSB
召喚されたような気がしたのだが... ツンツン...返事がない...馬鹿しかいないようだ...
>>723-724 無駄な書き込みをするな、馬鹿を相手にするな。
バカに構う奴はバカ。オレモナー
この板でコテが姿を消すときには、必ず騙りが現れる。
so-demonai
731 :
Name_Not_Found :03/08/24 01:37 ID:WclPnT1H
732 :
Name_Not_Found :03/08/24 02:06 ID:RbbrKDgC
【芸能】雨上がり決死隊がホークスに抗議!「表現の自由の侵害」
http://tv3.2ch.net/test/read.cgi/geinin/1060061213/600 フジテレビのバラエティー番組「ワンナイ」でダイエーホークスの王貞治監督を侮辱したコントを放送し、王監督およびダイエー球団から抗議と謝罪
を求められていた件について23日夜、雨上がり決死隊の宮迫博之さんが初めて公式に会見した。
宮迫さんは会見で、「王監督が怒ってしまわれるのは当然です。しかし、我々芸人は常にリスクを背負いながら笑いをとっていかなければならない。
それを承知の上でやっているんです。これくらいのコントで過敏に反応されると、これから非常にやりにくくなる。だからこれからも笑いの方針を変え
るつもりはない。」と、間接的に抗議した。
先日の「ワンナイ」でフジテレビの須田アナウンサーが謝罪して間もないこの発言は再び物議をかもしそうだ。
735 :
お茶 ◆WokonZwxw2 :03/08/24 15:43 ID:59UNQzT1
>>735 この板ではカーソル変えるサイトってバカにされまくってますよ?
足りてるね。
>どうしたらいいですかね? これが人にモノを尋ねる態度ですかね?
ECMAScript仕様とブラウザの拡張がわけられたリファレンスはありませんか? アルファベット順の索引がついているとなおいいです。
>>740 JavaScript - クラスライブラリ
で良いんで無いかい?と。
■■ ■■ ■ ■ ■■ ■■ ■■ ■ ■ ■■■■■■■■ ■■ ■■ ■■■■■■■■ ■■ ■■ ■■■■■■ ■■ ■■ ■■ ■■ ■■■■■■ ■■ ■■ ■■ ■■ ■■ ■■
Tabキーを無効にするにはどうすれば良いのですか? 隠しコンテンツでも置こうと思いまして。
746 :
Name_Not_Found :03/08/25 02:36 ID:JndWNsvi
ttp://www.biccamera.com/ の「商品を探す」のフォームみたいに、セレクトボックスを
選択すると後続のセレクトボックスの内容を動的に変更でき
るようにしたくて、現在ソースを解読中なんですが、分から
ない部分があったんで質問させてください。
bp010003-2.js の 21行目が
if(patern[i].c1 != c1_code)continue;
となってますが、patern[i].c1 の「ci」ってどいういう意味
なんですか? paternという配列は bp010003-1.jsで定義され
てるんですが、それを見てもよく分かりません。
あと16行目の
document.forms["bp010003"].sel_c2.options[c2_idx]=new Option("▽中分類","NONE");c2_idx++;
で、new Optionというのはどういう意味なんでしょうか。
誰か教えて下さい。
>>746 > patern[i].c1 の「ci」ってどいういう意味
どっかでc1って名前のプロパティを定義してんだろ。
> で、new Optionというのはどういう意味なんでしょうか。
>>4 あたりで。
>>747 早レスさんくす。
ヒントにしてもうちょいがんばってみます。
>>748 どうやら配列の各要素にオブジェクトが格納されていたようです。
ついでにOptionってのはセレクトフォームの要素を追加したり
するときに使うんですね。理解できました。ありがとう。
750 :
Name_Not_Found :03/08/25 13:35 ID:2Z0qorWN
新しいフレームにあるページを開いたときにそのページの中央部分にスクロールさせたいのですが
下ではうまくいきません。何か方法が御座いましたらご教授のほどよろしくお願い致します。
window.open("
http://www.yahoo.co.jp ","frame1","top=100");
topの使い方が間違ってる??
751 :
Name_Not_Found :03/08/25 13:46 ID:PBp/3rHb
リロードした時に「前回表示していた画像を除いて、残りの中から画像をランダムに表示」させるのはどのようにすれば良いのでしょうか? 現状のスクリプトは以下の通りです。どなたかご存じの方いらっしゃいましたら教えて下さい。 <script language="JavaScript"> my_pics=new Array(); my_pics[0]='img/pic_01.jpg'; (繰り返し) my_pics[24]='img/pic_25.jpg'; function random_img() { check = getCookie ("imageno"); if (check == ""){ numbers=Math.floor(Math.random()*my_pics.length); } else if (check != ""){ numbers=Math.floor(Math.random()*my_pics.length); if (numbers != "24"){ } else{ numbers = 0; } } document.images["mypic"].src=my_pics[numbers]; numbers++; numbers2=numbers; document.cookie = "imageno="+numbers2+";expires=Wed, 01 Jan 2020 18:56:35 GMT"; }
752 :
751 :03/08/25 13:46 ID:PBp/3rHb
(上の続き) function getCookie(theName) { theName += "="; theCookie = document.cookie + ";"; start = theCookie.indexOf(theName); if (start != -1) { end = theCookie.indexOf(";",start); return unescape(theCookie.substring(start + theName.length, end)); } return false; } //--> </script>
>>750 アンカーに飛ばすか、window.scroll()とかで
754 :
Name_Not_Found :03/08/25 13:57 ID:Ez18vm6E
いくつかのリストボックスをつくり、最初のリストボックスの選択項目に よってはそれ以後のリストボックスをグレイアウトして選択不可能にする JavaScriptを作ったのですが、以下のような問題があります。誰か 教えてくれませんか? 問題 1.JavaScriptを外部参照にすると、NetScape4.78では動作確認できるが 4.7では動作確認できない。 2.Html内部にJavaScriptを記述しても、やはり4.7では動作確認できない。 3.動作確認できない状況で、ローカルにそのHtmlファイルを保存して ローカルから立ち上げると、なぜかJavaScriptが有効になって、 動作確認できる。 誰か教えてください。よろしく。 ちなみにIEでは上記のような問題は全く確認できず、快適に動作しました。
>>754 症状だけ言われても、見てみないとハッキリとしたことは解らないなあ。
756 :
754 :03/08/25 14:15 ID:Ez18vm6E
なんとかなりませんかねぇ・・・
757 :
750 :03/08/25 14:23 ID:2Z0qorWN
>>753 アンカーに飛ばすのは無理そうです。
凄くシンプルなページなので飛ばす場所がありません。
window.scroll()は開いたページで記述ですよね?
新しく開くページのソースは一切いじれません。
>>751 こうかな…
function random_img()
{
var numbers;
var check = getCookie("imageno");
do {
numbers=Math.floor(Math.random()*my_pics.length);
} while ( check == numbers );
document.images["mypic"].src=my_pics[numbers];
document.cookie = "imageno="+numbers+";expires=Wed, 01 Jan 2020 18:56:35 GMT";
}
数年前にHPで見たもので、多分JavaScriptだと思うので質問させてください。 ページの左端っこに、何かタブみたいな画像が見えていて、それを右方向にドラッグすると ひっぱられてするすると細長い画像が現れるんです。 簡単にいうと、細長い一つの画像が始めは右先端だけ出ている感じです。 タブも引き出した画像も自分で作った感じで、私も作りたいと思うのですが やり方を知ってる方はいらっしゃいますか?
>>760 ( ゚Д゚)マンドクサーくて誰も書き込まないだろうから、ヒントだけ書こう。
<div id="..." style="position:absolute;..." ...><img src="..." ...></div>
こんなのをBODYに書いて、divをドラッグ可能にすればいい。
ドラッグの方法は他サイトを参考にしてくれ。
あと、「ページの端っこ」はロジックいじらないと出来ない。
762 :
750 :03/08/25 16:02 ID:2Z0qorWN
>>759 試してみましたがやはり動きませんでした。
759さんの環境では動きますか?
よろしくお願い致します。
763 :
760 :03/08/25 16:14 ID:???
>>761 ありがとうございます。色々調べてやってみたいと思います。
やっぱり難しいですね。
cssのoverflowプロパティにscrollを指定したときに、その部分はスクロ−ルさせる またはスクロールしたようにみせる方法はありませんか?
Mathオブジェクトのようなユーティリティオブジェクトを作るときに インスタンスを生成できないようにする方法はありますか?
>>767 var myUtil = new Object();
(function(){
var myProperty = 20;//private
myUtil.myProperty2 = "";//public
myUtil.myMethod = function(){return myProperty};
})();
こんな感じにコンストラクタを作らず、直接オブジェクトを作ればいい。
769 :
767 :03/08/26 18:36 ID:???
ありがとうございました。
770 :
Name_Not_Found :03/08/26 23:40 ID:Wa4RAF1z
javascriptでできると思うのですが、テキスト欄にURLを入力して ボタンを押すとそのURLをフレームとして出力させることができますか?
774 :
Name_Not_Found :03/08/27 11:47 ID:djhq2cvf
ゲッタとセッタの宣言の仕方を教えてください。 ブラウザの独自拡張じゃないやつで
ないです
>>774 > ブラウザの独自拡張じゃないやつで
今のところ ECMAScriptに getter/setter の仕組みはない。
> ゲッタとセッタ は慣習的なメソッドの種類を意味するのであって 言語の「仕組み」じゃない function TestClass() { this.getField = TestClass_getField; this.setField = TestClass_setField; } function TestClass_getField() { return value; } function TestClass_setField(value) {}
get/setは今のところJS15の独自拡張と言う位置づけ。
780 :
Name_Not_Found :03/08/28 22:13 ID:DzCSTxeZ
数字を入れたら数字が返る関数を作りたいのですが、どうすればよいのでしょうか?
>>780 どうすればよいのでしょうか? と言われてもどうにでもすれば?
としか返答のしようがない。
たとえば
function A(n) {
return 2003;
}
とか。
>>781 じゃあ、2倍にして返す、なら、
function A(n){
var x
x = n * 2
return x
}
じゃうまくいかないのですが…どこがおかしいのか教えて下さい。
>>782 function A(n){
var x;
x = parseInt(n) * 2;
return x;
}
>>782 ブラウザは?
javascript:function A(n){var x;x=n*2;return x}alert(A(4));
>>785 エラーは何て出る?
実際に試したコード全て(呼び出し部分含めて)晒してみ。
function Double(n) { return n*2; } じゃだめ?
そうか…。他に問題があるのか。 javascript始めて一日だけど、すげー長いコードなんで、 埋め込もうとしたかったんだけど無理みたいですたね。 ありがとうございました。
>>789 いやまて、JavaScript はじめて一日ってことは値を返す先がわかってないんじゃないか?
つまりコードが正しくとも正しくないと勘違いしているのでは?
791 :
Name_Not_Found :03/08/29 01:10 ID:csNUWs1C
IEでfullscreen=yesで全画面表示することはできたのですが、ネスケだと無理なようです。 IE、ネスケ共に全画面表示させるにはどうすれば良いのでしょうか?
>>791 JavaScriptで強制するのは無理です。
>>791 内容領域をスクリーンサイズに一致させて、
タイトルバー、メニューバー、ステータスバー等をスクリーン外におくとか。
NN4なら出来そう。
NNやIEでProxyの自動選択を行なう際に定義する FindProxyForURL() の中で使える、 myIpAddress() や dnsDomainIs() や isInNet() などの関数群を、普通のスクリプト から使うにはどうしたら良いのでしょうか。
>>794 使えません。
それらの関数はProxy自動選択スクリプトの実行に際して提供される関数群で
Webページ内に埋め込まれたスクリプトの実行時には提供されません。
796 :
Name_Not_Found :03/08/29 11:37 ID:PHHOTRpV
JavaScriptで、ある変数が定義済みが否かを調べるにはどうすればいいのでしょうか? Perlだと、 if (defined $foo){ #定義済みの時の処理 } みたいな感じですが・・・ ------------------------------------------------------------- ちなみに、 //fooは定義済みではない if (foo == ""){ alert("maybe undefined"); }else{ alert("maybe defined"); } alert(foo); とやったら、 最初、 「maybe defined」という文字列のダイアログがでて、 そのあとに「undefined」という文字列のダイアログがでました・・・
>>796 if ( typeof foo != 'undefined' )
foo に undefined 値が与えられている場合も「定義済み」とみなすなら
if ( hasOwnProperty('foo') )
798 :
Name_Not_Found :03/08/29 12:26 ID:KDs4WuU/
レイヤーのスタイル設定にて <DIV id="lay1" style="top: 100px; left: 20px; height: 100px; width: 290px;"> ・・・ とかやってレイヤーの表示範囲を設定してるんですが MAC版のIE5だと、表示範囲の設定自体はうまくいっているものの 表示範囲外にある<A>リンク部分にマウスカーソルを 持っていくとリンクカーソルに変化してしまって、そのままクリックできて しまうんですが、これをうまく回避する方法はないでしょうか?
>>799 それだと
foo = 0;
foo = false;
foo = null;
あたりはどうなるよ?
802 :
794 :03/08/29 13:09 ID:???
>>795 なるほど。情報Thanks.
Wsh 経由で使う場合もダメなのかな。
FindProxyForURL() の挙動をローカルで検証したいんだけど。
#prog板で聞いた方がいいかな?
>>796 IEのみなら、
var teigizumi=false;
try{
var test=foo;
teigizumi=true;
}catch(e){}
alert(teigizumi);
って手も。
804 :
Name_Not_Found :03/08/29 16:18 ID:VXxWXEvN
初めて書き込みます。 <form name=form_file enctype=multipart/form-data action=./send_wave_sub.pl target=iframe_item method=post> ファイル名:<input type=file name=item_file size=50> <input type=submit name=btn_send value=ファイル送信> </form> 上記のようにファイルをアップロードさせるのですが、 ファイル選択時に、ファイル参照ダイアログからだけ選択できるようにしたいです。 つまり、テキストフィールドには手入力できないようにしたいです。 type=file だと、disabledにしたら参照ボタンまで使えなくなってしまうし・・・ 誰か解決方法を御教授くださいm(__)m
>>803 そのコードは Moz や N7 でも問題はないはず。
var defined = false;
for ( var i in window ) if ( i == 'foo' ) { defined=true; break; }
alert( defined );
とかすると NN2 までサポートできるかもw
>>804 ガイシュツだけど入力欄の上にdivなどをかぶせて見えないように
隠してしまうのが定石らしいよ。ということはJSと関係ないけどね。
807 :
Name_Not_Found :03/08/29 18:36 ID:QQVj7omP
javascriptで、クライアント側の画像キャッシュファイルを 作成させない方法or消す方法を教えて下さい。
>>807 毎回新たに読み込ませたいという主旨ならば
画像を呼び出すとき画像のURLにその都度 ?ランダムな文字列 をつけるとかすれば
キャッシュからの読み込みは回避できる。
809 :
Name_Not_Found :03/08/29 19:35 ID:/7SnjuAG
ブラスターウイルスの感染を予防する方法(Without WindowsUpdate)
タスクバーからIMEのプロパティを開きます。
全般タブの中から設定をクリックしる。
http://first.n.fiw-web.net/up/upload.php ここん9お一番上のファイルと同じ状態にせよ!
でshiftとCtrlとKを同時に押す。
OK→適用。
完了です。
IEを終了してから行ってください。
>>808 var image = new Image();
image.src = "foo.jpg?" + new Date().getTime();
こういうこと?
811 :
807 :03/08/29 21:00 ID:???
>808, 810 なるほど!これで眠れます。感謝。
812 :
Name_Not_Found :03/08/29 21:13 ID:JrGcJ22p
例えば @@ っていう文字の上にマウスを当てると小さなポップアップが表示されて画像と文字が表示されるサイトがあ ったのですが、どうやればいいのでしょうか? こんなのがタグに書いてたリンク先にあったのですが、これでわかりますでしょうか? function popFromNewAccess(url){ window.status="popFromNewAccess作動中"; //popup→popupの処理(上書するので戻れない) if(document.URL.match(/\/r\.i\/|ni$/)){ if(parent&&parent.popFromNewAccess){ if(!url.match("/")){ url=document.URL.replace(/(\/\d{9,10}\/).*$/,"$1"+url); } parent.popFromNewAccess(url); } } else{ var pp=document.all.poparea; pp.innerHTML="<iframe id=popframe frameborder=0 hspace=0 vspace=0 marginheight=0 marginwidth=0 src="+url+"></iframe>"; if(event){
813 :
Name_Not_Found :03/08/29 21:14 ID:JrGcJ22p
pp.style.display="block"; var ptop=event.y-pp.clientHeight-5+document.body.scrollTop; if(event.y-pp.clientHeight-5<0){ptop=document.body.scrollTop;} pp.style.pixelTop=ptop; pp.style.pixelLeft=event.x+10; } //popup→popupの処理(ポップアップをちょこんと右によるだけにする) else{ pp.style.pixelLeft+=30; } } window.status=""; }
814 :
ちゃこ :03/08/29 23:23 ID:t8okkyPj
>>812-813 別に普通にやればいいだけだしあんたが貼った方法でもできる(IE専だけど)。
それでどうしろと。手取り足取り教えろというのなら無理ぽ。勉強してもっと
細かいところで分からないところが具体的に出てから質問すれ。
817 :
Name_Not_Found :03/08/30 07:04 ID:AxrMWSTW
ディスプレイの解像度を取得するJavaScript教えて下さい。 お願いします。
JavaScriptによって、一定の確率でiframeを出現させるというのは可能でしょうか?不可能でしょうか?
>>819 おお、出来ますか。よろしければ方法を教えていただけませんか。
821 :
817 :03/08/30 08:28 ID:AxrMWSTW
>>818 ありがとうございます。
無事取得できました。
あと、javascriptでリンク先を別ウィンドウで開くにはどうすればよいでしょうか?
お願いします。
>>820 onload=function(){
var d=document;
if(Math.random()*100<80){
d.getElementsByTagName("body")[0].appendChild(d.createElement("iframe")).src="
http://www.2ch.net/ ";
}
>>820 わざわざ質問を二つに分けるな。
>JavaScriptによって、一定の確率でiframeを出現させるというのは可能でしょうか?不可能でしょうか?
>可能であれば方法を教えていただけませんか。
と最初から書け。
偉そうに。
>>821 javascriptを使わない場合
<a href="
http://www.2ch.net/ " target="_blank">2ch</a>
使う場合
onload=function(){
var d=document;
for(var i in d.links){
d.links[i].target="_blank";
}
};
使う場合その2
onload=function(){
var d=document;
function tmpFunc(){window.open(this.href)}
for(var i in d.links){
d.links[i].onclick=tmpFunc;
}
};
<SCRIPT>
<!--
var wu = Math.floor(Math.random()*6)+1;� // ファイル数によって変える
if(wu == 1){WallURL = "壁紙ファイル1";}
if(wu == 2){WallURL = "壁紙ファイル2";}
if(wu == 3){WallURL = "壁紙ファイル3";}
if(wu == 4){WallURL = "壁紙ファイル4";}
if(wu == 5){WallURL = "壁紙ファイル5";}
if(wu == 6){WallURL = "壁紙ファイル6";}
document.body.background = WallURL ;
function ufwall()
{
� parent.frame2.document.body.background = WallURL ;
}
setInterval('ufwall()',1000);
//-->
</SCRIPT>
壁紙をアクセス毎にかえたいのですが
うごきません。
ttp://www.hct.zaq.ne.jp/ozawa/hp/top.htm アニGIF&JavaScript→カキコ欄の改造(基本編)の中にあります。
どこがわるいんでしょうか?
おねがいします。
827 :
◆x17xo3ILIo :03/08/30 12:03 ID:HdSdla+O
初心者スレにてJavaScriptで出来ると聞いたので移動してきました。 ┌─┬─┬─┬─┬─┬─┬ │1 │2 │3 │4 │5 │6 │ ├─┴─┴─┴─┴─┴─┴ │ └──────────── こういうのがあったとして、その1をオンマウスして ┌─┬─┬─┬─┬─┬─┬ │1 │2 │3 │4 │5 │6 │ ├─┴─┴─┴─┴─┴─┴ │リンク1 リンク2 リンク3 └──────────── このようになるようにしたいのですが、だいたいどんなスクリプトを組めば良いのですか?
>>827 だいたいどんなスクリプトを書いたのか貼れ。
>>828 リアルで市んできます。・゜゜(/ロ\)゜゜・。
うだうだイウナ。 <table border="1"> <tr><td onmouseover="document.getElementById('here').innerHTML = 'リンク1 リンク2 リンク3';">1</td> <td>2</td><td>3</td><td>4</td><td>5</td></tr> <tr><td colspan="5" id="here"> </td></tr> </table>
>>830 ありがとうございます!!
これで一日100アクセスからの出口が見つかりました。。
>>826 onload=function(){
var wu = Math.floor(Math.random()*6)+1;// ファイル数によって変える
var WallURL;
switch(wu){
casr 1:WallURL = "壁紙ファイル1";break;
casr 2:WallURL = "壁紙ファイル2";break;
casr 3:WallURL = "壁紙ファイル3";break;
casr 4:WallURL = "壁紙ファイル4";break;
casr 5:WallURL = "壁紙ファイル5";break;
casr 6:WallURL = "壁紙ファイル6";
}
document.getElementsByTagName("body").background = WallURL ;
}
フレームを使ってないならこれでいいはず
>>832 casr
↓
case
;y=ー( ゚д゚)・∵. ターン
834 :
826 :03/08/30 12:34 ID:???
835 :
826 :03/08/30 12:36 ID:???
836 :
826 :03/08/30 12:42 ID:B2A5P5eO
837 :
817 :03/08/30 13:06 ID:AxrMWSTW
838 :
◆x17xo3ILIo :03/08/30 13:35 ID:HdSdla+O
いみふめ
>>838 クォーティングが干渉している。
関数にくくりだせ。
>>826 「アクセスごとに変えたい」のになんでsetInterval()で定期的に
関数呼んでるんだ?もしかして全然コード読めない人?
>>832 getElementsByTagName()使うとCollectionが帰るからその0番目を
取らないと。にしてもそれ使うんだったら.style.backgroundImage
の方を設定するのが統一されていて美しいんじゃあないかな。
842 :
826 :03/08/30 13:57 ID:B2A5P5eO
夏休みも終りだなあ…
>>826 やりたいことは、上側フレームに新しい内容をロードするごとに、
ランダムに下側フレームの背景画像を変更する、ということでいい?
もしそれでよければ、あと「IEとGecko両方対応でDOCTYPE宣言つきで
よければ」サンプル貼ってさしあげられますがどうしますか。
>>840 ""が要らなかったんですね。
とりあえずPerl本見てq//付けたりやら無駄なことしてました。
ありがとうございます、解決しました。
846 :
826 :03/08/30 17:25 ID:B2A5P5eO
>>846 はいはい。最初の1発目は上のフレームが読み込まれ終わっても
下のフレーム内容がまだできてない場合、つまりタイミングに
よっては不発になりますが、実際はそういう使い方はしないで
しょうから(つまり一旦表示後新たに読み込まれるフレームにこの
コードを使うでしょうから)まあいいですよね。Gecko/IE/O7。
---main.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html><head><title>???</title></head>
<frameset title="sample" rows="0*,0*">
<frame title="upper" name="upper" src="t1.html">
<frame title="lower" name="lower" src="t2.html">
<noframes><body><p>no frame...</p></body></noframes>
</frameset></html>
---t1.html---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var imgs = ['t0.png','t1.png','t2.png','t3.png'];
function set() {
var d = parent.frames.lower.document, b = d.documentElement||d.body;
var i = imgs[Math.floor(Math.random()*imgs.length)];
b.style.backgroundImage = 'url(' + i + ')';
}
</script>
</head><body onload="set()">
<h1>test...</h1>
</body></html>
---t2.html--- → 適当にどぞ。
プ
すごい初歩的なことかもしれませんが、 <NOEBAD> 、 <body oncopy="alert('');return false;"> 、 onclick="this.src 、 などは、JavaScriptに含まれるんですか?
<noembed>はタグだからHTML。oncopy="..."などの文字列の 中(...の部分)だけがJavaScript。
852 :
849 :03/08/31 12:40 ID:???
もう一つ、 metaタグはJavaScriptに含まれるでしょうか?
854 :
Name_Not_Found :03/08/31 12:43 ID:/O/toBaa
856 :
826 :03/08/31 13:22 ID:u/5G/NPQ
>>847 ありがとうございました。
やってみます。
JavaScriptと直接は関係無いんですけど、idやclassの命名規則とか慣習ってありますか?
複数のCSSファイルがありまして、ユーザーに好きなのを選んでもらい、 どれを選んだかクッキーでブラウザに記憶し、次回来訪時には以前選んだ CSSで表示できるようなサイト構成を考えているのですが、こういうのは Javascriptで実現可能でしょうか?
>>857 道場によっていろいろな流派があるだろ。
>>858 スタイルシート 切り替え スクリプト で検索しる
863 :
Name_Not_Found :03/09/01 03:17 ID:z7G7Zf7j
表示しているソース全文の中から特定のタグを置換したいんだが、JavaScriptでできない? 入力した文字列を置き換えるってのは、検索したらたくさん出てきたんだが、 ソース内を置換するのは見つからなかった。(探し方が悪いのかもしれないが-_-;) どなたか分かる方よろしくお願いします。
864 :
863 :03/09/01 04:00 ID:???
回答ないけど、勘違いされそうな質問をしていたので補足します。
ソース内を検索する必要があるのは、ソースの全部は自分でいじれないから。
cgiによって出力されたソースを一部分だけJavaScriptによって編集したいわけ。
具体的には、したらば掲示板にjavascriptで手を加える。
カスタムヘッダーにJavaScriptを記述して動作させたい。
質問は
>>863 と変更ありません。
よろしくお願いします。
つか、IDが7サンド・・・
>>863-864 したらば掲示板がJS埋め込めるかは知らないけど、
ソースのタグ置換については可能。
要はソースを持ってくればいいわけだから、
document.getElementsByTagName("BODY")[0].innerHTML
とか、document.documentElement.innerHTML
とかでソースをString型で取得。
その文字列を操作後は〜.innerHTMLに代入すればよろし。
866 :
Name_Not_Found :03/09/01 06:27 ID:6TXurwMx
function FormCheck(aaa,bbb){ if (document.aaa.bbb.length) { .... } } 関数へ引数を渡した時、このように置き換える事は できないのですか?
868 :
866 :03/09/01 06:49 ID:6TXurwMx
フォームのラジオボタンがチェックされているかどうか 調べたいのですが、、このような感じです。 echo <<<EOF <form action="check.php" method="post" name="$id" onSubmit="return FormCheck('処理を実行しますか?','$data','level[]');"> <input type="radio" name="level[]" value="1">入会 <input type="radio" name="level[]" value="2">退会 <input type="radio" name="level[]" value="3">保留 <input type="submit" value="送信"> </form> EOF;
>>866 function FormCheck(strFormName, strElementName){
if (document.forms[strFormName].elements[strElementName].length) {
....
}
}
で出来るけど、普通は↓のようにHTMLElement型(?)で渡す。
function FormCheck(objForm, objFormElement){
if (objFormElement.length) {
....
}
}
870 :
869 :03/09/01 06:53 ID:???
871 :
866 :03/09/01 07:06 ID:???
872 :
863 :03/09/01 11:26 ID:???
873 :
Name_Not_Found :03/09/01 19:20 ID:rRX/1940
>>873 なぁ、sageと書かれたメーラが大量に開いたんだが・・・
質問です。 変数A,B,Cとあって、セレクトフォームでA,B,Cの数値を選択してもらいます。 そして選択してもらったA,B,Cの中で一番数の大きい数字を表示するにはどうすればよいでしょう? 具体的には、 <form name=kazoku> お父さん<select name=oyazi> <option>1歳</option> <option>2歳</option> <option>・・・・以下略</option></select><br> お母さん<select name=ohukuro> <option>1歳</option> <option>2歳</option> <option>・・・・以下略 </option></select><br> 自分自身<select name=zibun> <option>1歳</option> <option>2歳</option> <option>・・・・以下略 </option></select><br> <input type=button value=OK onClick=test()><br> 一番トシヨリは<input type=text name=name><input type=text name=tosi></form> とHTMLがあって、JavaScriptで、 セレクトフォームのoyaziとohukuroとzibunから一番高い年齢を、 テキストフォームのtosiに、 その人の名前をnameに出力したいのです。 ちなみに、if文で分ける以外の方法でお願いします。
877 :
Name_Not_Found :03/09/02 13:21 ID:aWnNohru
初めて質問させていただきます。 トップページに数枚の画像を載せているのですが これが軽いもの、重いもので表示順がばらばらになってしまいます。 そこで画像をプリロードして全ての画像を同じタイミングで表示させたいのですが JavaScriptでできるでしょうか。 宜しくお願いします。
>>877 var img = new Image();
img.src = 'xxxxx.jpg';
としてから、IMG要素のSRC属性を書きかえるとか。
879 :
877 :03/09/02 14:50 ID:???
>>878 返信ありがとうございます。
878さんの方法で具体的に書くと
<SCRIPT type="text/javascript">
<!--
var img = new Image();
img.src = 'a.jpg';
img.src = 'b.jpg';
img.src = 'c.jpg';
img.src = 'd,jpg'
// -->
</SCRIPT>
このような形でよろしいのでしょうか?
>>879 いや
var imgA = new Image(); imgA.src = 'a.jpg';
var imgB = new Image(); imgB.src = 'b.jpg';
var imgC = new Image(); imgC.src = 'c.jpg';
var imgD = new Image(); imgD.src = 'd,jpg';
それよか、読込が終わるまで<img>を非可視にしてた方が簡単かも。
881 :
877 :03/09/02 16:24 ID:???
>>880 ありがとうございます。
さっそくやってみます。
882 :
Name_Not_Found :03/09/02 18:58 ID:nUm/4zWT
883 :
Name_Not_Found :03/09/02 20:58 ID:gUq3NeQe
質問します。 マウスオーバーでリンク先の説明をテキストで表示させる際に、 その表示先を別フレームに指定することは可能ですか?
可能です。
886 :
883 :03/09/02 21:19 ID:???
質問の仕方が悪かったです。すみません。 そのソースを知りたいので教えて下さい。 もしくは検索キーワードを教えて下さい。宜しくお願いします。
887 :
883 :03/09/02 21:20 ID:???
>>885 あ!入れ違いでした。
ありがとうございます!調べてみます!
function hoge() { return function() { return function() { return function() { return function() { ... ...}}}}} 6161ネストでメモリエラー発生しますた。
>>888 エラーの発生するネストの上限は環境次第でし。
全環境で6161個でエラーなら、きっと #define INNER_FUNCTION_MAX 6161 となっているだろう(w
891 :
Name_Not_Found :03/09/03 07:55 ID:q+RqSAyD
idを配列化したいのですが、可能でしょうか。 <span id=key[0]>1</span> <span id=key[1]>2</span> ... というようなことをしたいのです。
892 :
Name_Not_Found :03/09/03 09:05 ID:VdKXJaDu
環境: win2k、IE6.0 問題: openerで参照したウィンドウ内のフレームにアクセス出来ない 望み: httpでなら外部リンクを張れるが、したいのはローカルファイルへのリンク 詳細: 一度外部ページを読み込んで、そのページ内フレームからローカルファイル へのリンクが張れない。location.URLで参照するも、unidentified。 URLはautoblank・・・ 但しopenしたウィンドウではローカル・外部共にリンク可能
>>891 できません。そうする変わりに普通に「key_0」「key_1」など
連番になる文字列を割り当て。
for(var i = ...) document.getElementById('key_'+i).style.color = 'red';
とかそういう風に使うんじゃないですかね。
>>892 セキュリティのための制約なんじゃないですかね。
>>891 <html>
<script language="javascript">
menu=window.open("","","width=240,height=120");
menu.document.open();
menu.document.write("<html>\n");
menu.document.write('<body>');
key=new Array();
for(i=0;i<4;i++){
key[i]=i;
menu.document.write("<span id="+key[i]+">"+i+"</span>");
}
menu.document.write('</body></html>');
menu.document.close();
</script>
</html>
>>893 じゃないんですかとかいって知ったかしてるなよ(プ
895 :
Name_Not_Found :03/09/03 13:21 ID:4UmluT89
mac os9、IE5.0 or IE5.1で window.open('childwin.html','newwin','width=500,height=500'); のようなスクリプトで子ウィンドウを開いた場合、モニタの解像度によっては開いた子ウィンドウのサイズ(height)が小さくなってしまいます。 例えば上記のスクリプトを800*600の環境で実行すると document.body.clientWidthの値=516(正常) document.body.clientHeightの値=442 になってしまいます。 screen.heightを取得して分岐するなどの処理は考えられますが、 もうちょっとスマートな解決策はないでしょうか。
>>895 window サイズ指定は特に理由がない限り,しないほうが良いのでないかなあ ?
それと,最近では iCab などがタブブラウザになっているでしょ.
この場合はサイズ指定は無意味 !!!
もっと有効な JavaScript の活用法があると思うんだけどなあ...
897 :
895 :03/09/03 18:13 ID:4UmluT89
>>895 画像のサムネールクリックで拡大画像が見えるみたいなのにしてるんですよ。
写真の下にNEXT,BACKとCLOSEボタンがあるんですが、これが見えなくなっちゃうのでどうかしたいなぁと。
実際使用しているスクリプトではスクロールバーやら何やら見えなくしています。
>>897 うまくいくかどうか判らないけど,
Script 書いてテストしてみます.
(自分が嫌いな事を調べたりする人はいないので...)
899 :
891 :03/09/03 18:44 ID:q+RqSAyD
>>893 ,894
どちらも参考になります。ありがとうございました。
も一つお願いします。
例えば、"K"を押しながら"A"を押したというのを判定したいのですが、
いい方法はあるでしょうか。
while(1){}で回して、onkeyup, onkeydown でフラグを立てれば
良かろうと試したのですが、次の警告が出てしまいました...
このページのスクリプトが、Internet Explorer の実行速度を遅くしています。スクリプトを実行し続けると、コンピュータが反応しなくなる可能性があります。
900 :
895 :03/09/03 19:03 ID:4UmluT89
>>898 ブラウザのバグってコトもありますかね?
単純にheightの指定を大きくすると開くウィンドウのサイズも大きくなります。
IE4.5ではきちんと表示されるようです。
>>897 wd=screen.width;
ht=screen.height;
上記のようにして ScreenWidth, ScreenHeight の値を
それぞれ得ることができます.
さて, window のリサイズですが,その物ズバリの method があります:
window.resizeTo(x,y); <- 'window' は省略可能.
こちらの方は window.open と違って計算式でも使えるので便利そうです.
ただし,状況によって制限があるようで,
思い通りにはリサイズできない事もあるようです.
それと, iCab では JavaScript の method の filtering が可能なため,
JavaScript を切っていなくても全く役に立たない結果となることがあります.
あとは,ご自分で工夫してください.
902 :
Name_Not_Found :03/09/03 19:47 ID:EiZQ8X1j
function MoveHanabi(){ if ( damage < 600 ){ midoten.style.posTop = 190; midoten.style.posLeft -= (DATA[cnt]/2); timer1=setTimeout('MoveHanabi()',10); }else{ Hanabi.src=Img2.src; midoten.style.posTop=midoten.style.posTop-1; } cnt++; damage += DATA[cnt]; } こうするとなぜかifの処理は行われず最初からelseの処理に行ってしまいます。 始めdamageには0が、DATA[cnt]には5〜20くらいの数値が入っていてifの条件を if ( 1 < 600 ){などにすれば(永久に続くが)DATA[cnt]ずつ進むんですが。
テンプレに「nullは放置」を追加してくれ
>>904 一つ聞いていい ?
英和辞典持ってる ?
906 :
895 :03/09/03 22:05 ID:4UmluT89
>>901 ありがとうございます。
やはりscreen.heightからそれぞれ分岐しかないのですね。
resizeTo()でウィンドウを開いた後でやるか、open()で開く時にやるかどちらかといった感じでしょうか。
後はやってみます。
>>906 >やはりscreen.heightからそれぞれ分岐しかないのですね。
う〜ん, 分岐に捕われていません ?
方法は一つではないって事です.
たとえば frame を使う手も考えられるし,
event handler を使い分ければボタンを表示する必要もないでしょ ?
(sub-window を開くと言う事にこだわる必要もないかと...)
>resizeTo()でウィンドウを開いた後でやるか
説明が悪くて誤解を招いたのかな ?
取り合えず,こちらをご覧あれ :
http://tohoho.wakusei.ne.jp/js/window.htm#resizeBy resizeTo() はすでに開いている window をリサイズするだけなのです.
新たな window を開くことはしません.
どうしても新しい window を開いて操作したいのなら,先に
w=window.open(); <- argument を指定しないのなら,空の window が開く.
でもって, window を開いておいて,
次に resize する事になるでしょう.
どうも,あなたの理解度が掴みきれません.
それなりに解っている人のようでもあり...
解っている人ならば try & error の段階で自己解決してしまうでしょうし...
馬鹿が答えるな。
「背面教師」のお言葉は、ありがたく拝聴するものだ。
反面
なんか背泳ぎしてる先生を思い浮かべてしまった
null死んで
黒板に書いてばっかで絶対振り返らない先生とか
お元気ですか?小林先生。
setInterval(function() { チェックするコード; }, 20);
ウィンドウを表示するShow(); の()の中に引数とか書いて開かれるウィンドウに何か情報を渡したり 出来るんでしょうか
_| ̄|○ あぁ・・・ 数字を3桁毎にカンマをつける処理を考えてたのだが、 結局自己解決できずgoogleしてしまった・・・ ○| ̄|_ _| ̄|○ この程度の事も解けない俺は駄目なやつだ・・・
javascriptで、同サーバ内の外部データ(テキスト)を読み込み 加工して出力したいのですが、 perlでいうと open(IN,"$file") || &error ("$fileが開けない"); @data = <IN>; close(IN); みたいなことって出来ますでしょうか?
>>921 IE4以降やNN6以降なら隠しフレーム等を使えばできる。既出。
ボタンを押したら「Ctrl+Fで表示される検索窓」が表示される。 というようなjavascriptをおしえてくらさい
924 :
Name_Not_Found :03/09/05 18:08 ID:WBoidScn
アクセスの度にランダムで画像を表示させるJavaScriptを使ってます。 が、なんだか、画像の表示が遅いような気がします。 これを早く表示させる方法はありますか?
>>924 i ) 画像ファイルのサイズを落とす。
ii ) 回線の速度を上げる。
926 :
924 :03/09/05 18:44 ID:WBoidScn
>>923 ネスケ(NN4以降)なら find() でいけるんだが。
プログラム自体はちゃんと動いているので問題無いのですが、出力するときの文字の表示サイズの指定をブラウザ側で変更できないように(ページ全体はスタイルの設定でピクセル固定しているので、ピクセルでの固定)指定ってできないのでしょうか?
>>928 何となく、スタイルシートの勉強をした方がいい予感。
>>923 ヒント。
showModelessDialog("res://shdoclc.dll/find.dlg",…)
但しローカルでしか動かない。
931 :
928 :03/09/05 20:50 ID:???
何故か昼間は何度も色々な方法を試しても駄目だったのに 今新たに立ち上げてみたら、同じ大きさで表示されてました・・・。 ということでなんとか、自己解決(汗 お騒がせしました。もっと精進してきます^^;
>>928 stylesheetで出来るだろうが、
アクセシビリティが著しく低下するために
ブラウザによっては、フォントサイズ固定を解除できるようにしているものもある。
サイズ固定は弊害が多いので、オススメしない。
どうしてもやりたいならその辺のこともgoogleで
サイズ固定はPDFと同じ。 ってかサイズ固定するぐらいならページ丸ごとPDFにしろ。画像でも良いけど。
934 :
ABC :03/09/05 22:20 ID:47cHImv7
質問です。誰か教えて頂けないでしょうか。 Netscape7.1で、<textarea></textarea>の中にJavaScriptで文言を追加 すると(例えば"abc")、<textarea>内の表示が、htmlでの"abc"と、単なる 文字としての"abc"が両方表示されてしまって文字がダブってしまいます。 <textarea id="ta"></textarea> <script> document.getElementById("ta").appendChild(document.createTextNode("abc")); </script> どなたかこれを解消する方法をご存知の方いませんでしょうか? (innerHTML,innerText でもできませんでした。)
936 :
ABC :03/09/05 22:33 ID:47cHImv7
確かに、valueで出来ました。ありがとうございます。 textareaにvalueの属性があるとは知りませんでした。すいません無知で(;_;) 助かりました。
937 :
Name_Not_Found :03/09/05 22:47 ID:bn5NoAvU
ブラウザがアクティブになっているかいないかを取得したいのですが フレームがひとつの場合BODYのonFocus&onBlurを取得すればいいのですが 複数フレームの場合うまくいきません。(別のフレームにフォーカスが移るから) そこで 1.親フレームのフォーカスを取得 2.他のフレームのフォーカスを取得 のどちらかでできるかなと思ったのですがどうにもうまくいきません。 何かいい方法ありませんか?
938 :
Name_Not_Found :03/09/05 23:14 ID:jpTUjTrv
ある処理を終った後に文章を表示したいのですが。 新しい画面などでなくそのページに。 例) レースがスタートしたら「スタートしました」と表示。出来るでしょうか?
>>938 その表示したい場所に「<div id="ID名"></div>」を入れておく。
表示したい時に「document.getElementById('ID名').innerHTML = '文字列';」
950近付いて来たけど次期テンプレは同じでよい? 大体落ち着いているようだしね。立てるのは975超えね?
941 :
938 :03/09/05 23:41 ID:???
>>939 無事出来ました。大変有難うございました。
942 :
Name_Not_Found :03/09/05 23:54 ID:Rv/iF/Xo
ページ1.html、ページ2.html、ページ3.htmlとあって 全ページ共通のメニュー(タグ)をjavascriptのdocument.write つかって外部ファイルから書きだしてるんですが、 各ページを表示するときに、メニューの一部に色を付けたりしたい ので、任意の位置にタグを挿入してから表示させることってできますか? こんな感じ (メニューの部分) <a href="./menu1.html">メニュー1<\/a> <a href="./menu2.html">メニュー1<\/a> <a href="./menu3.html">メニュー1<\/a> とあって、 menu1.htmlを表示させるときには menu1の部分を <em><a href="./menu1.html">メニュー1<\/a><\/em>と<em><\/em>でくくり、 menu2.htmlを表示させるときには menu2の部分を <em><a href="./menu2.html">メニュー2<\/a><\/em>と<em><\/em>でくくらせて表示させたい。
>>942 location.pathname からファイル名を取り出して、
<a>のhref属性と一致するときに…ってかんじか。
944 :
Name_Not_Found :03/09/06 03:24 ID:biZETOSe
文字列の配列をアルファベット順に並べ替えたいのですが、 そのまま sort() を使うと大文字優先になってしまいます。 例えば America, absolute, AGE → AGE, America, absolute のようになります。 これを回避するためにはどうすればよいのでしょうか。
>>944 sort( function ( a, b ) {
a=a.toLowerCase(), b=b.toLowerCase();
return a<b ? -1 : Number(a>b);
} )
>>942 該当する項目を書き出す前後にemの開きタグと閉じタグを書けば
いいんじゃないの。分からないようなら、そのメニュー書き出し
のdocument.write()を含んだループ部分を貼ってみなよ。
947 :
942 :03/09/06 10:41 ID:???
>>943 レス遅くなってしまった申し訳ないです。
教えてもらったのを使ってやってみます。
948 :
Name_Not_Found :03/09/06 11:24 ID:2OEHAG6n
フィルタを使って画像を横倒しにするような事は出来ますか?
なんでもできます。
950 :
Name_Not_Found :03/09/06 12:04 ID:2OEHAG6n
やり方を教えてください
まんこにちんこを入れろ
953 :
Name_Not_Found :03/09/06 23:04 ID:c2d4NkNj
すみません、フレームを2つ作ったとして、 一方のフレームの<script>〜</script>の中にabcという変数があるとき、 もう一方のフレームからその変数の値を得ることは出来ますか?
以前質問したものです。
ユーザの手動で写真を順に閲覧できるページが必要で、
こちらで教えていただいたことを参考にし、
>>956 のようなソースを書いたのですが、画像ファイルの名前を、
1.jpg 2.jpg 3.jpg……9.jpg 10.jpg 11.jpg……
のようではなく、
001.jpg 002.jpg 003.jpg……009.jpg 010.jpg 011.jpg……
のようにできる方法があれば、ご教示ください。
Numの値が9以下の場合は"00"を付加、10〜99の場合は"0"を付加、
という風にやればよいのかな、と思い、色々試してみたのですが、
うまくいきません。
よろしくお願いします。
956 :
955 :03/09/07 00:02 ID:???
>>955 のソースです。
#HTML
<script type="text/javascript" src="swapimg.js" charset="Shift_Jis "></script>
</head>
<body>
<h1 id="currentNum">商品の見本写真(全15枚)</h1>
<p><a href="javascript:swapImg(-1);">前の写真</a>
<a href="javascript:swapImg(+1)">次の写真</a></p>
<p><img src="1.jpg" alt="商品の見本写真" /></p>
#Javascript
Max = 15;
Num = 1;
d = document;
function swapImg(n){
if(!(Num += n)) Num = Max;
else if(Num > Max) Num = 1;
d.images[0].src = Num + ".jpg";
if(d.all) h1o = d.all.currentNum;
else if(d.getElementById) h1o = d.getElementById("currentNum");
h1o.innerHTML = '商品の見本写真(全' + Max + '枚中' + Num + '枚目)';
}
「Num + ".jpg"」→「String(Num + 1000).substring(1) + ".jpg"」かな。
958 :
Name_Not_Found :03/09/07 07:48 ID:jaU+toxg
スレ違いならすみません。 某音楽サイトで曲の聴けるアイコンをクリックすると、ステータスバーに javascript:mediaplayerという表示が出て再生できなくなってしまいまし た。いろんなヘルプを見たのですがよく分からず困っています…。 環境はWin XP、IE6です。分かる方宜しくお願いします。
たぶん、そのページで定義しているJavaScript関数が動かない わけなんでしょ。そのサイトに質問するべき。
961 :
Name_Not_Found :03/09/07 16:27 ID:G9unMSoR
function plusBonus(x) { document.status.x.value++; } こんな感じのってどうやったらいいですか?
962 :
Name_Not_Found :03/09/07 18:32 ID:5tu/Hv7C
えと、onChangeって連鎖するのでしょうか? つまり <TD><SELECT name="item1" onChange="form.item2.value='';"> <OPTION Value=なんたら> </SELECT></TD> <TD><SELECT name="item2" onChange="form.item3.value='';"> <OPTION Value=うんたら> </SELECT></TD> <TD><SELECT name="item3" onChange="form.submit();"> <OPTION Value=かんたら> </SELECT></TD> で、 (1)item1を変えたら、item2、item3を初期値にしてsubmit (2)item2を変えたら、item3を初期値にしてsubmit (3)item3を変えたらそのままsubmit ってー動きになるのかな、ということです。ご経験のある方がいらっしゃいましたらアドバイスをお願いします。
>>961 その質問は頻出だが、
function plusBonus(x) {
document.status[x].value++;
}
965 :
Name_Not_Found :03/09/07 21:49 ID:OLQg7exX
タイマー関数はあるみたいだけれど、Javascriptにsleep関数はないのですか? 既出? ちょっとそこで寝ててくれるだけでいいのに...
>>965 無かったっけ?
無いならこんなんは?
flag = true;
setTimeOut("flag = false",1000);
while(flag);
967 :
Name_Not_Found :03/09/07 21:54 ID:q/UWyWHC
クイズのコンテンツを作っていて例えば 問題、bookの意味は? 1.本・予約する 2.箱 3.カメラ で1番をクリックすると勿論正解という趣旨のとぶように設定したんですが 2・3番はランダムで他にもいろんな意味をランダムで出すようにさせてしかも 箱を選んだ時には「箱はboxだろ!」て言う感じのページにとびたいのですが googleで一生懸命探してjavascriptで … url=new Array(e); text=new Array(e); url[0]="box.htm"; text[0]="箱"; … ってやったらなんとhtmもランダムになっちゃったんです(泣 すみませんがhtmは固定できる方法を教えてください
>966 激しくCPU息切れしないかな?
>>968 するだろうね。でも数秒でしょ?
じゃあ、SetTimeOut呼び出し直後でその関数は終了。
続きはSetTimeOutで呼び出したルーチンでやるとか。
SetTimeOut って何?
>969 うーむ。精度は低くて構わないのですが、10秒くらいsleepして欲しいのです。。 やはり n秒後にそのサブルーチン呼ぶようにして、 メインのルーチンは終了させるようなやり方になりますか。
>>971 と、言うか何がしたい訳よ?
何にせよエレガントな設計じゃない気が。
>972 紙芝居みたいなものです。 指定時間後から10秒おきに画像がパラパラと置きかわっていくような感じ。 画像置き換えのメソッドをキューにいれて タイマーでキックするようなものをとりあえず作ったんですが sleepがあれば単純に書けるのになぁと思って...
ともかくsleep()はない。それが不満だろうとなんだろうとない。 それ以上どうにもならない。だからsetTimeoutを使うしかない。
>>973 いや、タイマ使った方が良いとお兄さんは思うぞ。
>>975 いや、setTimeOutに「関数名」を「文字列」で渡すという方が
キモイんだけれど。
クラス化してあると渡せないし(関数だけね)、
暗にevalされてんのもどうかと思うし。
せめて関数ポインタ(?)で渡せりゃいいのにって思うよ。
>>976 関数名を文字列で渡す奴がキモイだけだ。関数オブジェクトか関数リテラルで渡せ。
setTimeout(myfunc, 10000);
setTimeout(function() { 後でやる動作; }, 10000);
これでアンタのいう「関数ポインタ」になるだろ。
>>977 まじ!?できんだ!
知らなかったよ〜〜 >976
これってどこにも書いてないじゃん。サンキューやってみる!!
>>977 ところでハッと気がついた。
引数はどやって渡すの?
var a = 10;
setTimeout(function() { var x = a; いろいろ; }, 10000);
でクロージャとかになったりするの?
>>980 なるとも。まさにクロージャこそ関数リテラルの利点。
982 :
Name_Not_Found :03/09/07 23:17 ID:RlPoUBn/
関連する話題だと思いますが、ついでによろしくお願いします。 nameという名前の画像のURLを一秒ごとにsrc1/src2と切りかえる関数を 作ってみたのですが、setTimeoutの行で変数が渡されません。 どのようにすればよろしいでしょうか。 function changeImage(name,src1,src2){ if(changed==0){ document.images[name].src = src2; changed=1; }else if(changed==1){ document.images[name].src = src1; changed=0; } setTimeout("changeImage(name,src1,src2)",1000); }
>>982 setTimeoutに文字列を渡すなと書いてあるのが読めなかったの?
「Mozillaで動くことを確認した、DOCTYPE宣言つきの」サンプル
なら貼ってもいいけど。たぶんIEでも動く(手もとにないからテス
トしてないだけで)。
985 :
Name_Not_Found :03/09/07 23:30 ID:RlPoUBn/
>>984 ありがとうございます。自分で作ってみたのですが、一応動きました。
これでよろしいのでしょうか?
var changed = 0;
function changeImage(name,src1,src2){
if(changed==0){
document.images[name].src = src1;
changed=1;
}else if(changed==1){
document.images[name].src = src2;
changed=0;
}
setTimeout( function(){ changeImage(name,src1,src2) },1000 );
}
そうね、でもchangedをトグルするのはださいと思うんだよな。 あくまで一例だけど。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function chg(n, s1, s2) { document.images[n].src = s1; setTimeout(function() { chg(n, s2, s1); }, 1000); } </script> </head><body onload="chg('i1', 't1.png', 't2.png')"> <p><img name="i1" src="t0.png" alt="test"></p> </body></html>
989 :
Name_Not_Found :03/09/07 23:35 ID:hCCoFZAT
991 :
985 :03/09/07 23:35 ID:???
>>986 ありがとうございます。
確かにこっちの方がはるかにスマートですね。
そろそろ埋め
993 :
985 :03/09/07 23:37 ID:???
>>987 確かにそうですね。複数箇所やってみたらダメでした。やっぱ変数changedが問題ありますね。
>>985 長く使うとスタックが底尽きる気もするけど。
そんなことはないのか?
>>994 Mozillaだとまだ尽きたことはないけど。上書きになる場合は伸ばさないとか
そういう実装なんじゃないかな? IEでのテスト、キボーン。
うめうめ。
998 :
Name_Not_Found :03/09/07 23:52 ID:g4rHhAGQ
hunnga-
999 :
Name_Not_Found :03/09/07 23:53 ID:g4rHhAGQ
1000ゲトー できるかな できればコレで通算三回目
1000 :
Name_Not_Found :03/09/07 23:54 ID:g4rHhAGQ
やったー
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。