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

1 名前:Name_Not_Found 投稿日:2001/07/03(火) 22:48
前スレが900越したのでこちらに移行して下さい。
JavaScriptの事でききたいことがあったらこちらへどうぞ。

注: JAVA と JavaScript は別の物です混同しないようにして下さい。

住人のみなさん、煽らないで優しくしてあげてね。

vol.1 http://mentai.2ch.net/test/read.cgi?bbs=hp&key=972192155&ls=100

vol.2 http://natto.2ch.net/test/read.cgi?bbs=hp&key=985424635&ls=100

2 名前: 投稿日:2001/07/03(火) 23:59
高度な JavaScript の本教えてちょ

3 名前:Name_Not_Found 投稿日:2001/07/04(水) 00:16
>>2
とりあえずオライリーかなあ…しかし翻訳は翻訳してる
間に古くなるという感じも。

4 名前: 投稿日:2001/07/04(水) 00:29
ありがとうございます

買うだけの価値はあるでしょうか?

5 名前:Name_Not_Found 投稿日:2001/07/04(水) 00:47
>>4
オライリー高そうだからなあ…買う価値があるかと
言われると。実は8月アタマに本体価格1800円の
本が出る。これなら値段がこれだし、買って損とい
うことはないと思う。でもまあ、本屋でチェックし
てから決めてちょ。

6 名前: 投稿日:2001/07/04(水) 00:56
>>5
何でそんなことまで詳しく知っていらっしゃるのですか?

ということで、本屋で見てみます

7 名前:うーん 投稿日:2001/07/04(水) 01:38
あの、すいません。
くりっくしたら(別に何もないとこでも)音が出るようにするには
どうやったらいいのでしょうか。
教えて下さい。

8 名前:Name_Not_Found 投稿日:2001/07/04(水) 01:41
>>7
茶碗と箸を持ち、ずっと待ち構える。

9 名前: 投稿日:2001/07/04(水) 01:45
「何もないところ」に何かを置かなきゃだめでしょうねぇ

10 名前:Name_Not_Found 投稿日:2001/07/04(水) 01:54
<body onclick="知らんけど">

11 名前: 投稿日:2001/07/04(水) 02:31
>>9

<HTML><HEAD>
<TITLE></TITLE>
<SCRIPT Language = "JavaScript">
<!--
function playMidi(name)
{
if (document.getElementById) snd.src = name;
}
//-->
</SCRIPT>
</HEAD>
<BODY onclick="playMidi('morning.mid')">
<bgsound src="silent.mid" id="snd">
これでどうでしょう?
</BODY>
</HTML>

12 名前: 投稿日:2001/07/04(水) 02:33
>>7 でした

13 名前:うーん 投稿日:2001/07/04(水) 03:03
おおっ!
上のを参考にしてやってみたらできましたっ!
あれからもずーっとチャレンジしてたんですけどうまく行かずに
悩んでおりました。
ありがとうございます。
早速、使わせてもらいます。

14 名前:Name_Not_Found 投稿日:2001/07/04(水) 03:21
>>7に近いですが
リンクをポイントしたらポコッって音を鳴らすにはどうすればいいですか?

15 名前:うーん 投稿日:2001/07/04(水) 03:51
すいません。おまけで、もひとつ教えて下さい。
背景の絵をセンターに一枚だけ置く方法をお教えください。

もう、ほんとにすんまへん。

16 名前: 投稿日:2001/07/04(水) 04:08
そいつはスタイルシート。CSS板でききな。

body {
background:#fff url(back.gif) no-repeat 50% 50% fixed;
}

17 名前:うーん 投稿日:2001/07/04(水) 04:22
おおっ
これまた ありがとうございます。

できました!!!

そのプログラムをスタイル文で囲んだらよかったわけですね。

どうも ありがとうございます

18 名前:Name_Not_Found 投稿日:2001/07/04(水) 09:19
>>17
だからプログラムとちゃうねん。なんやスタイル文って…

19 名前: 投稿日:2001/07/04(水) 10:17
>>14

>>11のスクリプトの<body onClick〜>を消して
<A href="***.html" onMouseOver="playMidi('poko.mid')">Link</a>
だろ。
そのくらいできなきゃダメよ

20 名前:Name_Not_Found 投稿日:2001/07/04(水) 11:06
テキストボックスが一個だけ置いてあるページで、そこのテキストボックス内で
enterを押すと勝手にsabmitされるのを防ぎたいんですけど、どうしたらいいですか?

IEだと、keypress="キーコードでenterを判断してfalseを返す関数" でうまくいくんですけど
NNだとkeypress自体が発生してくれない・・・。

21 名前:20 投稿日:2001/07/04(水) 11:22
あ、すいません。自己解決できました。

22 名前:Name_Not_Found 投稿日:2001/07/04(水) 11:33
>>21
そういう時は自己解決のあらましもキボーン。

23 名前:Name_Not_Found 投稿日:2001/07/04(水) 11:46
>>17
こんな厨房が、俺のサイトcss使ってるんだぜーすげーだろ
みたいに粋がってたらかなり腹立つなぁ。
俺cssっつぅプログラム書けるんだぜーってか(w

24 名前:20 投稿日:2001/07/04(水) 11:54
>>22 っと、スンマセン。それじゃ解説を・・

keypressイベントをテキストボックスのタグ内に入れるのではなく、
キャプチャーイベントとして取得したらOKでした。

--サンプル--
<head>
<script language="Javascript">
<!--
function kPress(myEvents){
if(document.all){
if(event.keyCode == 13){
return false;
}
}else{
if(myEvents.which == 13){
return false;
}
}
}
//-->
</script>
</head>
<body>
<FORM name="form1">
パスワード <input type="password" name="passwd" value="" size="15" maxlength="10">
</FORM>
<script language="Javascript">
<!--
//キャプチャーイベントの取得
//(ページが読み込み終わってから取得しないとオブジェクトエラーが発生するため)
document.form1.passwd.onkeypress = kPress;
//-->
</script>
</body>


こんな感じデス

25 名前:Name_Not_Found 投稿日:2001/07/04(水) 11:55
>>23
そういうの腹立つか?CSSが書けるなんて「日本語喋れる」
のと大差なし。「日本語喋れる」と言われて腹立つか?
爆笑しちゃうだけだろー。

JavaScriptの話題じゃないと思われてるかも知れないが。
JavaScriptからページの中身の色変えたり位置変えたり
するにはCSS知らないと困るのだよねー。

26 名前:20 投稿日:2001/07/04(水) 11:58
って、リファレンスよく読んだらキャプチャーイベントの意味違うじゃん・・・
逝ってきます

27 名前:Name_Not_Found 投稿日:2001/07/04(水) 13:02
>>26
よく読まなくても、最初から全然違うYO! (ちょっと使ってみたかった…)

ところでリファレンス何見てます?Netscapeのは
Client JavaScript 1.3までしかないので不便!
Core JavaScript 1.5はあるけどこれはECMAと同じだし。

28 名前:Name_Not_Found 投稿日:2001/07/04(水) 14:24
>>27
> ところでリファレンス何見てます?
見ないね。
JavaScriptはいろいろなメソッド・プロパティを使うと、
ブラウザ間での誤差調節が大変。
今までに書いたスクリプトなど確実なものを流用してるので、
あんまりリファレンスの必要性を感じない。

みんな、そんなもんなような気がするんだが・・・。

でも、オススメは知りたい。
他の人の意見も聞きたい。

29 名前:Name_Not_Found 投稿日:2001/07/04(水) 14:26
age

30 名前:Name_Not_Found 投稿日:2001/07/04(水) 14:53
うん、何かマターリしてて良いね。

31 名前:Name_Not_Found 投稿日:2001/07/04(水) 16:39
>>28
一理ある。が、それが言えるのは自分が使うワザが
一通り揃って確立しているからであって、新しい
ことをやろうとしたら調べるためのリファレンスが
必要なんじゃない?今、ワザを学ぼうとしている人
にとっては切実な問題だよね。>リファレンス

確かにブラウザによる違いは大問題。自分では仕方
ないので、DOMとかECMAとか標準になってるものを
参照して、どうしても足りないところは検索したり
Netscapeのサイト、Mozilla.org、MSDNなんかを探し
ている。それでアタマ来るのは、MSってまとめて印刷
できるような形で情報を公開してくれないんだよね。
なんだかなー。

32 名前: 投稿日:2001/07/04(水) 17:18
セレクトメニューを3つ「年」「月」「日」で作成したのですが、
このうちの「月」と「日」で、ありえない日付(例:6月31日など)を
選択した時にエラーメッセージを出すにはどうしたらいいのでしょう?
どなたか教えてください。

33 名前:Name_Not_Found 投稿日:2001/07/04(水) 18:22
連番のオブジェクトをループで扱いたいのですが
配列などに一気に入れる方法ないでしょうか

text0
text1
text2

見たいな感じです

34 名前:Name_Not_Found 投稿日:2001/07/04(水) 18:23
test

35 名前:Name_Not_Found 投稿日:2001/07/04(水) 20:06
>>32
ん?
よくわからない・・・とおもったら、わかった。

月で2・4・6・9・11を選択した時に、
テキトウな変数作って、「1」を代入し、
日を選択した時にその値をチェック(onselectによって)すればいいんじゃない?


サンプル書こうと思ったけど、長くなりそう。
結構めんどくさいかも。
選択した後、サブミットするものなら、
その時にチェックするようにすればいいと思う。

36 名前:Name_Not_Found 投稿日:2001/07/04(水) 21:05
>>33
(1)広域変数とはwindowオブジェクトのプロパティである。
(2)オブジェクトoのプロパティxはo['x']で参照できる。
以上を組み合わせると、次のようにすればよい。

var a = new Array[10];
for(var i = 0; i < 10; ++i) a[i] = window['text' + i];
オワカリカナー。

37 名前:Name_Not_Found 投稿日:2001/07/04(水) 21:30
>>36
いかん、誤「Array[10]」正「Array(10)」だった。
欝だ死のう。

38 名前:Name_Not_Found 投稿日:2001/07/04(水) 21:36
>>32 うろおぼえだが、入力値から一回 Date を作って、元の
日付フィールド値と比較すればよいとおもわれ。違ってたら
突っ込んでくれ。

var m = 6;
var d = 31;
var dt = new Date(2001, m, d);
if(dt.getMonth() != m || dt.getDate() != d){
  alert("逝ってよし");
}

39 名前:Name_Not_Found 投稿日:2001/07/04(水) 21:50
>>38
あのー、蛇足かも知れませんが、Dateクラスでは月
番号は0〜11の範囲になっております。つまり6ての
は日本語でいう「7月」ですな。いや別に、このコー
ドが間違っているという訳じゃあないのですが、こ
れを見ている方、ご注意を。

40 名前:Name_Not_Found 投稿日:2001/07/04(水) 23:19
いいリファレンス教えてくださいな

41 名前: 投稿日:2001/07/05(木) 00:34
>>32 なんとなく作って見ました
こんなんでどうでしょう

<HTML><HEAD><TITLE></TITLE>
<SCRIPT Language = "JavaScript"><!--
function check()
{
var mon = document.myForm.month.selectedIndex;
var day = document.myForm.day.selectedIndex;

myMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

if (day+1 > myMonth[mon])
alert("日付を確認してちょ");
}
//--></SCRIPT>
</HEAD>

<BODY>
<form name="myForm">
<select name="month" onChange="check()">
<SCRIPT Language = "JavaScript"><!--
for (i = 1;i<=12;i++)document.write("<option value ="+i+">"+i);//--></SCRIPT>
</select>月

<select name="day" onChange="check()">
<SCRIPT Language = "JavaScript"><!--
for (i = 1;i<=31;i++)document.write("<option value ="+i+">"+i);//--></SCRIPT>
</select>日</form>
</BODY>
</HTML>

42 名前:芸能人の裏話! 投稿日:2001/07/05(木) 00:50
http://village.infoweb.ne.jp/~rank/srank/rankem.cgi?action=in&id=yukiko

http://village.infoweb.ne.jp/~rank/Rank/rankem.cgi?action=in&id=miyuki

http://village.infoweb.ne.jp/~yama/cgi-bin/Ranklink/ranklink.cgi?action=rank&id=kiss1

http://210.224.170.32/~idol-pics/ranking/rankin.cgi?id=LNK1000011

http://bbx.kidd.ne.jp/minibbs.cgi?0001/miyuki143


★★★★女子高無修正女優アイドル★★★★
http://www.hitoriasobi.com/netidol/idolhappy/maki/

43 名前:Name_Not_Found 投稿日:2001/07/05(木) 00:57
varうざ

44 名前:Name_Not_Found 投稿日:2001/07/05(木) 01:02
>>43
varつけないと広域変数になるから痛い目に会いやすくなるYO!

45 名前: 投稿日:2001/07/05(木) 09:52
>>35さん、>>38さん、>>41さん、
どうもありがとうございます。
いろいろとためしてみますね。

46 名前:Name_Not_Found 投稿日:2001/07/05(木) 10:40
>>37
作ってみました。
結果は

[object]
undefined
undefined
となりtext1とtext2が配列に入ってないようです。
なにが悪いんでしょうか?

<HTML>
<SCRIPT>
<!--
function arrayTest() {
var a = new Array(2);
for(var i = 0; i < 3; ++i) {
a[i] = window['text' + i];
document.write(a[i]);
document.write("<BR>");
}

}
// -->
</SCRIPT>
<BODY>
<INPUT type="text" name="text0">
<INPUT type="text" name="text1">
<INPUT type="text" name="text2">
<INPUT type="button" onClick='arrayTest();'>
</BODY>
</HTML>

47 名前:Name_Not_Found 投稿日:2001/07/05(木) 10:59
>>46
name属性で指定したものって広域変数になるの?
なんか疑問だなー。私はgetElementByIdを使います。
<html><head><title>???</title></head>
<script type="text/javascript">
var a = new Array(3);
function test() {
for(var i = 0; i < 3; ++i) {
a[i] = document.getElementById('text' + i);
a[i].value = i;
}
}
</script>
</head><body><p>
<input type="text" id="text0">
<input type="text" id="text1">
<input type="text" id="text2">
<input type="button" onclick="test()" value="test">
</p></body></html>

48 名前:Name_Not_Found 投稿日:2001/07/05(木) 11:01
>>47
いかん、「</head>」が1つ余計だ…逝ってきます。

49 名前:Name_Not_Found 投稿日:2001/07/05(木) 11:32
>47
できました!
ありがとうございました

<html><head><title>???</title>
<script type="text/javascript">
var a = new Array(3);
function test() {
for(var i = 0; i < 3; ++i) {
a[i] = document.getElementById('text' + i );
//a[i].value=i;
alert(a[i].value);
}

for(var i = 0; i < 3; ++i) {
document.write(a[i].value);
document.write("<BR>");
}
}

</script>
</head><body><p>
<FORM name="name">
<input type="text" id="text0">
<input type="text" id="text1">
<input type="text" id="text2">
<input type="button" onclick="test()" value="test">
</FORM>
</p></body></html>

50 名前:Name_Not_Found 投稿日:2001/07/05(木) 11:34
もうひとつのやりかた
windowオブジェクトのプロパティで値を受け取る方法は
<FORM></FORM>に<input TYPE=text>が入ってしまうと
どうすればいいのかがわからないです。

51 名前:Name_Not_Found 投稿日:2001/07/05(木) 12:07
>>50
試してないけど、form要素の中に入れた場合は

<form name="form1" ...><input name="text0" ...>
という風にnameを指定したばあい(たとえば)、

document.form1['text' + i]

になるんじゃないかな。試してないヨ。

52 名前:名無しさん@MZ-2000 投稿日:2001/07/05(木) 12:25
document.form1.elements['text' + i] とか。

53 名前:Name_Not_Found 投稿日:2001/07/05(木) 12:56
51>
試してみました。
まさにそのとおり
['document.form.text' + i];
ってやって、うごかないなぁてtなやんでました

何度も教えていただき、本当にありがとうございました

54 名前:Name_Not_Found 投稿日:2001/07/05(木) 20:33
>>53
それはそれは…

「広域変数」ってのはこの場合「document」だけです。で、
「document.font」ってのは「document」のプロパティで、
「document.font.text0」ってのは「document.font」の
プロパティなのですよね。オブジェクトとプロパティって
JavaScriptの基本なんだけど、案外知られてないのかな。

55 名前:女の子 投稿日:2001/07/05(木) 20:50
 Hな会話もいいけど、ほんとにHをしよう

 たまに掲示板をみて、これでずっと楽しめるかなー? と疑問に思う。
なんかむなしくなって来ませんか?
だから、実際にHがしたい人がめぐり逢って、純粋に全て忘れて
one night love
楽しもう! 彼氏・彼女いてもOK! 妻・旦那いてもOK!
純粋にシタイひと 待ってマース!
http://village.infoweb.ne.jp/~rank/Rank/rankem.cgi?action=in&id=reika
http://village.infoweb.ne.jp/~rank/Rank/rankem.cgi?action=in&id=miyuki
http://village.infoweb.ne.jp/~rank/srank/rankem.cgi?action=in&id=yukiko
http://village.infoweb.ne.jp/~yama/cgi-bin/Ranklink/ranklink.cgi?action=rank&id=kiss1
http://210.224.170.32/~idol-pics/ranking/rankin.cgi?id=LNK1000011
http://bbx.kidd.ne.jp/minibbs.cgi?0001/miyuki143
http://bbx.kidd.ne.jp/?0001/1234567
Hな会話もいいけど、ほんとにHをしよう
http://www.hitoriasobi.com/netidol/idolhappy/maki/

56 名前:Name_Not_Found 投稿日:2001/07/05(木) 21:23
>>55
アンタ分かってないね。掲示板が楽しいんじゃなくて
JavaScriptでプログラム作って動かすのが楽しいんだヨ!

57 名前:Name_Not_Found 投稿日:2001/07/05(木) 21:26
>>54
「広域変数」ってのはwindowオブジェクトのプロパティーで
使うのが普通みたいだけれど、documentオブジェクトでも
やるってことですか

58 名前:Name_Not_Found 投稿日:2001/07/05(木) 21:40
>>57
ちがうちがう。広域変数を作るのに

var x = 10;

なんていう風にして作れますよね(関数の外側で)。documentも
どっかで

var document = ...;

というふうに作っているものと思ってください。(xにオブジェクト
が入っているものとして)xのプロパティpはx.pで参照できます
よね。documentのプロパティもdocument.form1みたいにして
参照できますよね。これらは単なるプロパティであり、広域変数
ではありません。つまり単なる「p」、単なる「form1」では参照
できません。「x」や「document」はそれ単独でOKですよね。
これらは広域変数だから。広域変数とプロパティの違い、分かりま
した?

59 名前:Name_Not_Found 投稿日:2001/07/06(金) 01:02
つうかグローバル変数と言え。

60 名前:Name_Not_Found 投稿日:2001/07/06(金) 01:12
なるほど…が、「グローバル変数」だと理解するが「広域変数」だと
理解しない、という人は本当にいるんでしょうか?カタカナ語はでき
るだけ減らしたいと思ってるのですが…

61 名前:Name_Not_Found 投稿日:2001/07/06(金) 02:04
「広域変数」
理解は出来ますがなんかもにょもにょします。

62 名前:教えて 投稿日:2001/07/06(金) 02:12
教えてチョ!

マウスをクリックしたらそこに絵が表示される方法をおしえてっ!

お願いします!

63 名前:Name_Not_Found 投稿日:2001/07/06(金) 02:23
>>62

http://www.geocities.co.jp/SiliconValley-Cupertino/5657/img20010514210907.gif
↑をクリックすれば絵が表示されるぞ。
これで完璧!

64 名前:遅漏スマソ 投稿日:2001/07/06(金) 02:49
>>41 うるう年が…。>>38 の方が安全。月は -1 する必要あるが。

65 名前:Name_Not_Found 投稿日:2001/07/06(金) 08:15
>>63
爆笑!

>>62
あらかじめ場所が空けてあってそこをクリックするとその場所
に絵が現れるのか、ふつうにページが表示されてる状態で、
どこでもクリックするとその位置にスーパーインポーズされる
形で絵が現れるのか、どっちですか?

66 名前:教えて 投稿日:2001/07/06(金) 09:47
>65さんへ

ふつうにページが表示されてる状態で、
どこでもクリックするとその位置にスーパーインポーズされる
形で絵が現れる方です。

すいません、おしえてください。

67 名前:Name_Not_Found 投稿日:2001/07/06(金) 10:45
var global = 50; //広域変数の宣言と初期化
alert(window.global);

広域変数って window プロパティー だったのか!?
これってジョーシキだったりして...

つまり
var val = 76;
window.val = 76;
は全く同じ意味なんですね。

68 名前:Name_Not_Found 投稿日:2001/07/06(金) 11:08
>>64 これでよいかな
<HTML><HEAD><TITLE></TITLE>
<SCRIPT Language = "JavaScript"><!--
function check(){
var mon = document.myForm.month.selectedIndex;
var day = document.myForm.day.selectedIndex;
var year = document.myForm.year.selectedIndex;//追加
year = year+2001;//追加
myMonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
if (!(year%4))myMonth[1]=29;//追加
if (day+1 > myMonth[mon])
alert("日付を確認してちょ");
}
//--></SCRIPT></HEAD>
<BODY>
<form name="myForm">
<select name="year" onChange="check()">//追加
<SCRIPT Language = "JavaScript"><!--
for (i = 2001;i<=2030;i++)document.write("<option value ="+i+">"+i);//--></SCRIPT>
</select>年
<select name="month" onChange="check()">
<SCRIPT Language = "JavaScript"><!--
for (i = 1;i<=12;i++)document.write("<option value ="+i+">"+i);//--></SCRIPT>
</select>月
<select name="day" onChange="check()">
<SCRIPT Language = "JavaScript"><!--
for (i = 1;i<=31;i++)document.write("<option value ="+i+">"+i);//--></SCRIPT>
</select>日</form>
</BODY></HTML>

69 名前:Name_Not_Found 投稿日:2001/07/06(金) 11:16
>>61
グローバルスタンダード→「世界標準」
グローバルコーポレーション→「国際企業」

だから、

グローバル変数→「世界変数」または「国際変数」

なんてどお?

70 名前:むぎ茶       投稿日:2001/07/06(金) 11:18


中学生からやりなおしたら?


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley

71 名前:Name_Not_Found 投稿日:2001/07/06(金) 11:42
■[global]のEXCEED英和辞典からの検索結果 


glob・al 
 
a. (地)球状の; 全世界の; 包括的な. 
globalism 
n. 世界的干渉主義, 世界的規模化. 
globalist 
n. 
globalize 
vt. 世界化する, 世界的規模にする. 
globalization 
n. 
globally 
ad. 
global backup 
【コンピユータ】 広域バックアップ ((ハードディスク全体のバックアップ)). 
global character 
【コンピユータ】 ワイルドカード. 
Global Infomation Infrastructure 
【コンピユータ】 世界情報基盤 ((略 GII)). 
global music 
=world music. 
Global Positioning System 
【コンピユータ】 (ナビゲーションに使われる)全地球測位システム ((略 GPS)). 
global product 
世界商品 ((同じ商標名で全世界で販売される)). 
global search 
【コンピユータ】 全文検索. 
global variable 
【コンピユータ】 大域変数, グローバル変数. 
global village 
地球村 ((通信環境の進歩により世界をひとつの村社会とみなす)). 
global warming 
地球温暖化. 

72 名前:Name_Not_Found 投稿日:2001/07/06(金) 12:16
>>65
ホレ。N6/MozillaとIE5.5で確認。N4はさすがに難しい
だろう(画像が1個だけでつつくたびにそこに移動する
ってんならできると思うが)。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0; left: 0; visibility: hidden }
</style>
<script type="text/javascript">
function show(x, y) {
var i = document.getElementById('i1').cloneNode(true);
document.getElementById('b1').appendChild(i); i.style.left = x + 'px';
i.style.top = y + 'px'; i.style.visibility = 'visible';
}
function h1(e) { show(e.clientX, e.clientY); } // N6, Mozilla
function h2() { show(window.event.clientX, window.event.clientY); } // IE
function init() {
if(window.addEventListener) window.addEventListener("click", h1, true);
else document.onclick = h2;
}
</script>
</head><body id="b1" onload="init()">
<p>あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ</p>
<p>あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ</p>
<p>あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ</p>
<p>あいうえおかきくけこあいうえおかきくけこあいうえおかきくけこ</p>
<div id="i1"><img src="test.png"></div>
</body></html>

73 名前:Name_Not_Found 投稿日:2001/07/06(金) 12:36
>>67
広域変数がwindowのプロパティであるのはJavaScript
プログラマの常識であるべきなのですが、意外と知られ
ていないのかも。こういうことをちゃんと押えてあるか
どうかでイザという時に差がつくと思うのですけどね…

74 名前:Name_Not_Found 投稿日:2001/07/06(金) 13:25
>>72
いや、やっぱし、N4でも画像を100個とか用意しとけば
その数まで現われるようにはできるな。まー、やりたい
人がやってよ。

75 名前:教えて 投稿日:2001/07/06(金) 16:20
>65さん

あっそうです!
そうゆうのがやりたかったんです。
言われてすぐできちゃうなんてすごいですね。

おかげで助かりました。
ありがとうございました。

76 名前:Name_Not_Found 投稿日:2001/07/06(金) 23:39
>>75
あのー、おせっかいだとは思いますが、あのコードについて
質問はないんでしょうか… できれば、コピペで動かすだけじゃ
なくて理解して応用できるようになって戴けると嬉しいと思う
のですが。おせっかいですみません。

77 名前:Name_Not_Found 投稿日:2001/07/07(土) 00:24
>>76
私は75ではないですけど、教えてください

cloneNode(true);
appendChild(i);
window.addEventListener

私の持っている本を見ても1つも載ってなかったんです。
恥ずかしいですが...

76さんはどのようなもので勉強なさっていらっしゃるのでしょうか。

78 名前:Name_Not_Found 投稿日:2001/07/07(土) 00:44
>>77
よくぞ聞いてくださいました(誰も聞いてくれなかったら
どーしようかと思った)。cloneNode()とかappendChild()
とかはDOMレベル2コアのメソッドです。DOMではHTML文書や
XML文書をNodeオブジェクトのツリーとして保持し操作させて
くれますが、そのツリーをそっくり複製したり、複製したサブ
ツリーをbodyノードの下に追加するのにこれらを使っている
わけです。

window.addEventListenerはDOMレベル2イベントのメソッド
ですが、こっちは単にクリックを取るためだけに使っているので、
これで頑張らなくてもIEやNetscapeの従来の方法で代替できま
すね(ていうかIE5.5はまだこれをサポートしてないです)。

私はW3Cの規格を読みまくって探求しましたが、やっぱりこれらを
学ぶのにDOMの規格を読むというのはなかなか敷居が高いところな
んじゃないかと思いますんで、これらをきちんと解説した
JavaScript本の登場が待たれるわけです。私の理解するところ
では、DOMと銘打った本も少しは出ていますが、だいたいXMLを
解析して何かする、という感じで、Web製作板っぽいのはナイよう
に思います。違っていたらどなたかぜひ指摘してください。

79 名前:Name_Not_Found 投稿日:2001/07/07(土) 00:51
>>78
素晴らしいです。美しくて涙が出ちゃいそうです。
私も勉強します!

80 名前:Name_Not_Found 投稿日:2001/07/07(土) 12:39
他のスレ読んでると、「JavaScriptはうざい、嫌いだ」
「JavaScriptは切っている」という書き込みもよく目に
します。しかしそれはJavaScriptが悪いんじゃなくて、
そういうウザい動作に使う奴が悪いんですよね。
JavaScriptに罪はないのにかわいそ…(泣)

で、こういうことは嫌われるからやめようとか、こうい
うことにJavaScript使うのなら歓迎されるんじゃないの
とか、そゆ話題もあるといいなあ…

81 名前:Name_Not_Found 投稿日:2001/07/07(土) 12:44
>>80
ブラクラにJavaScriptを使うと嫌われます。そんだけ。
それ以外は歓迎!

82 名前:Name_Not_Found 投稿日:2001/07/07(土) 12:50
>>81
ブラクラが好きな奴がいるか!!!

それはそーと、私は、新しく窓を開かせる
のはウザいから絶対やめた方がいいと思う。

83 名前:Name_Not_Found 投稿日:2001/07/07(土) 16:08
>>82
「あなたが」ウザイと思うから絶対やめた方がいいの?

84 名前:Name_Not_Found 投稿日:2001/07/07(土) 16:38
>>83
いや、私が「ウザイから絶対やめた方がいい」と
思っているだけで、そう思わない人の話も聞きたい
ですね。

85 名前:Name_Not_Found 投稿日:2001/07/07(土) 18:57
DOMのことなんですけど、XMLの本には詳しく書いてあるのもありますね。
そういうのを見てDOMを使うのもよいかなぁなんて思ったりしているのですが...

でも、DOMって使いようによってはスバラシイですね

86 名前:Name_Not_Found 投稿日:2001/07/07(土) 21:40
>>85
DOMを使うとページ内容がどういう風にでもいじくれますから、
アイデア次第で何でもできるっていう感じです。どっちかとい
うと「よいアイデア」の方がなかなかないですけど。

それで、XML+DOMでオススメの本って何でしょうか?

で、XMLもいいんですが、我々は今のところdocument.forms
とかonclickとか使いながらJavaScriptコードを書くわけで、
となるとHTML+DOMになるんですよね。しばらくすればXHTML
2.xとかなるかも知れないけど、ここんとこ当面は。

世の中、「HTML 4.01はもう古くて今はXHTML 1.1だ」とか
語る人もいますけど、我々JavaScriptor(?)はしばらくは
HTMLで書くんだろうと思っています。反論お待ちしてますが。

87 名前:Name_Not_Found 投稿日:2001/07/07(土) 21:52
>>84
ツールバーとかを消したり
サイズ指定したりできるから僕は好き。
それよりソース見せないように
必死になってるサイトが僕は嫌い。

ソース見られるのってそんなに嫌なものなのかな?

88 名前:エッチ 投稿日:2001/07/07(土) 21:53
/ww・━━ヽ、
           fvwwノイノノ))))
             |:::i::i(6リ イ (:"
             |i:!:!:ノハ、~ 、ノi http://www.hitoriasobi.com/netidol/idolhappy/maki/
             ||:f´:/ (^´:l::j
             ∨⌒\`、リノ
              /  ,  /⌒ヽ http://www.hitoriasobi.com/netidol/idoler/megu/
          /  /,ー<;;;,,,...ノ
            〈  〈)    /´\
          \. \  i \ \
            / \.\ .j  \. \
            f`ー´ヽ ヽ   \ ヽ、__
          i_,/⌒「>__ノ>     ヽ、_っ、)
          <~Y__  /7ハ:く      f /:::;;ヘ
          /7∧∨//ノヾヽ、   il.//〃ヽ
          /〃/;;〉;|;;|;|;;∧;\ゝ  |`i//f   i
        ム'ヘ__/_⊥」レヘ/ ̄   i| i'   |  |
              };:::::::::jj      i| ||  |  |

89 名前:84 投稿日:2001/07/07(土) 22:41
>>87
ソース隠しって確かにおかしいですよね。ブラウザで
実行される以上、見えないなんて無理だよねえ。

ところで言葉足らずだったと気がついたので補足したい
のですが、私が嫌だと言ったのは「勝手に窓が開かれる」
ような場合です。「窓を開く」というボタンかリンクが
あって、そこを選択すると窓ができる。というのなら、
全然文句ないです。それだったら、窓の大きさ変えたり
ツールバーなくしたりしてもいいと思いますよー。独自
のブラウザもどきを作ったりして?

90 名前:Name_Not_Found 投稿日:2001/07/08(日) 00:17
皆さんはXHTMLやXMLは普通に使えるのでしょうか

91 名前:Name_Not_Found 投稿日:2001/07/08(日) 00:52
Window開くのがよくないっていうのが書いてあるのに申し訳ないのですが、Mac IE NN Win NNで
動作が不安定で、たまに開いたりしますが反応しません、ちょっと原因がわかりません。
<script language="JavaScript" type="text/javascript">
<!--
function hoge()
{window.open("hoge.html","ホゲ","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=no,width=400,height=600");
}
// -->
</script>

<a href="javascript:hoge()">ホゲページへ</a>

92 名前:( ´Д`) 投稿日:2001/07/08(日) 00:59
>>90
割合はそんなに多くはないんじゃないでしょうか。
JavaScriptはW3C勧告のDOMインターフェースとイコールじゃないですし。

93 名前:Name_Not_Found 投稿日:2001/07/08(日) 01:22
>>92
あ、復活した!

94 名前:( ´Д`) 投稿日:2001/07/08(日) 02:22
>>93
ようやく仕事に忙殺されなくなったので、まあぼちぼちと出没します(苦笑

95 名前:Name_Not_Found 投稿日:2001/07/08(日) 04:37
DOMは、javascriptとCSSの合わせ技だと思っている私は
勘違いヤロウですか?

96 名前:Name_Not_Found 投稿日:2001/07/08(日) 05:34
お知恵を拝借させてください。
ページを横長にレイアウトして、左端に用意されたリンクをクリックすると、
画面を左から右へと横にスクロールさせていってページ内の指定した場所まで移動させるには、
どうすればよいのでしょうか。
タグで、<A NAME="xxx">〜</A>と<A HREF="#xxx">〜</A> とした場合のように、
ページ内の指定場所にジャンプするのではなく、画面をスクロールさせて見せたいんです。

イメージとしては掛け軸や巻物を広げて、一番左端にある目次から、
右側にある読み物に向かってスクロールさせて、リンクさせるといった感じです。
よろしければご教授ください。

97 名前:Name_Not_Found 投稿日:2001/07/08(日) 09:59
>>90
XHTMLってHTMLと大して変わらないと思ってます。ちょっと
書き方が違うだけで。モジュールとかやりだすと違うのかも
知れないけどよく知らない。XMLもDTD書いてチェックするんで
なければ好きなタグ名が使えるというだけで、別に嬉しくはない。
XSLTみたいに大技やりたいとも思わないし。JavaScriptする
んならHTMLがいちばん便利。個人的考えですが。

>>91
window.open()の第2引数(ウィンドウ名)に日本語使っている
のが怪しげじゃないかな。英字と数字だけの文字列にしてみては
どうでしょう。

>>94
ぱちぱちぱち。

>>95
JavaScriptはプログラム言語であり、DOMはさまざまなモノ(含む
HTML、CSSの記述内容)をプログラム言語から操作できるように、
インタフェースを定めたもの。と考えると、「合わせる」には次元が
ちょっと違うように思います。

98 名前:Name_Not_Found 投稿日:2001/07/08(日) 12:05
JavaScript って VBScript の Const のようなものってありますか?

99 名前:Name_Not_Found 投稿日:2001/07/08(日) 13:57
>>98
JavaScript 1.5(N6/Mozillaに内蔵されてる奴)では
varの代わりにconstと書けるんだったかな。でも標準
じゃないので使わない方がよろしいでしょう。

100 名前:Name_Not_Found 投稿日:2001/07/08(日) 14:55
>>96 かなりかっこ悪いですがどうでしょうか。
<HTML><HEAD><TITLE></TITLE>
<SCRIPT Language = "JavaScript"><!--
var xPos=0;
var timerID;
var xLim;
function jump()
{
timerID = setTimeout('jump(xLim)',100);
if (xPos>=xLim){
clearTimeout(timerID);
xPos = 0;return;
}
else{
xPos +=50;
}
scroll(xPos,0);
}
onUnload = clearTimeout(timerID);
//--></SCRIPT></HEAD>
<BODY>
目次<br>
<a href="javascript:xLim=1000;jump()">その一</a><br>
<a href="javascript:xLim=1500;jump()">その二</a><br>
<a href="javascript:xLim=2000;jump()">その三</a><br>
<Div style="position:absolute;top:30px;left:1000px">その一</Div>
<Div style="position:absolute;top:30px;left:1500px">その二</Div>
<Div style="position:absolute;top:30px;left:2000px">その三</Div>
<Div style="position:absolute;left:3000px"> </Div>
</BODY></HTML>

101 名前:Name_Not_Found 投稿日:2001/07/08(日) 15:02
>>100追加
ジャンプ先?のポジションは xPos += ??の倍数じゃないとまずい。
あと、スペーサーgifかなんかを使って横幅を確保したほうがいいね。ネスケ6でエラーがでるけど動く。

102 名前:Name_Not_Found 投稿日:2001/07/08(日) 21:00
>>100
私も書いてみました。100さんの違う点はdivの配置も初期設定
で自動でやるようにしたこと(この方がコンテンツが書きやすい…
どんどんdivを増やして行けば済む)、スクロール距離にかかわ
らず1秒でスクロールし終るようにしたこととかですかね。この
手のものの問題として、ユーザがスクロールバーを使って内容を
スクロールさせてしまうと、プログラムが考えている現在位置と
食い違うことだと思うのですが…現在のスクロール位置って取得
できるのでしょうか?知っている人いたら教えてください。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0; left: 0; width: 300px; height:
400px; border-style: ridge; border-width: 4px; border-color: blue }
</style>
<script type="text/javascript">
var width = 300, cur = 0, dx = 0, count = 0;
function init() {
for(var i = 0; document.getElementById('i'+i); ++i) {
document.getElementById('i'+i).style.left = (width*i) + 'px';
}
}
function move(i) {
window.scrollTo(cur*width, 0); dx = (i-cur)*width/20; count = 20;
window.setTimeout(step, 50); cur = i;
}
function step() {
window.scrollBy(dx, 0); if(--count > 0) window.setTimeout(step, 50);
}
</script>
</head><body onload="init()">
<div id="i0"><a href="javascript: move(1)">1番目</a>
<a href="javascript: move(2)">2番目</a>
<a href="javascript: move(3)">3番目</a></div>
<div id="i1"><a href="javascript: move(0)">戻る</a></div>
<div id="i2"><a href="javascript: move(0)">戻る</a></div>
<div id="i3"><a href="javascript: move(0)">戻る</a></div>
</body></html>

103 名前:Name_Not_Found 投稿日:2001/07/08(日) 23:27
Netscape の JavaScript エンジンは IE の JScript エンジンのように
外部からコンポーネントとして利用することって出来ます?
この辺りの仕様を知っている人がいたら解説願いたいですね。

104 名前:Name_Not_Found 投稿日:2001/07/09(月) 00:03
>>103
COMのコンポーネントとして、というのは聞いたことありません。
Netscape(Mozilla)でソースコード公開してますし、他の
プログラムにJavaScriptエンジン組み込んで利用するには、
っていうページもありますけど。http://www.mozilla.org/js/

105 名前:100 投稿日:2001/07/09(月) 00:06
>>102
いやぁ〜102さんのはカッコイイ!!
なんかいろいろ勉強になりました。あと、現在のスクロール位置の取得って
やっぱりできないですかねぇ

106 名前:( ´Д`) 投稿日:2001/07/09(月) 00:48
>>105
IE4以降であればscrollTop・scrollLeftというプロパティで取得できます。
(プロパティの値は数値形式で、単位はピクセルになっています)
例えば、Element1というidを持つ要素の縦スクロール位置を算出するなら
document.Element1.scrollTopといった形になります。
もちろんdocument.all("Element1").scrollTopと書いても構いませんし、
IE5以降であればdocument.getElementById("Element1").scrollTopでもOKです。

107 名前:(;´Д`) 投稿日:2001/07/09(月) 00:56
106でウソ書いてました。スマソ。
> document.Element1.scrollTopといった〜
Element1.scrollTopの間違いです。
document付けたらエラーになっちゃいますね、コレ。

108 名前:96 投稿日:2001/07/09(月) 09:15
反応遅くてすいません。
>>100 さん
>>102 さん
ありがとうございます。 大変参考になりました。
( ´Д`) さんの情報も合わせて、もう一度チャレンジしてみます。

109 名前:Name_Not_Found 投稿日:2001/07/09(月) 09:45
>>106
やっぱりMSIE固有の機能としてはあるんですね。N6/Mozilla
にあるなら両方対応にして使いたいところですけど…なんかの標準
に入りませんかねー。

110 名前:Name_Not_Found 投稿日:2001/07/09(月) 11:20
メニューの項目にマウスオーバーさせるとそのメニュー内の小項目がバッと
表示されるような仕組みを作ろうと思っています。 具体的には

http://www.inktomi.com/japan/
http://www.imjp.co.jp/index.html

にあるようなものが作りたいのです。それで、市販されている本などを
参考にしながら以下のように自分で書いてみたのですが、
IE5.0だとうまくいくのですがNN4.7だとダメなんです。
うまくマウスオーバーが働かないようなのです…

<html>
<head>
<script language="JavaScript">

function showLAYER(layName){
if(document.layers)document.layers[layName].visibility="show"
if(document.all)document.all(layName).style.visibility="visible"
}
function hideLAYER(layName){
if(document.layers)document.layers[layName].visibility="hide"
if(document.all)document.all(layName).style.visibility="hidden"
}

var img_b = new Array();
img_b[1] = new Image(); img_b[1].src = "menu1_off.gif"
img_b[2] = new Image(); img_b[2].src = "menu2_off.gif"
img_b[11] = new Image(); img_b[11].src = "menu1_on.gif"
img_b[12] = new Image(); img_b[12].src = "menu2_on.gif"

function b_in(nam,num){
document.images[nam].src = img_b[num].src;
}

function b_out(nam,num){
document.images[nam].src = img_b[num].src;
}

</script>
</head>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<span onmouseover="showLAYER('menu')">
<img src="menu1_off.gif" border="0">
</span>

<div id="menu"
style="position:absolute; left:0px; top:0px; visibility:hidden;"
onmouseover="showLAYER('menu')" onmouseout="hideLAYER('menu')">
<a href="top2.htm" onmouseover="b_in('p1',11)" onmouseout="b_out('p1',1)">
<img src="menu1_off.gif" name="p1" border="0"></a><br>
<a href="main2.htm" onmouseover="b_in('p2',12)" onmouseout="b_out('p2',2)">
<img src="menu2_off.gif" name="p2" border="0"></a>
</div>

</body>
</html>

よろしければどなたかご教授下さい。お願いします。

111 名前:Name_Not_Found 投稿日:2001/07/09(月) 12:55
>>110
N4の場合、onmouseoverみたいにマウスイベント取るものは
もともとマウスイベントを取る要素でないとうまく動きません。
最初の<span>...</span>を適当な<a>...</a>に変えてみては?

112 名前:Name_Not_Found 投稿日:2001/07/09(月) 13:08
<script language="JavaScript" src="hoge.js">
</script>
で複数の外部ファイルを指定することってできますか?

113 名前:Name_Not_Found 投稿日:2001/07/09(月) 13:40
>>112
できるというか、複数指定したければ<script>...</script>
をその個数だけ入れるんではないでしょうか。1つのscript
要素についてはJSファイル1つだけ指定可能だと思います。

114 名前:102 投稿日:2001/07/09(月) 13:45
N6ではwindow.pageXOffset、window.pageYOffsetでスクロール位置が
取れることが分かりました。で、IEと合わせて対応してみました。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0; left: 0; width: 300px; height:
400px; border-style: ridge; border-width: 4px; border-color: blue }
</style>
<script type="text/javascript">
var width = 300, dx = 0, count = 0;
function init() {
for(var i = 0; document.getElementById('i'+i); ++i) {
document.getElementById('i'+i).style.left = (width*i) + 'px';
}
}
function move(i) {
var x = window.pageXOffset||document.getElementById('b1').scrollLeft||0;
dx = (i*width - x)/20; if(dx < 0) --dx;
count = 20; window.setTimeout(step, 50);
}
function step() {
window.scrollBy(dx, 0); if(--count > 0) window.setTimeout(step, 50);
}
</script>
</head><body id="b1" onload="init()">
<div id="i0"><a href="javascript: move(1)">1番目</a>
<a href="javascript: move(2)">2番目</a>
<a href="javascript: move(3)">3番目</a></div>
<div id="i1"><a href="javascript: move(0)">戻る</a></div>
<div id="i2"><a href="javascript: move(0)">戻る</a></div>
<div id="i3"><a href="javascript: move(0)">戻る</a></div>
</body></html>

115 名前:Name_Not_Found 投稿日:2001/07/09(月) 13:56
フラグを使いたい場合なんですが、
boolean型の変数ってないですよね?

isParameterATrue = "true"
みたいな使い方をしてますが、みなさんはどうですか?

116 名前:Name_Not_Found 投稿日:2001/07/09(月) 14:08
>>115
あのー、JavaScriptには変数には型がありませんが、
データにはありますよ。そして、論理値型がちゃんと
用意されてます。trueとfalseという立派なリテラル
もあります。だから「isParameterATrue = true;」で
いいんじゃないですか?

117 名前:名無しさん 投稿日:2001/07/09(月) 14:13
cockieを消すことについて質問させてください。

/hello/hogehoge/bbs.cgi
にて発行したクッキーを

/hello/index.html
から、ファイル内に書いてあるJavaScriptで削除することはできますか?
同じディレクトリ(/hello/hogehoge/)からだとできるのですが…。

118 名前:Name_Not_Found 投稿日:2001/07/09(月) 14:18
>>117
パスが違うからできないんじゃないかな。クッキーを
発行するときにパスを /hello/ に設定しておけばでき
るんじゃないでしょうか?

119 名前:117 投稿日:2001/07/09(月) 14:34
やっぱりパスが違うとできないのでしょうか?
セキュリティためですよねきっと。

>>発行するときにパスを /hello/ に設定

これでやってみます。ありがとうございます。

120 名前:110 投稿日:2001/07/09(月) 14:51
>>111 さん
確かに<span>を<a>に変えたらうまくいきました!
ありがとうございました!

ただ、この問題は解決したんですが、次の問題に当たってしまいまして…
メニューにマウスオーバーさせてメニュー内項目を
表示させるところまではうまくいったのですが、
メニュー内項目にマウスを乗せているときに
ロールオーバーで項目が光ったような演出をしているんですが、
(menu1_off.gif→menu1_on.gifのように)
やはりIE5.0だと大丈夫で、NN4.7だとダメなんです。

なお、>>111さんのご教示のとおり、<div>タグ内でも
マウスイベントはダメなようでしたので、
110で示した僕のソースの後半部分を以下のように変えてみました。

<div id="menu"
  style="position:absolute; left:0px; top:0px; visibility:hidden;">
<a href="top2.htm" onmouseover="showLAYER('menu'),b_in('p1',11)"
      onmouseout="hideLAYER('menu'),b_out('p1',1)">
<img src="menu1_off.gif" name="p1" border="0"></a><br>
<a href="main2.htm" onmouseover="showLAYER('menu'),b_in('p2',12)"
     onmouseout="hideLAYER('menu'),b_out('p2',2)">
<img src="menu2_off.gif" name="p2" border="0"></a>
</div>

</body>
</html>

何がダメなのかさっぱりわかりません…
あ、ちなみにNN4.7で見た場合、
ページを読み込んで一度マウスオーバーさせたあとマウスアウトさせると
JavaScript error:Type 'javascript:' into Location for details
というエラー文が表示されます。
どういう意味なんでしょう…??

121 名前:Name_Not_Found 投稿日:2001/07/09(月) 15:12
>>120
うーん、何でしょうね?とりあえず、メニューと関係ない
場所でなら光らせられることを確認して問題を切り分けて
みてはどうでしょう?

122 名前:Name_Not_Found 投稿日:2001/07/09(月) 15:30
JavaScriptの開発環境ってなにをお使いですか?

エディタの方が多そうなのですが、おすすめあればおしえてください

123 名前:むぎ茶       投稿日:2001/07/09(月) 15:33


開発ねぇ(n


┐(´ー`)┌


┏━━━━━━━━━┓
┃('Д')y ─┛~~ ┃
┃むぎ茶      ┃
┃mugicha@360.cc  ┃
┗━━━━━━━━━┛
むぎちゃんねる
http://aho0baka.virtualave.net/bbs/bbs.cgi
メイリングリスト
http://www.freeml.com/ml_info.php?ml=bitvalley

124 名前:Name_Not_Found 投稿日:2001/07/09(月) 15:41
>>122
開発環境に望むものって何ですか?コンパイルが必要
なわけじゃなし、せいぜい100行とか200行くらいのス
クリプト書くだけですよね…私はエディタ以外で
JavaScript書くなんて想像できないな。

125 名前:Name_Not_Found 投稿日:2001/07/09(月) 16:46
>>120

onmouseout="hideLAYER('menu'),b_out('p1',1)"

onmouseout="hideLAYER('menu';b_out('p1',1)"
だよね?

126 名前:120 投稿日:2001/07/09(月) 19:15
>>121
いろいろ調べてみたのですがサッパリです。
とりあえずロールオーバーさせる部分だけを切り取って調べてみて、
ただひとつ分かったことは、DIVタグ内のstyle属性を消去してしまえば
ロールオーバー効果が発揮できるようになる、ということです。
でもこれだとメニュー内項目の表示のための絶対位置指定が
できなくなってしまい、困りまくりです。
どうしたもんでしょう??

(でも前にもstyleを指定しつつロールオーバーさせて
うまくいったような気がするんですが…←夢!?)

>>125
ウッカリしてました!
カンマじゃなくセミコロンですよね。
…と思って直してみたんですが、やっぱり
JavaScript error:Type 'javascript:' into Location for details
の表示が…。
う〜ん、わからない…

127 名前:Name_Not_Found 投稿日:2001/07/09(月) 19:55
>>126
へー、それは不思議ですねえ。じゃあ、style属性を使う代わり
に<style>...</style>で別途指定してみてはどうでしょう?

あと、カンマでも合ってますよ。「式, 式」というのは「カンマ
演算子」で、左の式を評価し、続いて右の式を評価しますから。

ところで、上記のエラーが出た場合URL欄(ロケーション欄)に
「javascript:」と打ち込んでリターンしてみてください。
もっと詳しいエラー情報がみられます(これがないと何が悪くて
止まっているのか分かりません)。

128 名前:( ´Д`) 投稿日:2001/07/09(月) 23:38
>>127
えーと、レイヤを不可視にする際のvisibilityプロパティの指定を
"hide"から"hidden"に換えて試してみてください。
バージョンよっては"hide"が効かない疑惑がありますので。

129 名前:Name_Not_Found 投稿日:2001/07/10(火) 08:43
>>128
N4あたりでは「show」「hide」でしたが、今はCSSに
合わせたので「visible」「hidden」なんですよねー。
たしか。

130 名前:126 投稿日:2001/07/10(火) 12:36
相変わらずロールオーバー効果がうまく出ません…

>>127
styleを別で指定してみましたがダメでした。
もうちょっと調べてみます。
あと、URL欄に「javascript:でリターン」でエラー情報がでるなんて
全然知りませんでした。便利ですね!(って、知らない方が問題?)
それでエラーを表示させてみたところ、
document.images[nam] has no properties.
とのことでした。
これは、p1(メニュー内項目の画像の名前)が
関数に渡されてないということですかね?
もっと調査してみます。

>>128
レイヤの可視-不可視についてはしっかり機能してますので、
NN用→hide、IE用→hiddenでOKかと思います。
でも>>129さんの意見を見て思ったんですが、
NN6.xでは「hide」は使えないんですか?
NN6.xは持ってないので未チェックなんです。
今度導入して調べなければ。

131 名前:Name_Not_Found 投稿日:2001/07/10(火) 13:19
>>131
分かりました! 実は私もちょうど昨晩! それで悩んで
いたのです。どうも、position: absoluteにした要素
中のImageオブジェクトがdocument.images[]に入って
くれないようです。面倒ですね。

私が取った解決策ですが、Imageオブジェクトのsrc
プロパティでロールオーバーする代りに差し替えたい
イメージを貼った別の要素(レイヤー)を同じサイズで
用意しておき、それらの要素全体としての可視/不可
視を切り替えて差し替えるようにして逃げました。
いったい何なんでしょうね〜?

132 名前:131 投稿日:2001/07/10(火) 14:24
>>130
すみません、参照番号間違えました。ついでに昨晩作ってたモノ
をお見せします。2つの画像が切り替わりながら画面内を「ポン」
みたいに反射しつつ移動します。N4も対応。で、可視/不可視にす
る方法、N6/Mozillaでも'visible'/'hidden'が正しいです。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute }
</style>
<script type="text/javascript">
var v, h, unit, e1, e2, x = 0, y = 0, dx = 2, dy = 3, count = 0;
function init() {
if(!document.getElementById) {
e1 = document['d1']; e1.style = e1; e2 = document['d2']; e2.style = e2;
v = 'show'; h = 'hide'; unit = '';
} else {
e1 = document.getElementById('d1'); e2 = document.getElementById('d2');
v = 'visible'; h = 'hidden'; unit = 'px';
}
setInterval(move, 50);
}
function move() {
x += dx; if(x > 400 || x < 0) dx = -dx;
y += dy; if(y > 300 || y < 0) dy = -dy;
var e3 = e1, e4 = e2; if(++count % 50 > 25) { e3 = e2; e4 = e1; }
e3.style.visibility = v; e4.style.visibility = h;
e3.style.left = x+unit; e3.style.top = y+unit;
}
</script>
</head><body onload="init()">
<div id="d1"><img id="i1" src="a.png"></div>
<div id="d2"><img id="i2" src="b.png"></div>
</body></html>

133 名前:Name_Not_Found 投稿日:2001/07/10(火) 15:22
えー、>>114 みたいに横に並んでいるページ構成って
色々使えませんかねー。カードを隣のと交換して動かす
のも簡単だし。カードゲームとか、いっそマージャン?

134 名前:VBS−>JS 投稿日:2001/07/10(火) 18:56
質問です。JavaScriptにはVBScriptのOn Errorステートメントみたいな
機能はありませんか?実行時エラーを無効にするやつです。

135 名前:Name_Not_Found 投稿日:2001/07/10(火) 19:08
>>134
try {
エラーが起こるかもしれない処理
} catch(e) { }

136 名前:Name_Not_Found 投稿日:2001/07/10(火) 21:35
関数を3つくらい作って
function A{処理}
function B{処理}
function C{処理}

A→B→C って風に順番に連続して実行させるにはどうしたらいいんですか?

137 名前:Name_Not_Found 投稿日:2001/07/10(火) 23:00
>>136
function ABC() { A(); B(); C(); }

138 名前:136 投稿日:2001/07/10(火) 23:19
>>137
ありがとうございました

139 名前:Name_Not_Found 投稿日:2001/07/11(水) 02:07
135へ
サンクスです

140 名前:Name_Not_Found 投稿日:2001/07/11(水) 05:54
変数の中に関数名を入れ、その関数を呼び出す…
みたいな処理はJavaScriptでできますか?

141 名前:Name_Not_Found 投稿日:2001/07/11(水) 08:19
>>140
<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function test1(s) { window.alert('message: ' + s); }
var f = 'test1';
window[f].call(null, 'Hello, World.');
</script>
</body></html>

142 名前:130 投稿日:2001/07/11(水) 09:22
>>132
お返事遅れました。
僕も別レイヤーの可視-不可視の切り替えでやろうかと思います。
ありがとうございました。

143 名前:Name_Not_Found 投稿日:2001/07/11(水) 10:48
引数を持った関数内で、再帰で自分を呼び出すことはできますか?

144 名前:Name_Not_Found 投稿日:2001/07/11(水) 11:08
>>143
できます。これができないようじゃまっとうな言語じゃない。

<html><head><title>???</title>
</head><body>
<script type="text/javascript">
function fact(n) { if(n < 1) return 1; else return fact(n-1)*n; }
document.writeln('<p>' + fact(5) + '<\/p>');
</script>
</body></html>

145 名前:140 投稿日:2001/07/11(水) 16:04
>>141
ありがとうございました。助かりました。

146 名前:141 投稿日:2001/07/11(水) 16:12
>>145
なんか質問してくんないの〜? ;_;

(1)関数定義は広域変数に関数オブジェクトを
格納しているだけ。

(2)広域変数はwindowオブジェクトのプロパティ。

(3)関数オブジェクトはcallメソッドを使って
呼び出すことができる。

ということだったんですね。まあそれだけだけど。

147 名前:VBS->JS 投稿日:2001/07/11(水) 21:23
VBScriptのClassステートメントに相応するものってJavaScriptにありますか?
Classステートメントは動的にオブジェクトを生成するのでVBScriptでは
IDispatchExインターフェイスの実装になるようです(IDispatchではない!)。
JScriptならVBScriptと同じActive Script Engineだからありそうな気がするのですが
見つけれなかった。JavaScriptだと根本的に異なるからあるのかどうかもわかりません。
実装にも詳しい人がいるみたいなのでちょっと板違うかなとも思いましたが聞いてみました。
(プログラム板だとちゃんと聞いてもレスしてくれる人がいないんだよね。)

148 名前:Name_Not_Found 投稿日:2001/07/11(水) 23:21
>>147
うーんそれは…JavaScriptでオブジェクト種別を
定義する方法はあるけど、COMオブジェクトにしたい
わけね?それはちょっとなさそうだなあ…

JScrptなら確かにMSDNを探すとできるっぽいことが
書いてある。しかし具体的にどうやるのかは不明。
役に立たなくてすいません。

149 名前:Name_Not_Found 投稿日:2001/07/11(水) 23:22
call メソッドの第一引数は何ですか?
あと、apply メソッドとの違いは何でしょうか。教えてください。

150 名前:( ´Д`) 投稿日:2001/07/11(水) 23:35
>>147
classはJavaScript2.0から利用できますが、
ブラウザの実装状況はちょっとわかりません。
IE5のJScriptあたりなら対応してるかもしれません。

また、オブジェクトの雛型を作りたいのであれば
以下のような記述方法があります。

function ColorObject(R, G, B){
  this.Red = R;
  this.Green = G;
  this.Blue = B;
}

var Colors = new ColorObject(63, 127, 255);

こうすることで、Red,Green,Blueという
3つのプロパティを持つオブジェクトの雛型が用意できます。
試しに、この後に続けて

alert(Colors.Red);

と記述すれば、アラートダイアログに"63"と表示されるハズです。

151 名前:Name_Not_Found 投稿日:2001/07/11(水) 23:35
>>149
はいはい。第1引数は「this」に対応するオブジェクト
ですね。ですからメソッドも呼べるというわけ。
nullを渡すと広域オブジェクト(window)が使われます。

callとapplyの違いですが、引数をバラバラに渡すか、
1つの配列にまとめて渡すかの違いです。つまり

f.call(null, x, y, z);
f.apply(null, new Array(x, y, z));

は同じということになります。その場ごとに便利な方
を使えばよろしいんじゃないでしょうか。

152 名前:Name_Not_Found 投稿日:2001/07/11(水) 23:43
>>150
わー! プロパティを大文字で始められるともにょもにょします。

153 名前:( ´Д`) 投稿日:2001/07/11(水) 23:44
>>149
第一引数はfunction型のオブジェクトであれば何でも構いませんが、
自身の引数を引き渡すためにthisを使うケースが多いです。
callとapplyの違いは引き渡す引数の個数です。
前者は指定した個数を、後者は全てを引き渡します。

154 名前:( ´Д`) 投稿日:2001/07/11(水) 23:47
>>152
自作のオブジェクトやプロパティを
分かりやすく命名するのには丁度いいんですが(笑

155 名前:147 投稿日:2001/07/12(木) 01:06
>役に立たなくてすいません。
いえいえ、こんなに熱心に答えてくれるだけで十分嬉しいですよ、ほんとの話。
こういうこと言うと他所では煽り食らっちゃうけどね。

156 名前:145 投稿日:2001/07/12(木) 01:35
>>146
イメージオブジェクトについて色々知恵つけた後だったので、
わりとすんなり飲み込めましたYO。
でもその後の流れを読むと、さらに「なるほど〜」という感じです。

157 名前:Name_Not_Found 投稿日:2001/07/12(木) 07:54
>155
このスレは異例に煽りが少ないですよね。age荒らしも
来なかったし。コード載せまくりなのがいいのかな。

158 名前:Name_Not_Found 投稿日:2001/07/12(木) 08:30
while(true) {
document.writeln('========= 終了 ===========');
}

終了荒らし(w

159 名前:Name_Not_Found 投稿日:2001/07/12(木) 10:46
外部ソースを複数指定するときの書き方はこんな感じでいいですか?
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
<SCRIPT src="hoge.js"></SCRIPT>
<SCRIPT src="foo.js"></SCRIPT>
</HEAD>
<BODY>
<BODY>
</HTML>

160 名前:Name_Not_Found 投稿日:2001/07/12(木) 11:05
>>159
だめ。やるならこんな感じ。
<SCRIPT type="text/javascript" src="hoge.js"></SCRIPT>
<SCRIPT type="text/javascript" src="foo.js"></SCRIPT>

161 名前:Name_Not_Found 投稿日:2001/07/13(金) 00:17
昨日は新しい質問がなかった…

162 名前:Name_Not_Found 投稿日:2001/07/13(金) 02:23
<SCRIPT LANGUAGE="JavaScript"></SCRIPT>
↑ここは目をつぶるとして      ↑閉じてどうするよ?じゃあこの一行いらねえじゃん。

163 名前:Name_Not_Found 投稿日:2001/07/13(金) 08:10
language属性が標準じゃないというのはおいといて、
余分なマークアップがあるくらい大したことないよ。
グチャグチャに間違ったマークアップに比べればさ。

164 名前:Name_Not_Found 投稿日:2001/07/13(金) 09:54
フレームで質問なんですが
左右にフレームを分けるとします
スクロールバーを一つにしたいんです
そしてスクロールバーを動かすと右も左も同時にスクロールする

というのはページにしたいんですけど無理でしょうか

165 名前:Name_Not_Found 投稿日:2001/07/13(金) 10:25
スクロールバーが動いたっていうイベントありますか?

166 名前:Name_Not_Found 投稿日:2001/07/13(金) 10:29
>>163
language属性が標準じゃないってことは>>144のように
<script type="text/javascript">
にしなきゃいけなんですか

167 名前:Name_Not_Found 投稿日:2001/07/13(金) 10:47
自らのウィンドウサイズを変えるにはどうしたらいいんでしょうか?
新しいウィンドウを開いて元のウィンドウを消すというのはちょっと
イヤなので。

168 名前:Name_Not_Found 投稿日:2001/07/13(金) 10:48
>>166
language属性でも動くけど<script type="text/javascript">の方が無難だよ( ̄ー ̄)b

169 名前:Name_Not_Found 投稿日:2001/07/13(金) 10:56
>>167
こんな感じでどうですか?
<html>
<head>
<script type="text/javascript">
<!--
function monagiko(){
window.resizeTo(400,400);
}
//-->
</script>
</head>
<body onLoad="monagiko()">
</body>
</html>

170 名前:142 投稿日:2001/07/13(金) 11:00
少し前に、
「メニューの項目にマウスオーバーさせるとそのメニュー内の小項目が
バッと表示されるような仕組み」
を作っていた者です。>>110
謎が解けましたので後進のために報告しておこうと思います。
(後進なんて言えるほど自分は進んでませんが…)

例えば"menu_bar"というレイヤーの中にある"menu1"という名前の
画像を操作しようとするとき、IEでは

document.images[menu1].src = swapImg[num].src;

のようにしますが、NNでは

document.layers[menu_bar].document.images[menu1].src = swapImg[num].src;

のようにしなければなりません。
つまり、IEではいきなり画像"menu1"を指定して操作できるのですが、
NNでは「"menu_bar"レイヤーの中にある"menu1"という画像」
のようにキッチリ指定しないとエラーになってしまうのです。

「そんなことも知らんかったのか」とお叱りを受けそうですが、
一応、ご報告まで。

171 名前:167 投稿日:2001/07/13(金) 12:13
>>169ありがとうございます。うまくいきました。ただ、ツールバーやエクスプローラ
バーも込みでのサイズなんです。純粋にウィンドウだけのサイズを指定する
ことは不可能なんでしょうか?

172 名前:Name_Not_Found 投稿日:2001/07/13(金) 13:41
>>171
こ、細かいな‥‥(-。-;
他の人に聞いてくれ。

173 名前:Name_Not_Found 投稿日:2001/07/13(金) 13:43
>>170
なるほど! 大変参考になります。ただ予想するに、
この「レイヤー御大事」はN4のみの性質ではないか
と思います。N6からはレイヤーやめてますから。
試してませんけど。

174 名前:Name_Not_Found 投稿日:2001/07/13(金) 13:57
>>164
N6でスクロールイベントが取れるよーな気がしないのでとりあえず
定期的に動かすというのをやってみました。N6/MozillaとIE5.5。

t0.html:
<html><head><title>???</title></head>
<script type="text/javascript">
function sync() {
if(typeof(window.frames[1].pageYOffset) == 'number') {
window.frames[0].scrollTo(0, window.frames[1].pageYOffset);
} else {
window.frames[0].scrollTo(0, window.frames[1].document.all.b1.scrollTop);
}
}
</script>
<frameset cols="*,*" onload="window.setInterval(sync,50)">
<frame src="t1.html" scrolling="no"><frame src="t1.html">
</frameset></html>

t1.html:
<html><head><title>???</title>
<script type="text/javascript">
function test() {
window.alert('>>>'+document.all['x'].scrollTop);
}
</script>
</head><body id='b1'>
<p>test...</p>
<p>test...</p>
(省略されました :-)
</body></html>

175 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:06
>>163
language属性が標準じゃないから使うとどういうマイナス
があるかというと…

another-htmllint掛けたときに怒られる!!! (w

176 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:11
<a href="javascript:kusottare()">  </a>

これも「お薦め出来ません」って言われるね

177 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:17
>>176
うん、だからなるべくボタン使う方がいいと思うんだ
よね。でもつい使っちゃうけど>>javascript: URI

178 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:26
割り込みすみません
jsファイルにdocument.writeでHTMLを埋め込んでる部分が
あるんですけど そこにログ解析のJavascript(gif画)を
貼ってcgiを動かすってのは可能ですか?
もちろんJava オフはカウントできないですが
初心者ですみません
どなたか教えていただけますか

179 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:26
>>172
N4、N6ではwindow.innerWidth、window.innerHeight。
IEではbody要素のclientWidthプロパティとclientHeight
プロパティ。一応、サイズを調べるだけの例を書いてみ
ました(javascript: URIですがあしからず :-)。実際に
使うには、まずwindow.resizeTo()で大きさ変更してみて、
次に上記の方法で内側の領域を調べて、その分だけふやし
てもっかい大きくすればいいんじゃないでしょうか。

<html><head><title>???</title></head>
<script type="text/javascript">
function test() {
if(typeof(window.innerWidth) == 'number') {
window.alert(window.innerWidth + 'x' + window.innerHeight)
} else {
window.alert(document.all.b1.clientWidth+'x'+document.all.b1.clientHeight);
}
}
</script>
<body id="b1">
<a href="javascript: test()">test</a>
</body></html>

180 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:32
>>178
質問の意味があまりよく分からないのですが、ふつうに
書いたHTMLだろうがdocument.write()で書いたHTMLだろ
うがHTMLとして表示されるときは同じですから、そこに

<img src="画像を返すCGIのURI">

というものが含まれていればそれを表示するとCGIが動く
のはアタリマエだと思います。そういう意味じゃなくて?

alt属性を書かないとanother-htmllintに怒られるという
突っ込みは遠慮します(w

181 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:41
>>178
レスありがとうございます
そういう意味です
って事はcgiに問題あるみたいです
ありがとうございました

182 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:46
>>181
まあそうなんでしょうけど、「"」の閉じ忘れとか
「>」が抜けてるとかはJavaScriptソースをよく
見ないと見落としやすいのですよね。お節介かも知
れませんが。

183 名前:Name_Not_Found 投稿日:2001/07/13(金) 14:48
トムヤンくんの所の画像がぶるぶるするscriptとか凄くない?
折れドキュソだから、ソース見てもさっぱり解んねーよ。
pixelLeftとpixelTopくり返すだけじゃ駄目なんか?

184 名前:Name_Not_Found 投稿日:2001/07/13(金) 15:02
>>183
どういう風に動かしたいのか言ってみ。画像そのものを
回転するとか言わない限り、だいたいどうにでもなるよ。
「ぶるぶる」という言葉のイメージだけでちょっと作って
みました。

<html><head><title>???</title></head>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
function move() {
var e = document.getElementById('d1');
var x = 90 + Math.floor(Math.random() * 20);
var y = 90 + Math.floor(Math.random() * 20);
e.style.left = x+'px'; e.style.top = y+'px';
}
</script>
<body onload="window.setInterval(move,25)">
<div id="d1"><img src="test.png"></div>
</body></html>

185 名前:164 投稿日:2001/07/13(金) 15:07
>>174
わざわざありがとうございます
無事フレームの同時スクロール成功しました

欲を言えば
これだと指定してあるフレームにカーソルがあるときでしか
スクロール出来ないんですよね・・

どちらのフレームにカーソルがあってもスクロール可能
というのが理想ですが・・無理ですよね

186 名前:Name_Not_Found 投稿日:2001/07/13(金) 15:09
>>184
ttp://www2s.biglobe.ne.jp/~club_tom/java-kouza/sample/ja-sam_ri.htm
↑ここの一番したに「ぶるぶるscript」あります。
 これ凄いっす。

187 名前:Name_Not_Found 投稿日:2001/07/13(金) 15:18
>>186
うんなるほど。こういうのってどれくらい動かすとか、
そういうチューニングで気持ちヨサが上がるからねえ。
じゃあ、絵がぶるぶるした後ぽーんと画面の外へ飛ん
でいくとリンクがたどられるとかさ。

188 名前:Name_Not_Found 投稿日:2001/07/13(金) 15:25
>>187
何か本買って来て勉強します。
では本屋逝って来ます。
ブルブルブルブル

189 名前:Name_Not_Found 投稿日:2001/07/13(金) 15:27
>>185
うーん、scrolling="no"のフレームにカーソルがある時に
スクロールですか?スクロールバーはないんだから、矢印
キーってこと?キーイベントを捕捉してなんかすれば良い
のかも知れないけど、そのフレームへのキー入力は無いん
ですね?うーん…システム/ブラウザ独立に実現できる気が
あんまりしないなあ。

190 名前:184 投稿日:2001/07/13(金) 15:32
>>188
本買いにいってもいーけど、質問あればいつでもどぞ。教えたがりクンなのでね>>俺

191 名前:181 投稿日:2001/07/13(金) 16:42
です
’がぬけてました
何とか動きだしました ありがとうございました

ぶるぶるなんですが

function shock(){
for (i=0;i,i<19;i++){
window.moveBy(30,0)
window.moveBy(0,30)
window.moveBy(-30,0)
window.moveBy(0,-30)
}
}

document.write('<body onLoad="shock()">')
document.write('</body>')

何てどうですか?

192 名前:181 投稿日:2001/07/13(金) 16:46

画像だったんですね

まちがえました

193 名前:Name_Not_Found 投稿日:2001/07/13(金) 16:49
>>192
窓はぶるぶるするけどその中身は静止したまま、
なんていうのがあったら驚愕するかも。

194 名前:Name_Not_Found 投稿日:2001/07/13(金) 16:56
>>191
ム、それをいぢって画像に応用できそうだぞ。
ちょっと借りるね。

195 名前:185 投稿日:2001/07/13(金) 16:59
>>189
マウスの真ん中のグリグリって使ってる人少ないですかね
私はいつもそれでスクロールしてるので使えないと不便かと思いまして・・
でも意外と少ないかもしれませんね・・ ここらへんで妥協しておきます
ありがとうございました

196 名前:Name_Not_Found 投稿日:2001/07/13(金) 17:06
>>194
いやちょっと、時間待ちのないループは
危ういことがあるよ。注意してやってね。

>>195
マウスホイール持ってない…持っている人
におまかせします。

197 名前:Name_Not_Found 投稿日:2001/07/13(金) 17:08
>>193
想像してみた。
・・・
・・・
・・・
・・・
・・・
すごいかもしれない。

198 名前:Name_Not_Found 投稿日:2001/07/13(金) 17:31
<html>
<head>
<script type="text/javascript">
<!--
function shocks(){
test.style.left="70px";
test.style.top="100px";
test.style.left="70px";
test.style.top="70px";
test.style.left="100px";
test.style.top="70px";
test.style.left="100px";
test.style.top="100px";
}
//-->
</script>
</head>
<body>
<div id="test" style="position:absolute;left:100px;top:100px;width:50px;height:50px;background:#000000;" onClick="shocks()"><img src="test.gif"></div>
</body>
</html>
こんな風にしたら一気に
test.style.left="100px";
test.style.top="100px";
が評価されてしまいました。
もう解んねーや、床屋行こ。

199 名前:Name_Not_Found 投稿日:2001/07/13(金) 18:41
>>198
だから、setTimeout()かsetInterval()を使わないと
うまく行かないでしょ?後で説明してあげるよん。
さーめしめし。

200 名前:Name_Not_Found 投稿日:2001/07/13(金) 19:37
>>174
t1.html 内の test() ってナニ?
メシ食べ終わったら教えてね

201 名前:Name_Not_Found 投稿日:2001/07/13(金) 19:47
>>199
押忍、師匠。
勉強さしてもらいます。
ところで秀和システムのhtml&javascrit辞典は読んだんですが、人様の複雑なソース見たら理解不能っす。
何かお薦めの本ないですかね?
ビール買ってきます(出歩いてばっかりだな、今日‥‥)

202 名前:174 投稿日:2001/07/13(金) 21:35
ごちそーさまー。(ソレはいいってば)

>>200
すいません、t1.htmlを利用してscroll位置がちゃんと取れるか
どうかテストした、そのゴミが消し忘れて残っておりました。

>>201
複雑なソースをいきなり読もうとしても難しいですよね。まずは
自力で、簡単だけどやりたいことだけはとにかくできるような
コードをなるべくたくさん書くようにするのがいいと思っていま
す。それを土台に機能を追加していく…ただ、やみくもに追加し
てるとグチャグチャになりますから、ある程度進んだら機能は変
更せずにきれいに整理しなおす。きれいになったらまた追加する。
読むのが大変な複雑なソースってこれを怠っているだけで実は大
したことないのかもよ。まあモノによるけど。
本ですか。本の話題って >>2 ですよね。以下無限に反復したりして。

203 名前:Name_Not_Found 投稿日:2001/07/13(金) 22:08
>>198
お待たせしました。だいたい、こういうユーザインタフェース
を動かすものって「一連の処理をする」→「終ったところで画面
を更新してユーザ入力を待つ」→「ユーザ入力(クリック等)」→
「次の処理」…と進むので、処理の中で連続して位置を変更しても
最後のしか有効にならないというのはアリガチなのです。で、
自動で動かしたい時は上の「ユーザ入力を待つ」代わりに「時間待ち」
を呼びます。

window.setTimeout(関数, ミリ秒)

で、指定した時間だけ待つと「関数」が呼ばれますから、そこで
「絵をちょっと動かし、また同じsetTimeout()を呼ぶ」ことで連続
して次々に絵を動かしていけます。動かし終ったらその時はもう
setTimeout()を呼ばなければよい。従って、クリックされた時に
呼ばれる関数と、shock()時間待ち後の処理の関数の2つが必要な
わけね。また、次々に移動する位置は配列に覚えておくのがよい。
(つづく)

204 名前:203 投稿日:2001/07/13(金) 22:11
以上をまとめるとたとえば次のようになるわけですね。
<html><head><title>???</title></head>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
var a = [70, 100, 70, 70, 100, 70, 100, 100], elt, count;
function shocks() {
elt = document.getElementById('d1'); count = 0; window.setTimeout(step, 50);
}
function step() {
elt.style.left = a[count++]+'px'; elt.style.top = a[count++]+'px';
if(count < a.length) setTimeout(step, 50);
}
</script>
</head><body>
<div id="d1" onclick="shocks()"><img src="test.png"></div>
</body></html>

205 名前:Name_Not_Found 投稿日:2001/07/13(金) 23:14
コピーして貼り付けるだけ とかいってスクリプトを公開しているところでも
>>198みたいにタイマーを使わないでやってるのあるよね。
例えば背景色の連続変化させるヤツとか。

206 名前:Name_Not_Found 投稿日:2001/07/13(金) 23:29
>>205
へーそうなんですか。ほとんどブラクラみたいな
もんですねー。お飾りが全力で走ってCPU食べたら
本業はどうなっちゃうの?って感じ。まあ短時間
で終るもんならいいんだろうけど、ブラウザによっ
ては思った効果が得られないかも知れませんしねえ。

207 名前:198 投稿日:2001/07/13(金) 23:32
>>204
なるほどー。
getElementById←このプロパティとか初めて見ますわ。
奥が深いと言うか‥‥、先は長いっすね。
ありがとうございました。

208 名前:Name_Not_Found 投稿日:2001/07/13(金) 23:43
>>207
id指定して要素オブジェクト取り出すのにいろんな
方法がありますけど、一応document.getElementById()
がDOM2の標準なのでネ。

209 名前:Name_Not_Found 投稿日:2001/07/14(土) 00:28
初期レス(1〜50あたり)読んでみたんですが、妙な殺伐感がないですか?
「箸と茶碗持って待機する」とか(w
そんなんでjavascript動くんかいな。
めちゃアナログだなぁ。

210 名前:Name_Not_Found 投稿日:2001/07/14(土) 00:32
function En(){
pass = prompt(" ","");
if{
(pass == " " ) alert(" ")
location.href = " .html";
}else {
alert(" ")
}

で「"("がありません」とエラーが出たのですが
「(」が足りないのはどこですか?
初心者なので、すいません。

211 名前:Name_Not_Found 投稿日:2001/07/14(土) 00:56
>>210
全体的に頭が足らない

212 名前:Name_Not_Found 投稿日:2001/07/14(土) 00:56
>>209
箸と茶碗、いいじゃないですか。私はウケました。
コード出してくれる人もボケる人もいて正解でしょう。
最近はまじめすぎじゃない?

>>210
3行目以降ですが、
if(pass == " ") {
alert(" ");
location.href = "...";
} else {
alert(" ");
}
あと16ビット文字(いわゆる全角)の「)」「;」
がありますが、記号類は8ビット文字(いわゆる半角)
でないとダメダメですから注意しましょうね。

拝見した感じから言うと、もっと簡単な例題でまず指
や目を慣らした方がよろしいんじゃないですか?

213 名前:Name_Not_Found 投稿日:2001/07/14(土) 01:04
>document.getElementById()がDOM2の標準なのでネ。

この人も全体的に頭が足らない

214 名前:Name_Not_Found 投稿日:2001/07/14(土) 01:09
>>213
お前の煽り方も低レベルだな、もしかして保護監察処分済みか?
馬鹿すぎて。

215 名前:ぴよぴよ 投稿日:2001/07/14(土) 01:19
ぴよぴよです。
結果が、
20
20
64
4
となるはずなのですが、「20」しかでません。
コードは以下の通りです。
java入門のHPで出ていた通りに書いたつもりなのですが、何が違うのでしょうか。
<html><head><title>見よこれが始めての足し算なのだ</title></head>
<body><script language="javascript">
a=4;
b=16;
c=a+b;
document.write(a+b);
document.white("<br>");
document.write(c);
document.write("<br>");
document.write(a*b);
document.write("<br>");
document.write(b/a);
</script></body></html>

216 名前:Name_Not_Found 投稿日:2001/07/14(土) 01:19
>>208=214
保護監察処分で悪かったなぁ。

じゃあ、document.getElementById()がDOM2の標準
だっつー理由を説明してクレクレ。

217 名前:216 投稿日:2001/07/14(土) 01:26
>>215

×white
○write
ブラウザでエラーが出るように設定しといた方
がいいよ。

218 名前:Name_Not_Found 投稿日:2001/07/14(土) 01:28
>>214
>もしかして保護監察処分済みか?
そんないいもんじゃないと思われ。単なるダウン症児の夏厨さ。

219 名前:ぴよぴよ 投稿日:2001/07/14(土) 01:46
>>217
うわ!できた!!
ありがとうございます。
一文字でも違うと表示されないのですね。
私はホワイトって書きたかったのでしょうか。。。

ところで、プラウザでエラーが出るようにするって、どうやるのでしょうか。
自分でも調べてみますが、余力あったら教えてください。

220 名前:Name_Not_Found 投稿日:2001/07/14(土) 08:08
>>216
ホレ。http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-getElBId

221 名前:Name_Not_Found 投稿日:2001/07/14(土) 08:21
>>219
http://www.geocities.co.jp/MotorCity-Circuit/1671/err.html

222 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:05
↑ワラタ
ネスケで見てたのに「閉じる」をクリックしてしまったオレはバカか...
鬱だ氏のう...

223 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:10
>>221
た、確かに…(w

>>219
IE5.5では、「ツール」→「インターネットオプション」→
「詳細設定」→「ブラウズ」で「スクリプトエラーごとに
通知を表示する」をON、「スクリプトのデバッグを使用しない」
をOFFにする。しかしIEのスクリプトデバッガはよく分からない
表示満載で使いにくいと思う。自分がエラーの場所だけ分かれ
ばあとは「よく見る」ことでエラー取る習慣だからかな。

N4ではこのスレで前に出てたけど、URI(ロケーション)欄に
「javascript:」と入れてリターンすると詳細表示が出る。

しかしN6/Mozillaの「タスク」→「ツール」→「JavaScript
Console」、これが一番使いやすいと思う。だからWindowsな
人でもIEとMozillaと両方入れてデバッグ中はMozillaでやる
といいんじゃないかな。私はUnixな人なのでIEは別のマシン
で時々確認するだけなんです。

にしても「1文字違っただけで動かない」、プログラム作る人
にとっては当り前だけどはじめての人にとっては「驚き」なの
ね。なかなか面白い。

224 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:13
>>222
いやー、あれは何も起きないと分かっていてもクリック
したくなりますよね。そうか、イメージマップにしといてクリックするとブラクラとか…

225 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:19
>>223
「スクリプトのデバッグを使用しない」って何ですか?

226 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:26
>>225
お答えします。世の中にはプログラムのエラー個所を
調べるためのソフト「デバッガ」があります。IEでは
JavaScriptのエラー個所を正確に見るためにはこの
「デバッガ」を起動してそれに表示させることになり
ます。しかしこのデバッガが重たくてうざい…

それはさておき「スクリプトのデバッグを使用しない」
というのは滅茶苦茶な訳で、正しくは「スクリプトの
デバッグ用にデバッガを起動する」というチェックを
ONにする、というオプションの設定方式であるべきだと
思うのですね。これがなぜか条件が逆かつ説明が手抜き
で「スクリプトのデバッグを使用しない」をOFFにする、
という設定方法になってるわけです。あー気持ち悪い。

227 名前:Name_Not_Found 投稿日:2001/07/14(土) 10:51
>>226
すみません、「スクリプトのデバッグを使用しない」
をチェックしてもしなくても何も変化が無くてよくわからないんです。
デバッガを他に持っていなければいけないんでしょうか

228 名前:Name_Not_Found 投稿日:2001/07/14(土) 11:10
>>227
IE入れたらスクリプトデバッガも標準で入るものと
思ってましたが、そうじゃないんだろうか。ここは
知ってる人のコメントきぼ〜ん。

「スクリプトのデバッグを使用しない」のチェックを
外してますか?チェックをつけたらそりゃ「使用しない」
でしょうから…

あと、「スクリプトのエラーごとに通知を表示する」
はチェックをつけてますね?通知して、そこでデバッガ
に入るというとはじめてデバッガが動きます。

最後に、確実にエラーのあるJavaScriptコードで試して
ますか?

229 名前:Name_Not_Found 投稿日:2001/07/14(土) 12:41
>>228
エラーごとに通知させて、確実にエラーのコード(document.white("???");とか)
にしてますけど。
ダイアログのほかにデバッガが起動するはずなんですか?

230 名前:Name_Not_Found 投稿日:2001/07/14(土) 12:58
>>229
ううん、おかしいですね?ステータスバーに「ページで
エラーが発生しました」と出ていますか?その左側の注意
標識アイコンをダブルクリックして、出て来たダイアログ
ボックスで「詳細の表示」ボタンを押す…あれ、デバッガ
開けないなあ。すみません、私もナゼかできなくなってます。
もうちょっと探求してみます…

231 名前:Name_Not_Found 投稿日:2001/07/14(土) 13:00
>>230
すみません、たびたび。上記のようにオプション設定した
後、IEを立ち上げ直さないとうまく行かない。うまく行く
場合はダイアログが「ランタイムエラーが発生しました。
デバッグしますか?」になっているはず。うーん、Windows
はむずかしい。

232 名前:Name_Not_Found 投稿日:2001/07/14(土) 23:28
>>231
やっぱりできないのでデバッガをMSのページからDLしなきゃだめかも...

でも皆さんはデバッガ使ってますか?
自分は使わないんですが alert で変数の中身を確認したりしてやってます。

233 名前:Name_Not_Found 投稿日:2001/07/14(土) 23:38
>>232
うーん、おつかれ様です。もちろん、alertでの確認
とか使いますヨ。ただ、いきなり死んだ時、どこで死
んだか分かりやすいといいから。IEでデバッガ使わなく
ても行数数えれば一応場所は分かるんだったっけな。

234 名前:Name_Not_Found 投稿日:2001/07/14(土) 23:45
やっぱり ネスケのJavaScriptコンソール だな〜
で、デバッガは使っていらっしゃらないのですね?

235 名前:Name_Not_Found 投稿日:2001/07/15(日) 00:02
>>226
うちで起動するデバッガはVisualStudioのInterDEV(多分)ですが
あれは確かに重くてうざいです。

236 名前:Name_Not_Found 投稿日:2001/07/15(日) 00:13
ふだんはやっぱりN6のJavaScriptコンソールですね〜。

237 名前:Name_Not_Found 投稿日:2001/07/15(日) 03:37
すいません、どなたか、それぞれのスクリプトがどういう効果
があるのか簡単で構いませんので解説していただけないでしょうか。
<script language="JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->

<script language=JavaScript>
<!--
var link = document.referrer;
var s_wd = screen.width;
var s_ht = screen.height;
var s_cl = screen.colorDepth;
document.write('<img src="./getlog.cgi?file=cinema&img=&link=http://****/&screen=');
document.write(s_wd + 'x' + s_ht + '&color=' + s_cl);
document.write('" height=1 width=1 border=0>');
// -->
</script>
<noscript>
<img src="./getlog.cgi?file=cinema&img=" width=1 height=1 border=0>
</noscript> <!-- ここまで --></p>

下のは何となく画面サイズを収得してるような気がするのですが、
わからないです。

238 名前:Name_Not_Found 投稿日:2001/07/15(日) 03:52
>>237
上はお気に入りに追加。
下は画面が小さいと「大きな画面で見ろ」と警告します。

239 名前:Name_Not_Found 投稿日:2001/07/15(日) 04:29
>>237
てめーで調べろYO!


240 名前:Name_Not_Found 投稿日:2001/07/15(日) 04:58
右クリック禁止のスプリクトってどんな感じの命令なんでしょう??

241 名前:Name_Not_Found 投稿日:2001/07/15(日) 05:37
>>237
dreamweaverのスクリプトだね。
fireworksかな?

242 名前:Name_Not_Found 投稿日:2001/07/15(日) 09:31
>>238
冗談きついなあ…

>>237
最初のはtargという名前のオブジェクトのlocationプロパティ
にselObjで指定した選択メニューオブジェクトの現在選択されて
いる項目に対応する文字列の値を入れる。フレームやウィンドウの
locationにURIを入れるとページが切り替わるんだっけな。
resetが真のときは最後に選択メニューの選択項目を先頭の項目
に変更する。

2番目はHTTP_REFERRERの値と画面の幅と高さをQUERY_STIRNG
に埋め込んだ形で幅1、高さ1の画像を取り出すCGIスクリプトを
呼ぶ。つまり「こっそり」これらの情報を取るのね。邪悪だ。
JavaScriptが切ってある場合はこれらの情報なしでCGIスクリプト
を呼ぶ。それでもどっから見られているかは分かるわけさ。

243 名前:Name_Not_Found 投稿日:2001/07/15(日) 09:35
サイバークリックメアド流出
被害者の会サイトはこちら↓
http://cyberprob.pocky.com/

244 名前:Name_Not_Found 投稿日:2001/07/15(日) 09:41
>>240
ウィンドウのマウスイベントを捕捉して、右ボタンクリック
だったらそれ以上のイベント処理をキャンセルする。だと思う
けど個人的に右クリック禁止反対なので例題はパス。

245 名前:237 投稿日:2001/07/15(日) 18:36
>>238
嘘は止めて。
>>242
ありがとうございます。
下のやつは個人情報やログを取る為のものですか。
訪問するたびにIPとか個人情報に近いものが記録されてるんですね。
うーん、公共の機関なのに何でだろ?

246 名前:ドリウイはイイね 投稿日:2001/07/15(日) 20:11
ドリウイのスクリプトの使い方(デキル人はわかってると思いますが...)
<html><head>
<title></title>
<script language="JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script></head>
<body>
<form name="form1">
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<option value="#1">HTML</option>
<option value="#2">JavaScript</option>
<option value="#3">CGI</option>
</select>
</form>
</body></html>

247 名前:Name_Not_Found 投稿日:2001/07/15(日) 20:28
http://www.ethics.bun.kyoto-u.ac.jp/~morimoto/Japanese/lesson/web/js/js_sample1.html
http://www.interq.or.jp/pink/taka1112/javascript/js_alert04.html
http://www.masafumi.org/Script/Script_3.htm
http://www.h3.dion.ne.jp/~yhiromi/tagu/kinshi.htm
http://member.nifty.ne.jp/marsh/misya/java/etc/NoSource1.html
http://www.oitaweb.ne.jp/hp/tatsuya/java/event.htm

248 名前:Name_Not_Found 投稿日:2001/07/15(日) 20:31
>>245
まあ個人情報とまでは行かないけど、見ている個々の
人に対応する情報ではありますね。もっとも、使う方で
「全体として」どこからリンクされてるとか、どれくら
いの画面サイズなのかとか調べるためだけに使っている
のなら「邪悪」とは言えないのかも。でもなんか嫌ですね。

249 名前:Name_Not_Found 投稿日:2001/07/15(日) 22:19
>>247
ふむふむ、右クリック禁止集ですか。しかしIE専用のとか、
N4のみ対応してN6は尻抜けとか、ボロボロのが多いですね。

250 名前:( ´Д`) 投稿日:2001/07/15(日) 23:31
右クリックするなと言われると盲点を探りたくなるのが人情。

251 名前:245 投稿日:2001/07/16(月) 00:45
>>237の上のは>>246の様にして使うのですね。
ありがとう。

252 名前:Name_Not_Found 投稿日:2001/07/16(月) 02:58
とりあえず<BODY onContextmenu="return false:">しちゃえ

253 名前:Name_Not_Found 投稿日:2001/07/16(月) 03:00
右クリック禁止されてたらAlt -V -C(IE)。
その労力と情熱を他のところにまわしてくれと言ってみるテスト

254 名前:Name_Not_Found 投稿日:2001/07/16(月) 07:36
while(true) document.writeln("激しく同意");

255 名前:Name_Not_Found 投稿日:2001/07/16(月) 12:28
真・良スレage!

ド素人なものでとても勉強になって折りまス。
よろしければ、JS勉強出来る良サイト(とほほ以外)を
教えていただけませんか。

あと。質問なんですが、
MENUフレームの各コンテンツへのリンク用メニュー画像に
オンマウスすると、別フレームの画像を変更したいのですが
どのようにしたらよろしいでスか。

256 名前:Name_Not_Found 投稿日:2001/07/16(月) 13:01
>>255
JavaScriptのまともな解説はかなり見つけ難いと思って
います。とほほって良サイトなの?それはさておき、ホレ。

t.html:
<html><head><title>???</title></head>
</head><frameset cols="80,*"><frame src="t1.html"><frame src="t2.html">
</frameset></html>

t1.html:
<html><head><title>???</title>
</head><body><p>
<a href="..." onmouseover="top.frames[1].c2(document.getElementById('i1').src)">
<img id="i1" src="a.png"></a><br>
<a href="..." onmouseover="top.frames[1].c2(document.getElementById('i2').src)">
<img id="i2" src="b.png"></a></p>
</body></html>

t2.html
<html><head><title>???</title>
<script type="text/javascript">
function c2(s) { document.getElementById('i1').src = s; }
</script>
</head><body><img id='i1' src="c.png"></body></html>

257 名前:255 投稿日:2001/07/16(月) 13:26
>>256
早っ!ど、どうもありがとうございます。
「とほほ」が良いってワケではなくて
良い悪い別として「「とほほ」以外で」って思って。ね。

258 名前:Name_Not_Found 投稿日:2001/07/16(月) 19:51
if(document.all)

document.allって条件式なんですか?
全然条件じゃないような気がするんですが...
どう言う意味なんでしょうか?

259 名前:Name_Not_Found 投稿日:2001/07/16(月) 20:09
>>258
まず、document.allっていうのはIEのみ存在するプロパティ
ですべての文書要素の集まりになってますよね。で、この
プロパティが存在しないブラウザでdocument.allを参照する
とundefinedになります。

次に、JavaScriptではif(...)やwhile(...)等、論理値が必要
な箇所に論理値でないものを書くと適宜変換が起こりますが、上記の
場合、

・任意のオブジェクト(nullでないもの)→true
・undefined→false

となります。というわけで、if(document.all)でdocument.all
を持っているブラウザならば(〜IEならば)、を意味するわけです。

260 名前:258 投稿日:2001/07/16(月) 20:13
>>259
すごく分かりやすかったです。
ありがとうございました。
ちょっと質問なんですが、何でそんなに詳しいんですか?(^^;

261 名前:Name_Not_Found 投稿日:2001/07/16(月) 21:01
>>260
なぜ詳しいか…えーと…ナイショです(w

262 名前:名無しさん@お腹いっぱい。 投稿日:2001/07/16(月) 21:48
I-MODEのホムペつくってるんですが
PCからやってきた人を別のページに移動させる
スクリプトをおしえてください。

263 名前:Name_Not_Found 投稿日:2001/07/16(月) 21:55
<script language="JavaScript">
<!---
function chbr(){
if(navigator.userAgent.indexOf("Mozilla")>=0)
location.href="index.htm";
else location.href="index2.htm";
}
//---> </script>

264 名前:名無しさん@お腹いっぱい。 投稿日:2001/07/16(月) 22:16
>>263
ありがとう!

265 名前:Name_Not_Found 投稿日:2001/07/16(月) 22:21
ゴメンっ
よく考えたらアイモードはJavaScriptは使えないんだよな...
<NOSCRIPT>タグで飛ばさないとだめだ〜

266 名前:Name_Not_Found 投稿日:2001/07/16(月) 22:24
はぁ〜?
なんとi-modeは<noscript>タグも使えないようだ...
誰かフォローお願いします

267 名前:フォロー 投稿日:2001/07/16(月) 22:30
諦める

268 名前:名無しさん™ 投稿日:2001/07/16(月) 22:36
ユーザーエージェントで判断して
pcから来た人は別のところへとばして
i-modeはそのまんまでいいんですけど。
>>263
をコピペしてPC上からアクセスしてみましたが
index2.htmをhttp://yahoo.co.jpとやってみましたが飛びませんでした

269 名前:Name_Not_Found 投稿日:2001/07/16(月) 22:46
その関数を実行したかいな。

270 名前:Name_Not_Found 投稿日:2001/07/16(月) 22:51
おいおい、index2.htm じゃなくて index.htm を書き変えるんだぞ
たびたびスマソ

271 名前:名無しさん@お腹いっぱい。 投稿日:2001/07/16(月) 22:53
>>270
関数の実行はどうやるのですか?・・・すいません初心者で・・・

272 名前:Name_Not_Found 投稿日:2001/07/16(月) 22:57
>>271 コレを<head>タグの間にコピペ
<script language="JavaScript">
<!---
function chbr(){
if(navigator.userAgent.indexOf("Mozilla")>=0)
location.href="http://yahoo.co.jp";
}
chbr();//これ
//---></script>

273 名前:名無しさん@お腹いっぱい。 投稿日:2001/07/16(月) 23:04
>>272

できました。

ありがとうございましたっ

274 名前:Name_Not_Found 投稿日:2001/07/16(月) 23:04
このスレの質問 http://natto.2ch.net/test/read.cgi?bbs=hp&key=995195987
簡単ながら作って見ました。マウスの位置取るの面倒だよねえ。質問あればどぞ。

<html><head><title>???</title>
<style type="text/css">
div { border-style: solid; border-width: 2px; border-color: blue;
position: absolute; visibility: hidden; z-index: 10;
width: 80px; height: 40px; background-color: white }
</style>
<script type="text/javascript">
var m0, xpos, ypos, vis = false;
function mNS(e) { pop(e.pageX-15, e.pageY-15); }
function mIE() { pop(window.event.clientX-15, window.event.clientY-15); }
function pop(x, y) {
m0.style.left = x+'px'; m0.style.top = y+'px';
m0.style.visibility = 'visible'; xpos = x; ypos = y; vis = true;
}
function mNS1(e) { move(e.pageX, e.pageY); }
function mIE1() { move(window.event.clientX, window.event.clientY); }
function move(x, y) {
if(x >= xpos && x <= xpos+80 && y >= ypos && y <= ypos+40) return;
if(vis) m0.style.visibility = 'hidden'; vis = false;
}
function init() {
m0 = document.getElementById('m0');
var elt = document.getElementById('b1');
if(elt.addEventListener) {
elt.addEventListener("mouseover", mNS, true);
window.addEventListener("mousemove", mNS1, true);
} else if(document.all) {
elt.onmouseover = mIE; document.onmousemove = mIE1;
}
}
</script>
</head><body onload="init()">
<p>ここに<span id="b1">menu</span>があります。</p>
<div id="m0">
<a href="http://www.yahoo.co.jp">Yahoo</a><br>
<a href="http://www.google.co.jp">Google</a></div>
</body></html>

275 名前:( ´Д`) 投稿日:2001/07/16(月) 23:14
長いサンプル貼る時は↓を使うといいよ。
http://wwwhtml.virtualave.net/up/file.cgi

276 名前:Name_Not_Found 投稿日:2001/07/16(月) 23:24
>>275
ありがとうございます。でも、できる限り、「省略され
ました…」にならない長さの例題で済むようにがんばり
たいのです…今回は頑張れてませんでしたね。

277 名前:こんなんでどうか 投稿日:2001/07/17(火) 01:06
function AnyKey(e){
if( navigator.appName.indexOf("Netscape")>=0 && e.which!=1 ){
alert("HOGE");
}else if( navigator.appName.indexOf("Microsoft")>=0 && event.button!=1 ){
alert("HOGE");
}
return(false);
}
if(navigator.appName.indexOf("Netscape")>=0){
window.captureEvents(Event.MOUSEDOWN|Event.KEYDOWN);
window.onmousedown = AnyKey;
window.onkeydown = AnyKey;
}else if( navigator.appName.indexOf("Microsoft")>=0){
document.onmousedown = AnyKey;
document.onkeydown = AnyKey;
}

278 名前:Name_Not_Found 投稿日:2001/07/17(火) 02:20
240です。ありがとうございました。ALL。
(右クリック禁止に恨みがあるのか、皆。笑。
このスレ嬉しい。「スプリクト」の誤植に罵倒されるかと思た…。)

279 名前:Name_Not_Found 投稿日:2001/07/17(火) 07:57
>>278
プログラムは1字違っても動かないが、日本語は1字違っても
読めるからネ。

280 名前:Name_Not_Found 投稿日:2001/07/17(火) 08:40
エンジンについての質問です。
JavaScript(JScript)でVBScriptの

Set obj = Nothing

のような処理を行うにはどうすればよいですか?
試しに

obj = null;

などとやってみたのですが参照カウントがデクリメントしないので
IUnknown:Release() は呼び出されないようです。

281 名前:Name_Not_Found 投稿日:2001/07/17(火) 10:44
>>280
COMオブジェクトについては暗いのですが、JScript
のオブジェクト管理が参照カウントかどうか…ごみ
集め方式を使っているかも知れませんしね。その場合
はごみ集めを強制起動することができればいいのかも…
分かりませんけどー。

282 名前:SUBMIT 投稿日:2001/07/17(火) 12:03
JavaScriptの質問です。
ボタンを押さないとSUBMITをすることは出来ないのでしょうか?
この行に来たらSUBMITをするというように使いたいのですが、
可能でしょうか?
どうかお教え願います。

283 名前:Name_Not_Found 投稿日:2001/07/17(火) 12:15
>>282
> JavaScriptの質問です。
そりは分かってる(w

> この行に来たらSUBMITをする
その「来たら」というのはマウスカーソルが来たらという意味?
そりは使いにくいんじゃないだろうか…まあ作るのは簡単ですが。

<html><head><title>???</title>
</head><body>
<form id="f1" method="post" action="test.cgi">
<p><input type="text" name="t1" value="Test"></p></form>
<p onmouseover="document.getElementById('f1').submit()">subimit...</p>
</body></html>

284 名前:SUBMIT 投稿日:2001/07/17(火) 12:59
283さんお答えありがとうございます。
しかしマウスカーソルが来たらということではないのです。
ボタンを押すとか、マウスカーソルをもって来るだとかの
アクションを何もせずにいきなりSUBMITをするということは
出来ないでしょうか、と言いたかったのです。

<BODY>
あいうえお
かきくけこ
(ここでいきなりSUBMITをする)
</BODY>

うまく説明出来なくて申し訳ありません。

285 名前:Name_Not_Found 投稿日:2001/07/17(火) 13:09
便乗スミマセン。
テキストエリアじゃなくて、えっと、この名前とか書く欄で、
改行しても送信されないってアレ、javascriptでしたっけ。
どうしたら良いんでしょ?

286 名前:285 投稿日:2001/07/17(火) 13:10
「あ、ENTER押しても」でした。改行はされませんね…。
逝ってきましょうか?

287 名前:Name_Not_Found 投稿日:2001/07/17(火) 13:24
>>284
ふむふむ。それでしたら、フォームの後の位置ならどこでも

<script type="text/javascript">
document.getElementById('f1').submit();
</script>

があるとそこまでレンダリング(表示)された瞬間に提出
できますが、それじゃページの内容を読んでいる暇がない
じゃないですか?何のためにそんなことしてるのか、もし
よろしければお聞かせ頂けませんか?

>>285
そうです、JavaScriptです。で、このスレのvol. 1だったか
vol. 2だったかでその質問ががいしゅつだったかと。探しに
逝ってきてください。

288 名前:SUBMIT 投稿日:2001/07/17(火) 14:11
287さんありがとうございます。
ところで申し訳ないのですが、getElementById('f1')とは
何をしているのでしょうか?
初心者なもので……。
こんなことをする意味は、単に関数を呼び出してそこで
SUBMITをしたいだけです。

289 名前:Name_Not_Found 投稿日:2001/07/17(火) 14:33
>>288
「document.getElementById(文字列)」は、指定した文字列を
idに持つノードオブジェクトを取り出します。ここでは
<form id='f1' ...>としていましたから、フォームオブジェクト
が取れて来ます。そのフォームオブジェクトのメソッドsubmit()
を呼ぶとフォームが提出できます。

ちなみに、これまでは「document[名前]」だとか
「document.all[名前]」だとかいろいろAd hocな方法で同様の
ことをやってましたが、document.getElementById(文字列)は
DOM2の標準に入っているので、私はこれを使うようにしてます。

そういえばこれが標準に入っている証拠を示せとかいきまいて
いる方がいましたが、どうされたんでしょうね?(w

290 名前:285 投稿日:2001/07/17(火) 14:44
>>287さん
サンクスです。しかし、>>1のリンクはことごとく
「そんな板ないです」になってますね。
参った。
自力で探しに逝ってきます。

291 名前:SUBMIT 投稿日:2001/07/17(火) 14:46
289さん、親切にどうもありがとうございました。
助かりました。

292 名前:Name_Not_Found 投稿日:2001/07/17(火) 14:48
>>290
あれー?確かにこれらのスレは過去ログに逝ってますが、
「過去ログ倉庫で発見しました」って出ませんか?
読む人によって違うのでしょうか>>2ちゃんねる

293 名前:285 投稿日:2001/07/17(火) 14:57
だめだ!闇雲に過去ログ漁っている時間がない!
>>292
マジで「そんな板ないです」に飛びますよ?
助けて下さい。

294 名前:Name_Not_Found 投稿日:2001/07/17(火) 15:00
>>293
ちょいと下にスクロールさせてみなされ。

295 名前:285 投稿日:2001/07/17(火) 15:05
あ、下の方にあったんですね…。
鬱だ…ちょっくら逝ってきます…。

296 名前:Name_Not_Found 投稿日:2001/07/17(火) 15:08
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--
function calc1() {
document.Calc.Z1.value = eval(document.Calc.X1.value) * eval(document.Calc.Y1.value);
}
// -->
</SCRIPT>
</HEAD>

<BODY>
<FORM NAME="Calc">
商品A:
<INPUT TYPE="text" NAME="X1" VALUE="1600" SIZE="8">
円 x
<INPUT TYPE="text" NAME="Y1" VALUE="0" onChange="calc1(this.form)">
個 =
<INPUT TYPE="text" NAME="Z1" VALUE="0" SIZE="10">

</FORM>
</BODY>
</HTML>

質問があります。ぜひ教えてください。
このソースなんですが、フォームに入力すると掛け算してくれる
ものなんですが、入力した後にフォーム以外の部分をクリックしないと
結果がフォームに反映されません。
どうしてだか、わかる方いましたら理由と解決策を教えてください。
おねがいします。

297 名前:Name_Not_Found 投稿日:2001/07/17(火) 15:08
教訓: ページは最初に見える画面しか読んで貰えない(w

298 名前:Name_Not_Found 投稿日:2001/07/17(火) 15:16
>>296
ですからー、入力し終わっても「終わった」ことがプログラム
に分からないでしょ?リターンキーを打てば計算されるはず。
それで不満でしたら、たとえばマウスカーソルが出た時にも
計算させますか?「onChange=...」の隣に
「onMouseOut="calc1()"」も追加してみてください。なお、
calc1()はパラメタ不要ですよね?だって使ってないんだから。

私の好みとしては、「計算」ボタンは別に設ける方が素直だと
思うのですが、まあ好みの問題ですから。

299 名前:Name_Not_Found 投稿日:2001/07/17(火) 16:44
>>298
なるほど。解決できました。
あと、真中のフォームの数字を消したときに
結果の出る右のフォームに「NaN」と出てしまうのですが
これは、「0」にはできませんか?

300 名前:216 投稿日:2001/07/17(火) 16:45
>そういえばこれが標準に入っている証拠を示せとかいきまいて
>いる方がいましたが、どうされたんでしょうね?(w

getElementByIdがDOM2の仕様書に書いてあるのは見りゃわかるさー。
でも、document.forms[0]とかだったら、特に不具合もなくより多く
のブラウザに対応できるでしょ?

他人(特に初心者)に教える時は、そういったことも考えてあげなよー。

301 名前:216 投稿日:2001/07/17(火) 16:49
あと、「標準に入っている証拠を示せ」じゃなくて
「document.getElementByIdがDOM2の標準だ」の
理由だよん。

302 名前:Name_Not_Found 投稿日:2001/07/17(火) 17:10
>>300
ごもっともです。が、forms[0]はフォームにしか使えない
のに対してgetElementById()は色々使えるのでつい…
ちなみに自分ではN4用にはこういうコードを入れています。

if(!document.getElementById) {
document.getElementById = function(i) { return document[i]; }
}

>>301
ああ、分かりました。日本語が悪かったです。すみません。
「getElementByIdがDOM2に含まれているから」に訂正させてください。
おしまい。

303 名前:Name_Not_Found 投稿日:2001/07/17(火) 17:24
>>299
そうですね、そういうこともちゃんとしようと思うと…
まず、数値を取り出すのにはeval()より整数ならparseInt()、
小数点つき数ならparseFloat()がいいと思います。で、これで
取得した後、isFinite()で検査するのがよいかと思います。
つまり次のような感じですかね?

var x1 = parseFloat(document.Calc.X1.value)
var y1 = parseFloat(document.Calc.Y1.value);
if(isFinite(x1) && isFinite(y1)) {
document.Calc.Z1.value = x1 * y1;
} else {
document.Calc.Z1.value = 0;
}

304 名前:Name_Not_Found 投稿日:2001/07/17(火) 17:48
>>216
お前も相当しつこいね♪

305 名前:216 投稿日:2001/07/17(火) 18:02
>>304
自分でも思った。

306 名前:Name_Not_Found 投稿日:2001/07/17(火) 18:04
>>305
でもプログラム書きにはある程度しつこさも必要でしょ?

307 名前:Name_Not_Found 投稿日:2001/07/17(火) 18:09
Seagate rule wa over the rule ga goto see.

308 名前:Name_Not_Found 投稿日:2001/07/17(火) 19:51
addEventListener("mouseover", mNS, true)
この引数の意味を教えてください

309 名前:Name_Not_Found 投稿日:2001/07/17(火) 20:51
>>308
「ノード.addEventListener(イベント種別, ハンドラ関数, キャプチャ)」
は、「DOMレベル2イベント」標準て規定されている、イベント取得
設定用のメソッドです。

「ノード」はイベントを取得したい対象範囲を表します。たとえば
divでもspanでもpでもtableでも…

「イベント種別」は"mouseover"とか"mousedown"とか、マウス関係の
イベントハンドラ名から「on」を取った文字列。今のところキー
イベントはこの方法では取れない。

「ハンドラ関数」はそのイベントが起きた時に呼び出される関数。

「キャプチャ」は真偽値で、trueだとイベントが宛先の部品等に
到着する前に横取りする(従来のNetscape流)。falseだと宛先の
部品で処理しなかった残りのイベントが受け取れる(従来のIE流)。
ということになってますね。

しかしこれを呼ぶよりこれまで通りonmouseoverプロパティに
ハンドラのコードを設定する方が見た目簡単ですけどね。私は
せっかくDOMで規定されてるんだからこっちを使ってしまふ。

310 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:10
>>309ありがとうございます。
これまでのonmouseoverプロパティ等はこれからは
使われなくなる傾向にあるんでしょうか?

311 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:18
>>310
傾向としてはですね。MicrosoftもNetscape/Mozillaも
「W3Cの標準に準拠」と叫んでますから、JavaScriptまわり
もそうなって行くんじゃないでしょうか…IE6なんかはどう
なんでしょうね?

312 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:23
DOM2のリファレンスってどこ見たらいいんだ?

313 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:32
>>312
W3Cのはこちら。和訳はどっかにあるのかな。まあ英語あんまり
読まなくてもオブジェクトやプロパティやメソッド読めばいい
わけなので。

http://www.w3.org/TR/DOM-Level-2-Core/
http://www.w3.org/TR/DOM-Level-2-HTML/
http://www.w3.org/TR/DOM-Level-2-Style/
http://www.w3.org/TR/DOM-Level-2-Events/

あと2つくらいあるけど、とりあえずこの4つがあれば足りる
と思っています。

314 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:34
NN4でdocument.getElementByIdを使っちゃうぞっていうのが
>>302にちょろっと出てきたので聞いちゃいます。
・関数リテラル
・function文
・Function()コンストラクタ
これらがどう違うのか、それと関数リテラルの使い方を教えてチョ

315 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:42
これはどうじゃ?
http://www2.plala.or.jp/ivjkiz/

316 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:48
Netscape6のonChangeにバグらしきものを発見したのですが、
onChangeに関するJavaScriptのリファレンスに直リン張ってくれませんかね?
リファレンス読んでバグってわかったらレポートアップしますんで。

317 名前: 投稿日:2001/07/17(火) 23:48
ブラクラ

318 名前:Name_Not_Found 投稿日:2001/07/17(火) 23:57
>>314
適宜順番変更しますネ。function文とは一番よく使うやつ。

function f(x, y) { return x+y; }

これってfという広域変数に関数オブジェクトが代入されるだけ。
ということは次の関数リテラルを使った例と同じこと。

var f = function(x, y) { return x+y; } ;←宣言文の終りの「;」

つまり関数リテラルは「名前をつけない関数定義」と思えば良い。
オブジェクトのメソッド定義に使ったり、短いハンドラを直接
書いたりするのに便利。最後にFunctionコンストラクタは「関数
定義の文字列を渡して関数を定義できる」という点で上2つと違う。
実行時にならないと関数のコードが決まらない場合に便利。

var n = ...
var f = new Function('x', 'return x + '+n+';');

319 名前:  投稿日:2001/07/18(水) 00:08
PosLeftって何ですか?

320 名前:Name_Not_Found 投稿日:2001/07/18(水) 00:11
>>316
NetscapeはJavaScript 1.5(N6に内蔵されてるバージョン)
のリファレンスを出してないんですよね…いちお、
JavaScript 1.3のonChangeのリファレンスはこちら。

http://developer.netscape.com/docs/manuals/js/client/jsref/handlers.htm#1119802

321 名前:Name_Not_Found 投稿日:2001/07/18(水) 00:14
>>319
PosLeft ??? 聞いたことないです。どこに出て来るの?

322 名前:Name_Not_Found 投稿日:2001/07/18(水) 00:21
>>321
いや、過去ログ読んでたら震える(なんじゃそら?)scriptとか言うのあって、そのソース見たらあった。
てか、あのソース難解だな、、、誰か解説チボン

323 名前:Name_Not_Found 投稿日:2001/07/18(水) 02:21
onClickやonMouseOverイベントでMidiやMP3を再生したいのですが、これらマル
チメディアファイルを扱うオブジェクトのメゾッドって無いのでしょうか?現状
ではdocument.writeinで<BGSOUND>タグを書き込んで実現しているのですが、こ
の方法だと一回しか鳴らせません。クリックするたびに鳴らしたいのです。

324 名前:こんなんでどうか 投稿日:2001/07/18(水) 03:19
<SCRIPT><!--
function Sound(Name){document.all["BG"].src=Name;}
//-->
</SCRIPT>

<BODY><BGSOUND ID="BG">
<A href="" onMouseover="Sound('fileName');">■</A>
</BODY>

325 名前:Name_Not_Found 投稿日:2001/07/18(水) 04:49
オブジェクトのメンバの数を知りたい時は、
どうすればいいのでしょうか?

326 名前:Name_Not_Found 投稿日:2001/07/18(水) 07:36
>>325
var obj = ...オブジェクト...
var count = 0;
for(var prop in obj) ++count;

3行目のfor文はユーザが定義したプロパティの名前を
順番に変数propに入れながらループするので、その数
を数える。ただし、システムが予め用意しているような
プロパティは含まれないので注意。

327 名前:Name_Not_Found 投稿日:2001/07/18(水) 07:57
>>322
うーん、どのスクリプトか分かんないんですけど…とりあえず、
「震える」のは次がポイント。

1. 位置を移動させる要素はCSSでposition: absoluteを指定。
例: <div id='d1' style='position: absolute'>...</div>

2. JavaScript側で移動させる要素のノードオブジェクトを取得。
例: var elt = document.getElementById('d1');

3. 特定の位置に移動させるにはそのノードのstyleプロパティの
下のtopプロパティ、leftプロパティに位置を書き込む。単位は「px」
(ピクセル)をつけるのが普通。
例: elt.style.top = '100px'; elt.style.left = '150px';
ただしN4ではstyleプロパティではなくオブジェクト直接、かつ単位なし。
例: elt.top = 100; elt.left = 150;

4. ランダムに動かしたい場合は0〜1の一様乱数Math.random()を利用。
例: elt.style.top = (100 + 10*Math.random())+'px';

5. 定期的に(連続して)動かしたい場合はsetInterval()を使う。
総合例: (N6/MozillaとIEのみ)

<script type="text/javascript">
var elt;
function init() {
elt = document.getElementById('d1');
setInterval(move, 50);
}
function move() {
elt.style.top = (100 + 10*Math.random())+'px';
elt.style.left = (100 + 10*Math.random())+'px';
}
</script></head><body onload="init()">
<div id='d1' style='position:absolute'>...</div>
...

328 名前:Name_Not_Found 投稿日:2001/07/18(水) 10:55
>>318
ありがとうございます。ちょっと理解できました。
でも使いこなすのはつらいナ

document.getElementById = function(i) { return document[i]; }
これは return document.layer[i]; じゃないのですか?

329 名前:Name_Not_Found 投稿日:2001/07/18(水) 12:47
>>328
はい、レイヤーだけだったら確かにそうなのですが、
「return document[i];」としておくとフォームや画像にも
使えるのでよりホンモノのdocument.getElementById()に
近い感じがして。ただし画像やフォームだとid属性ではなく
name属性で指定した名前が使われますから、N4とN6やIEで
互換にするためにはnameとidの両方を同じ値で指定すると
いった工夫が必要になりますし、レイヤーに入ったフォーム
や画像は取れませんし、やっぱり「ニセモノ」は色々と制約
がありますね。

330 名前:Name_Not_Found 投稿日:2001/07/18(水) 15:39
今日は質問が来ませんねえ。どんな簡単なことでもいいから
質問が欲しい…(w

331 名前:Name_Not_Found 投稿日:2001/07/18(水) 16:14
ページを強制的に全画面表示にさせる方法を教えてください。
小学校で子どもたちが勝手にPCの設定を変えられないようにしたいんです。
とりあえず,ブラウザをスタートアップに登録して全面表示にして
おけば,ネット以外は出来ないだろうと踏んでいるのですが・・・。

332 名前:Name_Not_Found 投稿日:2001/07/18(水) 17:02
>>331
大きくするだけならJavaScriptでできますけど、あんまり効果的
じゃあないかも…まあお試しください。

<html><head><title>???</title>
<script type="text/javascript">
window.moveTo(screen.availLeft, screen.availTop);
window.resizeTo(screen.availWidth, screen.availHeight);
</script>
</head><body>
<h1>test...</h1>
</body></html>

333 名前:Name_Not_Found 投稿日:2001/07/18(水) 17:32
>>332
有り難うございます。
でも,メニューバーや閉じるボタンは消えないんですね。
ううむ・・・残念。
でも本当に有り難うございました。

334 名前:Name_Not_Found 投稿日:2001/07/18(水) 17:45
閉じるボタンなんか消せるわけ無いだろ。
最強ブラクラか?

335 名前:Name_Not_Found 投稿日:2001/07/18(水) 17:56
>>334
それは「ブラ」クラではないだろ(w

336 名前:Name_Not_Found 投稿日:2001/07/18(水) 18:24
良くアダルトサイトとかがやってるフルウィンドみたいなものでも良いんですけど・・・。

337 名前:Name_Not_Found 投稿日:2001/07/18(水) 18:35
小学校のせんせなんかが
ここにきて質問してるんダ〜
うちの中学のせんせもきてるかも!
きをつけなくチャ☆

338 名前:Name_Not_Found 投稿日:2001/07/18(水) 18:41
>>336
いちお、新しい窓を開いてやればメニューバーとかは消せますし
大きさ変更も「なるべく」止めることができますが。

<html><head><title>???</title>
<script type="text/javascript">
function init() {
var win = window.open("http://www.yahoo.co.jp/", "w1", "resizeable=no");
win.moveTo(screen.availLeft, screen.availTop);
win.resizeTo(screen.availWidth, screen.availHeight);
}
</script>
</head><body onload="init()">
<h1>test...</h1>
</body></html>

339 名前:Name_Not_Found 投稿日:2001/07/18(水) 18:43
>>337
それより、小学校の先生が「良く」アダルトサイトって…
いやまあ、先生だって人間ですよね〜

340 名前:Name_Not_Found 投稿日:2001/07/18(水) 18:58
全てのレイヤー(Divタグ)を不可視にしたい。
それをスマートにやる方法ありますか?

341 名前:Name_Not_Found 投稿日:2001/07/18(水) 20:57
>>337
>>339
つまんないこと書くな。

342 名前:Name_Not_Found 投稿日:2001/07/18(水) 21:16
開いたウィンドウから親ウィンドウって操作できるのでしょうか?

343 名前:C_sugar 投稿日:2001/07/18(水) 21:24
>>342
基本でしょう。
忘れたけど。

344 名前:Name_Not_Found 投稿日:2001/07/18(水) 22:27
>>342
opener
closed
使えばできる(みたいだ)けどIEでは動かんらしい
後は上の2つをキーワードにgoogleなりで検索してちょ

345 名前:340 投稿日:2001/07/18(水) 22:39
自分で解決しちゃいました。こんなカンジです。

function hide_all()
{
for (i = 0;i<document.body.childNodes.length;i++)
if (document.body.childNodes[i].tagName == "DIV")
document.body.childNodes[i].style.visibility = "hidden";
}

346 名前:Name_Not_Found 投稿日:2001/07/18(水) 22:46
>>345
div = document.getElementsByTagName("div")
for(i=0;i<div.length;i++) div[i].style.visibility = "hidden";

347 名前:345 投稿日:2001/07/18(水) 22:50
>>346
わぉ〜
サンクス!

348 名前:Name_Not_Found 投稿日:2001/07/18(水) 23:19
>>345>>346
もちろんいいんだけど、「別解」としてスタイルシート
をDOMで操作するという方法があります。「一気に」
「すべて」やるのならこれも覚えておくと有用かもよ。

<html><head><title>???</title>
<style id="s0" type="text/css">
div { visibility: hidden }
</style>
<script type="text/javascript">
function set(v) {
var list = document.getElementById('s0').sheet;
list.deleteRule(0); list.insertRule('div { visibility: ' + v + '}', 0);
}
</script>
</head><body>
<div>Test...</div>
<p><a href="javascript: set('visible')">visible</a>|
<a href="javascript: set('hidden')">hidden</a></p>
</body></html>

349 名前:Name_Not_Found 投稿日:2001/07/18(水) 23:32
>>342>>343>>344
「親ウィンドウを操作する」って具体的にはどういうことを考えてる?
基本的には、ある窓から別の窓を操作できるるのは、「両方の窓が同じ
サーバからのドキュメントを表示している場合のみ」という制約があります。
それがOKなら、開いた窓からはwindow.openerで親ウィンドウのwindow
オブジェクトが参照できますから、「window.opener.moveTo(0,0)」でも
何でもできるはず。ただし、窓を閉じる時は「閉じまくり攻撃」を防ぐ
ため、原則として「閉じてもいいか」というダイアログが出る。

350 名前:345 投稿日:2001/07/19(木) 00:40
>>348
はじめて見るものばかりです... そういうメソッドもあるんですねっ
使い方を見るととってもわかりやすいっす。
あと、詳しく書いてあるページ教えてくださいな。

351 名前:Name_Not_Found 投稿日:2001/07/19(木) 01:17
>>338
<body>にイベントハンドラonLoadでwindow.open(フルスクリーン)かます。
元windowはsetTimeoutで自動的に閉じてしまう。

こんなんどうでせう?
消防マンセー。

352 名前:325 投稿日:2001/07/19(木) 03:04
>>326
遅れましたがありがとうございました。
このスレ本当に勉強になります。

353 名前:Name_Not_Found 投稿日:2001/07/19(木) 04:34
オブジェクトのn番目のプロパティを参照する場合どうしたらいいでしょう。
数字では指定できないのでしょうか。

354 名前:Name_Not_Found 投稿日:2001/07/19(木) 04:56
>>353
できない

355 名前:Name_Not_Found 投稿日:2001/07/19(木) 05:00
>>353
オブジェクトのn番目のプロパティて
何をどうしたいの?

356 名前:Name_Not_Found 投稿日:2001/07/19(木) 07:08
>>350
DOMでスタイルシート操作するAPIは今の所、W3Cの文書

http://www.w3.org/TR/DOM-Level-2-Style/

これを見てやって見るしかないと思います。私はそれしか
知らない…どっかに解説してるページあったら私も知りたい。

357 名前:Name_Not_Found 投稿日:2001/07/19(木) 09:55
sortメソッドの引数に関して...
そこに関数リテラルが出てくるんですけど、

str.sort(function (a,b){return a-b;});

これはどういう具合になっているのでしょうか。

358 名前:Name_Not_Found 投稿日:2001/07/19(木) 10:28
>>357
strと書いてありますけど、これって配列(Arrayオブジェクト)の
sort()ですよね。配列を整列するときは、どんな順番で整列する
のか指定する必要があります。で、sort()に「比較関数」を渡す
ことでその順番を指定するわけです。比較関数は2つの引数x、y
を受け取り、「並べる順番について」x>yなら正、x==yなら0、
x<yなら負の値を返すことになってます。だから数値をその数値の
順に並べるなら「x-y」を返せばよいし、逆順に並べるなら「y-x」
を返せばよいし、数字の1桁目(10で割った余り)の順番に並べる
としたら「x%10-y%10」を返せばよいわけ。で、その比較関数を
普通に定義して名前を指定してもよいんだけど、そこでしか使わない
ような関数に名前を考えるのも面倒なんで関数リテラルにすること
が多いわけです。例を挙げておきますね。

<html><head><title>???</title>
</head><body>
<pre>
<script type="text/javascript">
var a = [1, 100, 13, 34, 25];
document.writeln(a.sort(function(a,b){ return a-b; }));
document.writeln(a.sort(function(a,b){ return b-a; }));
document.writeln(a.sort(function(a,b){ return a%10-b%10; }));
</script></pre>
</body></html>

359 名前:Name_Not_Found 投稿日:2001/07/19(木) 17:40
>>358
まだもにょもにょしているのでお聞きします。
ある本には、「内部的には1つずつ要素の比較を行って、返される値が
正か負かによって順番を入れ替えるという作業が行われている」と書いてありました。
例えば、比較関数から正の値が渡された場合、sortメソッドは
二つの引数の順番を逆に並べて...といった操作を繰り返しているのですか?
よろしくお願いします。

360 名前: 投稿日:2001/07/19(木) 17:47
たとえば a.sort(function(a,b){return a-b;}); についてです

361 名前:Name_Not_Found 投稿日:2001/07/19(木) 18:09
>>359
想像されているのは次のようなsortの定義でしょうか?

function sort(f) {
var done = false;
while(!done) {
done = true;
for(var i = 1; i < this.length; ++i)
if(f(this[i-1], this[i]) > 0) { // then swap...
var z = this[i-1]; this[i-1] = this[i]; this[i] = z; done = false;
}
}
}

これは「バブルソート」というアルゴリズムですが、ひどく遅いので真面目な
実用に使われることはまずありません。Arrayのsort()であれば、もっと賢
い整列アルゴリズムが使われているでしょうけど、どのアルゴリズムにせよ
「必要なら2つの要素の大小を比較する」わけで、その箇所で比較関数を呼ぶ
わけです。

362 名前:Name_Not_Found 投稿日:2001/07/19(木) 20:08
質問してもいいでしょうか。
最近JavaScriptを勉強しはじめたのですが
こんな感じの2段フレームが

| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|                  |
|                  |
|――――――――――――|
|                  |
|                  |
|____________|

          ↓

| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
|                  |
|――――――――――――|
|      ↑ ↑ ↑      |
|      ↓ ↓ ↓      |
|――――――――――――|
|                  |
|____________|

シワワワワと開いて3段になるようなのって組めるのでしょうか。
本当に始めたばかりで、どこから手を付けたらいいのかすら
わかりません。
よろしくお願いします。

363 名前:Name_Not_Found 投稿日:2001/07/19(木) 21:39
>>361
う〜む。よくわかりました。ありがとうございます。

364 名前:Name_Not_Found 投稿日:2001/07/19(木) 21:56
>>362
フレームセットのrows属性を変更するたびに全ての窓が
リロードされてかっこ悪くなっちゃうヨ

365 名前:Name_Not_Found 投稿日:2001/07/19(木) 22:35
はじめて書き込みます
よろしくおねがいします。

・ポップアップで開くウインドウがフレームの親.htmlだと読み込まれない率が
 かなり高いのですけど解決方法はありますか?

・そのポップアップウインドウ(フレーム)を閉じるJavaScriptはありますか?

これに1日はまってます。よろしくおねがいします。既知でしたらすみません

366 名前:Name_Not_Found 投稿日:2001/07/19(木) 22:55
>>365
質問の状況がよく分かりません。フレームに分かれている
ページが表示されている状態で、新しく窓を開くけど、その
新しい窓にも元のフレームに分かれているページと同じもの
が表示されるようにしている、そうしたら正しくページの
内容が読み込まれない、というふうに読めますがそういう意味?

問題のソースを簡潔に整理したものが見られるとアドバイス
がもらいやすいと思いますが…

367 名前:Name_Not_Found 投稿日:2001/07/19(木) 23:19
ポップアップさせるHTML[popup.html]
---------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
<script language="JavaScript">
<!--
//ポップアップ
function openwin1equip(){open("frame.html","00","toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,width=400,height=300");
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<A href="javascript:openwin1equip()">ポップアップ</a>
</BODY>
</HTML>
---------------------------------

親フレーム[frame.html]
---------------------------------
省略
---------------------------------

子フレーム01[01.html]
---------------------------------
省略
---------------------------------

子フレーム02[02.html]
---------------------------------
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<a href="javascript:close()">02です</a>
</BODY>
</HTML>
----------------------------------

ポップアップさせたframe.htmlがまず真っ白なまま文字などを読み込んでくれません。
しかしそのウインドウを1回閉じるてまたポップアップすると文字などが読み込まれます。

子フレーム02[02.html]のウインドウを閉じるJavascriptが反応してくれません
これはフレームに対応してないからでしょうか?

ちなみに作業環境は
Mac
IE5.0
です。

ながなが書いてすみませんでした。
よろしくおねがいします。

368 名前:ラクラブ 投稿日:2001/07/19(木) 23:20
>>365
つくってみたYO
やってみて
ふぁいるは二つ。
index.html

<frameset rows="50%,0%,50%">
<frame src="blank.html">
<frame src="blank.html">
<frame src="blank.html">
</frameset>

ここまで

blank.html

<body onload="a()" bgcolor=black>
<script>
b=0;
function a(){
parent.document.body.rows="30%,"+b+"%,30%";
if (b<30){
b++
setTimeout("a()",200)
}
}
</script>

369 名前:Name_Not_Found 投稿日:2001/07/19(木) 23:21
あ すみません
上の文は365についてです。
366さんの質問に答えたつもりです。
すみません ながったらしくて...

370 名前:ラクラブ 投稿日:2001/07/19(木) 23:51
>>365
http://2ch.coco.co.jp/test/index.html
オイラの鯖にいれといたから
よかったら参考にして。んじゃ

371 名前:ラクラブ 投稿日:2001/07/19(木) 23:58
あー
>>362

だった!!! 

372 名前:Name_Not_Found 投稿日:2001/07/20(金) 00:16
>>367
うーん、不思議ですね。対症療法ですが、とりあえず
framesetのonloadイベントハンドラで、子フレームそ
れぞれをreloadしてみてはどうでしょう。

373 名前:ラクラブ 投稿日:2001/07/20(金) 00:23
>>367
報告だけど、WIN IE5.5 で >>367 のScriptをそのまま
実行させてみたけど 問題なく 動いたよ。
MAC IE は不安定! MAC IEなんかで初心者が
JScriptを開発すんのは酷かと思われ。

374 名前:ラクラブ 投稿日:2001/07/20(金) 00:24
あげ

375 名前:Name_Not_Found 投稿日:2001/07/20(金) 00:25
>>370
おもしろい。
フレーム展開と同時に背景を
フェードさせてもおもしろいかもしんない。

376 名前:ラクラブ 投稿日:2001/07/20(金) 00:32
>>375
ウザいだけ

377 名前:Name_Not_Found 投稿日:2001/07/20(金) 00:33
>>370
Mozilla 0.92で見たらリロードしまくりでいまいち
でした…なかなか難しいですね。

378 名前:ラクラブ 投稿日:2001/07/20(金) 00:49
Mozillaデみんな!!!!
IEユーザー向けに設計してんだYO!
厨房め

379 名前:Name_Not_Found 投稿日:2001/07/20(金) 00:52
>>365
frameset+frameじゃなくてiframeだったら自由に制御できる
かなと思って作ってみました。結構面倒。窓の大きさを変更
された時に対処するとか、IEだとスクロールバーが出ない程度
に調整するとか、課題がいくつかありますが一応。

<html><head><title>???</title>
<style type="text/css">
iframe { position: absolute; left: 0px;
border-style: ridge; border-color: blue; border-width: 4px }
</style>
<script type="text/javascript">
var width, height, half, f1, f2, f3, mid = 0, count = 20;
function init() {
if(window.innerWidth) {
width = window.innerWidth-8; height = window.innerHeight-16;
} else {
var b1 = document.getElementById('b1');
width = b1.clientWidth; height = b1.clientHeight;
}
half = height/2; f1 = document.getElementById('f1');
f2 = document.getElementById('f2'); f3 = document.getElementById('f3');
f1.style.width = f2.style.width = f3.style.width = width+'px';
f1.style.top = '0px'; f1.style.height = half+'px';
f2.style.top = (half+8)+'px'; f2.style.height = '0px';
f3.style.top = (half+8)+'px'; f3.style.height = half+'px';
setTimeout(step, 3000);function step() {
mid += 5; f2.style.height = mid+'px'; f3.style.top = (half+16+mid)+'px';
f3.style.height = (half-8-mid)+'px'; if(--count > 0) setTimeout(step, 50);
}
</script></head><body id="b1" onload="init()">
<iframe id="f1" src="t1.html"><iframe id="f2" src="t2.html">
<iframe id="f3" src="t3.html"></body></html>

}

380 名前:ラクラブ 投稿日:2001/07/20(金) 00:58
25に"}"追加しないとだめぢゃん(藁

381 名前:ラクラブ 投稿日:2001/07/20(金) 01:00
>>379
んへぇ。なかなかイイカンヂだけど
いやー!重いね。。

ソースに関してはなかなか参考になるけど

こんなぺ−じあったとしても、見る気にならん

382 名前:ラクラブ 投稿日:2001/07/20(金) 01:02
>>379
あと、人のこと言える立場じゃないけど
ソースが汚い・・(藁
オープンソースにするなら後で改良していく人たちの
事も考えて、もうちょい奇麗にしてYO

383 名前:ラクラブ 投稿日:2001/07/20(金) 01:05
ご存知だろうけどborderは一つ一つ設定しなくても
border:4pt ridge blueでokよ。
無駄なソースはナルベク省こうね!

384 名前:Name_Not_Found 投稿日:2001/07/20(金) 01:15
>人のこと言える立場じゃないけど

立場じゃない。顔洗って出直せ。


385 名前:ラクラブ 投稿日:2001/07/20(金) 01:18
まあまあ。落ち着けよ(藁

386 名前:Name_Not_Found 投稿日:2001/07/20(金) 01:21
ちゃんと顔洗ったのか?

387 名前:ラクラブ 投稿日:2001/07/20(金) 01:22
いや、脂がついたままだ(藁

388 名前:Name_Not_Found 投稿日:2001/07/20(金) 01:28
ラクラブ、かあちゃんが早く飯食っちゃえってよ。

389 名前:ラクラブ 投稿日:2001/07/20(金) 01:29
>>379
隊長!f2のwidth>f3のwidth になると 鰓ー になります!

390 名前:ラクラブ 投稿日:2001/07/20(金) 01:30
>>388
ごめーん、まま、もうちょっとまってぇー!

391 名前:ラクラブ 投稿日:2001/07/20(金) 01:36
隊長!
頼むから、iframeのタグは閉じてくれ(w

392 名前:Name_Not_Found 投稿日:2001/07/20(金) 01:57
>>ラブラブ 愛してる!

393 名前:ラクラブ 投稿日:2001/07/20(金) 01:59
...。。ハァ?

394 名前:ラクラブ 投稿日:2001/07/20(金) 02:01
<style type="text/css">
iframe {border:ridge blue 4px }
</style>

<script type="text/javascript">
var width, height, half, f1, f2, f3, mid = 0, count = 20;

function init() {
width = 400;height = 400;

half = height/2;
f1 = document.getElementById('f1');
f2 = document.getElementById('f2');
f3 = document.getElementById('f3');

f1.style.width = f2.style.width = f3.style.width = width+'px';

f1.style.top = '0px';
f1.style.height = half+'px';

f2.style.top = (half+8)+'px';
f2.style.height = '0px';

f3.style.top = (half+8)+'px';
f3.style.height = half+'px';

setTimeout(step, 3000);

function step() {
mid += 5;
f3.style.height = (half-mid)+'px';
f2.style.height = mid+'px';

f1.style.height = (half-mid)+'px';

if(--count > 0) setTimeout(step, 50); }

}
</script></head><body id="b1" onload="init()">
<iframe name="f1" src="t1.html"></iframe><br>
<iframe name="f2" src="t2.html"></iframe><br>
<iframe name="f3" src="t3.html"></iframe><br>

アレンジ版ー☆

395 名前:Name_Not_Found 投稿日:2001/07/20(金) 02:02
>>392
全部抱きしめて♪

396 名前:ラクラブ 投稿日:2001/07/20(金) 02:08
>>394
http://2ch.coco.co.jp/test/2.html
ここに、おいときます。
なんか、かっくいいよね。

397 名前:Name_Not_Found 投稿日:2001/07/20(金) 04:35
配列のソートは、サンプル等よく見かけるのですが、
配列Aをキーにして、配列Bをソートしたい、
といった場合、どう書けばいいのでしょうか?

398 名前:Name_Not_Found 投稿日:2001/07/20(金) 06:31
Aを入れ替えるときに同じ要素番号で
Bも入れ替えたらいいんじゃないだろうか?

for i=1 to max-1
for j=i+1 to max
swap a(i) , a(j)
swap b(i) , b(j)
next j
next i

面倒だからbasicなバブルソートかいてしまった。

399 名前:Name_Not_Found 投稿日:2001/07/20(金) 06:42
>>397
うーん、下手に小細工するより、AとBの要素をペアにした配列
Cを作って、整列して、コピーし戻すのが分りやすいと思うな。

var C = new Array(A.length);
for(var i = 0; i < A.length; ++i) C[i] = {a:A[i], b:B[i]);
C.sort(function(x,y) { return x.a > y.a; });
for(var i = 0; i < A.length; ++i) B[i] = C[i].b;

400 名前:362 投稿日:2001/07/20(金) 11:23
>ラクラブさん
すごいです。
ありがとうございます。
今から中身を見せていただきます。
理解できるよう、がんばってみます。

401 名前:ラクラブ 投稿日:2001/07/20(金) 12:37
>>400
つーか、こっち使え。
http://2ch.coco.co.jp/test/3.html
理解できなきゃ、あほYO(藁

402 名前:ラクラブ 投稿日:2001/07/20(金) 12:44
う。早くも、偽発生・・・ 欝
てか、リンク先がないじゃん。 >>401 藁

403 名前:Name_Not_Found 投稿日:2001/07/20(金) 17:13
iframeが閉じてなかった…欝だねえ(w

でもね、CSSのプロパティはDOM2から使うときはフルスペル
のでないと使えないのよ。e.style.borderWidth = '4px'
とかさ。だからCSSでもフルに書くのが私の趣味。短く書く
のが趣味の人は別にそれでいいんじゃない。ソースが汚くて
悪かったな(これは本当に悪いと思ってる)。

if文がなくてどーやって整列できるんだ? >>398

404 名前:Name_Not_Found 投稿日:2001/07/20(金) 17:17
匿名掲示板を信じている君が鬱

405 名前:Name_Not_Found 投稿日:2001/07/20(金) 18:30
>>404
お前もしつこいね、甘えたこと言ってんじゃねぇよ。

406 名前:Name_Not_Found 投稿日:2001/07/20(金) 18:47
>>399
これどーゆー意味ですか?オブジェクトリテラルってやつですか?
あと、中カッコが変なところにあるような...

407 名前:Name_Not_Found 投稿日:2001/07/20(金) 18:51
インラインフレームって、ネスケとマックのエクスプローラーで
対応してないんじゃん?

408 名前:Name_Not_Found 投稿日:2001/07/20(金) 19:42
>>406
はい、オブジェクトリテラルです。

C[i] = {a:A[i], b:B[i]} ←すいません、「)」じゃなく「}」ですね。

これは次のものと等価です。

C[i] = new Object();
C[i].a = A[i];
C[i].b = B[i];

409 名前:Name_Not_Found 投稿日:2001/07/20(金) 19:48
>>407
そうですね、もともとN6/MozillaとIE5.5対応のつもりでした。
書かなくてすみません。しかしMac IE5.5もiframe非対応なんですか。

410 名前:Name_Not_Found 投稿日:2001/07/20(金) 20:04
そろそろ、次の質問、来ないかなあ!

411 名前: 投稿日:2001/07/20(金) 23:51
Mugi くんにも困ったものだ。。。

412 名前:ななし 投稿日:2001/07/20(金) 23:57
mugiさんってこのスレにいるの?何番かこっそり教えて。

413 名前:Name_Not_Found 投稿日:2001/07/21(土) 00:00
淫乱フレイム?

414 名前:"削除"人A 投稿日:2001/07/21(土) 00:33
みなさんがお世話になっている人だよ。

415 名前:Name_Not_Found 投稿日:2001/07/21(土) 00:36
http://www.vaio.sony.co.jp/Misc/Gigapocket/

ここみたいに横スクロールさせるスクリプトが知りたいのですが。
このページのソースは、自分には難しく分からなかったです。

もしあまり複雑にならないやり方があれば、
教えてもらえるとサンクスです。

416 名前:ラクラブ 投稿日:2001/07/21(土) 00:36
質問、、、ねえなあ

417 名前:Name_Not_Found 投稿日:2001/07/21(土) 00:40
>>409
え?N6で動く?

418 名前:Name_Not_Found 投稿日:2001/07/21(土) 00:45
Mugi氏いるの?
「元常連」は失礼すぎる思うぞ。
頭の中に虫がいるだろ?

419 名前:ラクラブ 投稿日:2001/07/21(土) 00:58
なに、mugiって、
ウザイ名前。

420 名前:Name_Not_Found 投稿日:2001/07/21(土) 01:01
配列の添え字に文字列を使えるようですが、これってイイと思う?

421 名前:Name_Not_Found 投稿日:2001/07/21(土) 01:15
>>420 連想配列のことか?

422 名前:Name_Not_Found 投稿日:2001/07/21(土) 01:28
JavaScript に連想配列ってないよね?

423 名前:Name_Not_Found 投稿日:2001/07/21(土) 02:07
ボタンを押して表示画像を切り替えってありますよね。
画像ではなく、テキスト表示にするにはどうしたらよいのでしょうか。
ボタン切り替えで、ある説明文をそれぞれ表示したいんです。
本を買ってみたものの、何をどうしたらいいのか分かりません。
教えいただけるとありがたいです。

424 名前:ラクラブ 投稿日:2001/07/21(土) 02:19
>>423

<script>
a=new Array()
a[0]="あぼぼぼぼ";
a[1]="いごごごご";
a[2]="あはははは";
function abon(num)
{txt.value=a[num]}
</script>
<input name="txt">
<input type="button" onClick="abon('0')">
<input type="button" onClick="abon('1')">
<input type="button" onClick="abon('2')">

こんなかんぢで、どうだい?
いちお、恒例の、アプもしとく、、 ↓
http://2ch.coco.co.jp/test/dada.html

425 名前:ラクラブ 投稿日:2001/07/21(土) 02:25
>>423
解説付きYO

<script>
// Script By 2ch.coco.co.jp

a=new Array() // 配列の宣言

//表示させたいメセジを番号つけていく

a[0]="あぼぼぼぼ";
a[1]="いごごごご";
a[2]="あはははは";

//ボタンがおされたら
//上の番号のメセジが表示される。

function abon(num)
{txt.value=a[num]}

</script>
<input name="txt">

<input type="button" onClick="abon('0')" value="0">
<input type="button" onClick="abon('1')" value="1">
<input type="button" onClick="abon('2')" value="2">

<!-- onClick="abon('メセジの番号')" --!>
<!-- おしまい --!>

426 名前:ラクラブ 投稿日:2001/07/21(土) 02:31
>>423
でもさ、input じゃかっこわるいから
こっちのほうが、実用的かも。。
イチオ、アプもしとくね。 http://2ch.coco.co.jp/test/da2.html
<script>
// Script By 2ch.coco.co.jp

a=new Array() // 配列の宣言

//表示させたいメセジを番号つけていく

a[0]="あぼぼぼぼ";
a[1]="いごごごご";
a[2]="あはははは";

//ボタンがおされたら
//上の番号のメセジが表示される。

function abon(num)
{txt.innerHTML=a[num]}

</script>
説明:<span id="txt"></span>
<br>
<input type="button" onClick="abon('0')" value="0">
<input type="button" onClick="abon('1')" value="1">
<input type="button" onClick="abon('2')" value="2">

<!-- onClick="abon('メセジの番号')" --!>
<!-- おしまい --!>

427 名前:Name_Not_Found 投稿日:2001/07/21(土) 02:44
423です。
すばやいお返事ありがとうございます!
これが分からなくて作業がとまっていたんです。
本当にありがとうございました。

428 名前:ラクラブ 投稿日:2001/07/21(土) 02:46
おうおう!
こちとら、質問がぜんぜんこなくてマァタリしてたとこで
ちょうどよかったYO!
また来てね!

429 名前:397 投稿日:2001/07/21(土) 02:56
>>398 >>399
ありがとうございました。おかげさまで解決しました。
配列をオブジェクトみたいに(言い方変?)使えるなんて知らなかったので、
これも勉強になりました。が、
分かったような分からないような点が出てきました。
Array と Object って結局同じなんでしょうか?

430 名前:Name_Not_Found 投稿日:2001/07/21(土) 06:48
>>429
ArrayとObjectの違いは、Arrayが番号の添字で参照するのに
何かと便利にできていること。たとえばlengthに値を入れること
で「長さを縮める」ことができる。

[値,値,…] で作られるのはArray。

{名前:値, 名前:値, …} で作られるのはObject。

431 名前:Name_Not_Found 投稿日:2001/07/21(土) 08:12
>>415

これって、 >>114 みたいに横スクロールさせる奴をフレームに入れれば
できますよね。いちお、簡略化して作ってみました。読めないとこ質問してね。
t.html:
<html><head><title>???</title></head>
<frameset title="main" cols="100,*">
<frame title="left" src="t1.html"><frame title="right" src="t2.html">
<noframes><body><p>frame only...</p></body></noframes>
</frameset>
</html>

t1.html:
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0px; width: 100px; height: 100px;
border-width: 4px; border-color: blue; border-style: ridge }
</style>
<script type="text/javascript">
function init() {
for(var i = 0; i < 3; ++i)
document.getElementById('d'+i).style.left = (i*100)+'px';
}
</script>
</head><body onload="init()">
<div id='d0'><h1>0</h1></div>
<div id='d1'><h1>1</h1></div>
<div id='d2'><h1>2</h1></div>
</body></html>

t2.html:
<html><head><title>???</title>
<script type="text/javascript">
var dx, count;
function move(d) { dx = d/10; count = 10; step(); }
function step() {
top.frames[0].scrollBy(dx, 0);
if(--count > 0) setTimeout(step, 50);
}
</script>
</head><body>
<p><a href="javascript: move(-100)">right</a>|
<a href="javascript: move(+100)">left</a></p>
</body></html>

432 名前:ラクラブ 投稿日:2001/07/21(土) 08:34
>>415
>>http://www.vaio.sony.co.jp/Misc/Gigapocket/
わ。これって、いいな!
まるでFRASH!さすがSONYとかおもちゃうな。

433 名前:ラクラブ 投稿日:2001/07/21(土) 08:35
あ。。FLASHの間違いね。(藁 スマソ

434 名前:ラクラブ 投稿日:2001/07/21(土) 09:56
>>415
http://2ch.coco.co.jp/test/sony/
に、ちょっとわかりやすく(?)したのを
置いとく。 もうちょっとしたら
モット詳しい解説を載せますー。マア、お暇でしたら参考にして。

435 名前:Name_Not_Found 投稿日:2001/07/21(土) 11:01
>>431
イイ!!

>>434
何をアプしてあるの?

あと、ギガポケットっていうサイト、ドリウイでつくってあるじゃん...

436 名前:ラクラブ 投稿日:2001/07/21(土) 11:16
どりういってなにー?

437 名前:Name_Not_Found 投稿日:2001/07/21(土) 12:08
macromedia の DreamWeaver だヨ

438 名前:ラクラブ 投稿日:2001/07/21(土) 12:41
あ、ビルダーっすか?
なぁんだ。。

439 名前:Name_Not_Found 投稿日:2001/07/21(土) 13:03
>>438
ヴァカですか?

440 名前:ラクラブ 投稿日:2001/07/21(土) 13:16
Macromedia から新しいDreamweaver のバージョンが出ました。Dreamweaver のEnterprise版ともいうべきソフトで、名前は Ultra Dev(ウルトラデヴ) です。太っているのかと思ってしまう名前ですね。(^^;DrumBeat というASP,JSPの作成ツールがあったのですが、このソフトとDreamweaver がくっついてUltra Devに なりました。

Ultra Dev はDreamweaver,DrumBeatの特徴を兼ね備えたソフトです。 Dreamweaver と同じ感覚でページのデザイン、 サイト管理ができます。実際、この文章もUltra Dev で書いています。これに加えて、DrumBeatの機能である サーバーサイドの処理が行えます。サーバーサイドのスクリプトは、ASP,JSP,ColdFusionの3種類で、ビヘイビアと 同じ感覚で挿入することが出来ます。 また、サーバーサイドのタグの実行結果を ドキュメントウィンドウ上で確認することができ、サーバー上で確認する手間が省けます。

初日でほとんど使ってないためあまり機能がわかっていませんが、徐々に紹介していこうと思います。

2000/06/10

UltraDeveloper4になってからなんにもしてませんが、サンプルだけは作りました。解説本を執筆中です。

441 名前:Name_Not_Found 投稿日:2001/07/21(土) 13:27
>>440
いいんだけど、このスレにはビルダ固有の話題じゃなく
あくまでJavaScriptの話題を書いて頂くようキボーン。

ドリウィでどういう操作という話をされてもわらかん。
JavaScriptコード出てくれれば読めるけどさ。

442 名前:Name_Not_Found 投稿日:2001/07/21(土) 13:43
>>394

ラクラブさん、>>379 のコードきれいにしてくれたのは嬉しい
んだけど(ホントきれいだねえ)、iframeのid属性をname属性に
書き換えちゃったらまずいよ。なんせgetElementById()で参照
してんで。そこだけ直したらN6/Mozillaでも動くんだよね。

ちなみに >>379 で何を苦労してたかってゆーと、ウィンドウの
サイズを取得してそれに合わせてiframeの大きさを設定すること
だったんだけど、その機能はなくてよかったのかな…

443 名前:Name_Not_Found 投稿日:2001/07/21(土) 18:41
>>348
IEでは動かないけど、どのメソッドが対応していないんですか?

>>399
C.sort(function(x,y) { return x.a > y.a; });
このreturn のなかの ">" って何でしょうか?

かなり前の話ですみません...

444 名前:Name_Not_Found 投稿日:2001/07/21(土) 19:10
>>443
調べてみましたが、IEだとstyle要素のノードからスタイルシート
オブジェクトが取れてくれません。なので、document.styleSheets[]配列から取りました。またinsertRule()/deleteRule()もないようです。
とりえあず、ルールの差し替えなんでcssTextに値を入れる方法で対処。
N6/MozillaとIE5.5用です。

<html><head><title>???</title>
<style type="text/css">
div { visibility: hidden }
</style>
<script type="text/javascript">
function set(v) {
var list = document.styleSheets[0];
if(list.deleteRule) {
list.deleteRule(0); list.insertRule('div { visibility: ' + v + '}', 0);
} else {
list.cssText = 'div { visibility: ' + v + '}';
}
}
</script>
</head><body>
<div>Test...</div>
<p><a href="javascript: set('visible')">visible</a>|
<a href="javascript: set('hidden')">hidden</a></p>
</body></html>

445 名前:Name_Not_Found 投稿日:2001/07/21(土) 19:17
>>443
はい、タグの終わりです。嘘です(w

まちがいました、すいません。もちろん、
「return x.a - y.a;」が正しいです(泣)

446 名前:415 投稿日:2001/07/21(土) 22:47
431さん、丁寧に教えてくれてほんと感謝です。
今まで試行錯誤して、やっとできました。
フレームを多用する場合、
top.frames[0]をparent.フレーム名に変えなくちゃならんですよね。
そこで苦労してました。
いずれにせよ、サンクス!

ラクラブさんの、よりGigaPocketのやつに近くてすげー。

447 名前:Name_Not_Found 投稿日:2001/07/21(土) 23:04
プルダウンメニュー(横にリンク先に飛ばすボタンがついているタイプ)
で選んだリンク先の説明をテキストボックスに表示させて、
その後ボタンでリンク先に飛ばす、ということは可能ですか?
わかりにくくてすみませんが解読できた方、
よかったら教えてください。

448 名前:Name_Not_Found 投稿日:2001/07/21(土) 23:58
>>447 ホレ。

<html><head><title>???</title>
<script type="text/javascript">
var mesg = ['やふーだ', 'ぐーだよ'];
function change() {
document.forms[0].elements[1].value =
mesg[document.forms[0].elements[0].selectedIndex];
}
function jump() {
location.href = document.forms[0].elements[0].value;
}
</script>
</head><body><form action="#"><p>
<select onchange="change()">
<option value="http://www.yahoo.co.jp/">Yahoo</option>
<option value="http://www.goo.ne.jp/">Goo</option>
</select><br>
<input type="text" size="60" disabled><br>
<input type="button" value="GO!" onclick="jump()">
</p></form></body></html>

449 名前:ラクラブ 投稿日:2001/07/22(日) 00:48
いやあ、しかし、みんなエレメントとか多様しまくりやねえ。。
オイラいっつも、nameとidでやってる。。
勉強になりました、、

450 名前:429 投稿日:2001/07/22(日) 01:09
>>430
ありがとうございました。理解いたしました。

451 名前:Name_Not_Found 投稿日:2001/07/22(日) 03:34
レイヤと、その中に入れる画像と、
同じIDを使っても問題ないですか?

452 名前:Name_Not_Found 投稿日:2001/07/22(日) 06:52
>>451
HTMLの仕様書読め

453 名前:Name_Not_Found 投稿日:2001/07/22(日) 08:34
>>451
idはもともと「そのドキュメントでは一意」であるように
つけることになってるんで。同じにならないように工夫し
ましょう(何か頭に1文字つけるとか)。

454 名前:ラクラブ 投稿日:2001/07/22(日) 09:39
>>452
ヴぁか?
仕様書よむのめんどいからここで聞いてんだRO。

455 名前:Name_Not_Found 投稿日:2001/07/22(日) 09:44
>>454
hagesiku doui!

456 名前:Name_Not_Found 投稿日:2001/07/22(日) 11:51
location = ???
location.href = ???
どちらがより良いですか

457 名前: 投稿日:2001/07/22(日) 13:44
location オブジェクトのデフォルトプロパティが href である。

458 名前:Name_Not_Found 投稿日:2001/07/22(日) 14:34
つまりどっちでも同じってことなんですか?

459 名前:447 投稿日:2001/07/22(日) 15:43
>>448さん
ありがとうございます。
早速試してみたんですがリンク先にうまく飛べなくて、
アドレスのところにこのページの変わりに
(...ne.jp/~***/otameshi.htmlとしたのですが)
...ne.jp/~***/nullと表示されました。
これはどういうことなんでしょうか?
あと、1行以上のフォームへの表示も可能ですか?

またわかりにくくってすみません。

460 名前:Name_Not_Found 投稿日:2001/07/22(日) 16:21
>>459

うーん、不思議ですねえ。その<select>...</select>の
あたりだけ貼りつけて見ません?あと、「1行以上の」という
意味がよく分りませんが、選択するたびにその選択内容の説明
が追加されるっていうこと?または単に説明が長いからっていう
こと?説明が長いだけなら<input type="text" ...>を
<textarea rows="行数" cols="文字数"></textarea>
に取り換えるダケでいいはず。

461 名前:Name_Not_Found 投稿日:2001/07/22(日) 19:48
>>457

そもそも、MSのリファレンスには「locationオブジェクトのデフォルト
プロパティがhrefだからlocationに値を入れるのはlocation.href
に入れるのと等しい」と書いてあるけど、また実際そのように動作する
ようだけど、これってどういう言語機能なのかよく分からない。

たとえばdocument.locatinにこれまでに入っている値(Location
オブジェクト)を捨ててまったく別のモノ(たとえば数値の「0」とか)
を入れたりすることはできるのか?なんかできなさそうだよね。つまり
このプロパティだけ何か「普通でない」わけ。

Netscapeのリファレンスには、「document.locationに値を
入れようとすると、新しいLocationオブジェクトが作られ、その
hrefプロパティに値が格納され、document.locationプロパティ
にはそのLocationオブジェクトが格納される」と書いてある(ように
読める…と思う)。これならまあJavaScriptの動作としてプロパテイ
への値の設定で何か実行するというのはもともとあるから納得できる。

IEのもうちょっとましな説明、見つけた人いる?

462 名前:447 投稿日:2001/07/22(日) 21:16
>>460さん
レスありがとうございます。
そう!単に説明が長くなるな、と思ったので行が設定したかったんです。
<textarea rows="行数" cols="文字数"></textarea>でできました。
ところでこれはピクセルでの指定はできないのでしょうか?

で、リンクに飛ばないことについてですが、
取りあえずなので>>448を普通にコピペしただけなので、
<select onchange="change()">
<option value="http://www.yahoo.co.jp/">Yahoo</option>
<option value="http://www.goo.ne.jp/">Goo</option>
</select>
ココはなにもいじってないのですが。

463 名前:Name_Not_Found 投稿日:2001/07/22(日) 21:36
>>462

ピクセル単位で指定したければ

<textarea style="width: 200px; height: 100px"></textarea>

とかですかね。rowsとcolsも一応指定するんだっけかな?
リンクいじってないって、リンク先を変更したんですよね。
URIにヘンな文字…たとえば「\」とか「"」とかが入って
ないかとか、全体を「""」で囲みそこなってないかとか、
その辺チェックしてみては。

464 名前:Name_Not_Found 投稿日:2001/07/22(日) 23:18
質問がなくて暇なので「画像が窓の中を飛ぶ」というのを書き込んで
見ます。N4、N6/Mozilla、IE5対応(のつもり)。興味ある方お試しください。

<html><head><title>???</title>
<script type="text/javascript">
var elt, suf = 'px', x = 0, y = 0, xmax = 300, ymax = 200, dx = 3, dy = 4;
function init() {
if(document.getElementById) {
elt = document.getElementById('d1');
} else {
elt = document.d1; elt.style = elt; suf = '';
}
setInterval(move, 50);
}
function move() {
elt.style.left = (x += dx) + suf; if(x < 0 || x > xmax) dx = -dx;
elt.style.top = (y += dy) + suf; if(y < 0 || y > ymax) dy = -dy;
}
</script>
</head><body onload="init()">
<div id="d1" style="position: absolute"><img src="test.png"></div>
</body></html>

465 名前:Name_Not_Found 投稿日:2001/07/22(日) 23:23
>>463
textarea において rows と cols は必須属性

466 名前:Name_Not_Found 投稿日:2001/07/22(日) 23:40
皆さんのサンプルを見ていると、NNも意識している方が多いようですが、
自分はIE5(Win、Mac)、IE4(Win)だけに対応するようになりました。
シェアが少ない割に、NNにも対応するのは時間も手間もかかるので…。
このあたりどう考えてますか?

467 名前:IUnknown 投稿日:2001/07/22(日) 23:43
>461

興味があるので参加させていただきます。普段はプログラム板の住人として

 http://piza.2ch.net/test/read.cgi?bbs=tech&key=981823340
 http://piza.2ch.net/test/read.cgi?bbs=tech&key=982930049

などに顔を出している者です。

>そもそも、MSのリファレンスには「locationオブジェクトのデフォルト
>プロパティがhrefだからlocationに値を入れるのはlocation.href
>に入れるのと等しい」と書いてあるけど、また実際そのように動作する
>ようだけど、これってどういう言語機能なのかよく分からない。

IE では Location オブジェクトは正式には HTMLLoction オブジェクトと
呼ばれるオートメーションオブジェクトです。IE における JScript の
言語機能を理解しようとするならば COM インターフェイスやオートメーションに
関する知識が不可欠となってきます。オートメーションオブジェクトには
デフォルトのプロパティというものを割り当てることが出来ます。
これは COM インターフェイスの実装段階で行うものです。正確には
メソッドを識別するための ID である DispatchIDというものに 0x00000000
という値を割り当てたものが デフォルトのプロパティとなります。
これはステートメントの戻り値がオブジェクトの参照で終わる場合、つまり

document.location = "http://www.xxx.com/"

のようなときですが、デフォルトのプロパティである href が呼び出されます。
これらの認識はオートメーションコントローラのパース段階で行われるものであり
(JScriptやVBScriptエンジンなど)、オートメーションコントローラを
自作する場合はそれを知った上で実装する必要があります。オートメーションでは
このようなコンポーネントとコントローラ間での取り決めがいくつもあります。
とはいえスクリプトのプログラマは単にスクリプト言語の仕様として理解する
だけで構わないでしょう。

COM については初心者でもわかるように噛み砕いて短く説明することははっきり言って
不可能です。それぐらい理解するには不可欠な概念が沢山あるのです。
ある程度の基礎知識さえ身に付けれれば世界は結構広がってきます。
このスレッドの趣旨とは離れてしまいますが IE における JScript の理解を
深めたいならばこの世界に足を踏み込んでみるのもいいかもしれませんね。

IEのオブジェクト階層について勉強するならば「COMアーキテクチャと実践
スクリプティング」という書籍である程度掘り下げて解説しています。
VC や VB などの言語知識がないと少々難しいかもしれませんが、興味があるならば
読んでみてはどうでしょう。COM や IEに関することであれば上記のスレッドで
質問すれば誰か答えてくれるかもしれません。私よりずっと詳しい人が沢山います
から(予習しないで質問すると結構手厳しい反応が返ってきたりしますけどね)。

468 名前:Name_Not_Found 投稿日:2001/07/22(日) 23:46
時間も手間もかかるっていっても、慣れてる人なら
数分単位だろ。

極端に面倒くさいのは割り切るかも。

469 名前:456 投稿日:2001/07/23(月) 00:06
>>467
で、結局同じってことなんでしょ?

470 名前:Name_Not_Found 投稿日:2001/07/23(月) 00:10
>>467

なるほど、オートメーションだったのですね。にしても、

> これはステートメントの戻り値がオブジェクトの参照で終わる場合、つまり
> document.location = "http://www.xxx.com/"

せんせー、これでなぜ「ステートメントの戻り値がオブジェクトの参照」
なのか分かりません。ECMAの言語仕様から行けば、この文の戻り値は代入
された値つまり文字列値であるように思えるのですが。

471 名前:Name_Not_Found 投稿日:2001/07/23(月) 00:17
>>466

自分はJavaScriptでどんなことができるかに興味があるので、
まずN6/Mozillaが対象になりますね。IE5.xって標準に準拠して
るといいつつ欠けてることが多いから。で、余裕があればIE5.5
でチェックして、N4はできないことが多いから、これはできると
分かる場合は対応します。 >>468 が書いているように、できると
分かっていることを対応するなら数分ですよ。IE4.x? そんなの
知らない(w

472 名前:IUnknown 投稿日:2001/07/23(月) 00:49
>470
御免なさい、説明不足でした。この場合は左辺がという意味です。
document.location は window.document.location ですよね。
ここから説明します(IEについてのみの概念です)。

window オブジェクトとは JScript エンジンが IEと接続した際に
渡されたインターフェイスで IHTMLWindow2 インターフェイスを
指します。私たちが通常 window オブジェクトのメソッドやプロ
パティとして呼び出しているものはすべて IHTMLWindow2 インター
フェイスが公開するメソッドです。実はプロパティの設定や
取得でさえも本当はメソッドなのです。ただその実装や呼び出しに
ちょっとした取り決めがあって便利に利用することが出来るように
なっているんです。まあそれはおいておくとして、既に JScript
は window オブジェクトを知っていますから(さっき渡されました
よね)直接メソッドを呼び出すことが出来ます。これが document
メソッドから書き始めることが出来る理由です。window オブジェクトの
document メソッドは IHTMLWindow2 インターフェイスから document
メソッドを呼び出すことになります。このメソッドは IHTMLDocument2
インターフェイスを返します。これはオートメーションでいうと
みんなのよく知っている Document オブジェクトです(オートメーション
ではインターフェイスと言う概念をラッピングしてしまいます)。

window.document の部分です。

次に Document オブジェクトの location メソッドですが、これは
先ほど取得した IHTMLDocument2 インターフェイスを使って location
メソッドを呼び出します。戻り値は IHTMLLocation インターフェイス
です。つまり location オブジェクトですね。

window.document.location の部分です。

するとスクリプトではこれに文字列を入れようとしているではありませんか!

window.document.location = "http://www.xxx.com/"

現在、左辺は location オブジェクトです。JScript エンジンはこういうときに
デフォルトプロパティでこの代入を試そうとします。これは前に話した
デフォルトプロパティを割り当てられている IHTMLLocation インターフェイスの
メソッドです。JScript は DispID が 0x00000000 である href メソッドを
を見つけます。そしてスクリプトの記述どおりに「プロパティの設定」という方法で
この値を href メソッドを使って代入しようとします。このメソッドは代入される
値には BSTR というデータ型しか受け付けません。これはオートメーションの世界で
用いられる文字列型です。つまり document オブジェクトの href プロパティには
文字列しか設定できないと言うことになります。正しく文字列が渡されたらめでたく
代入は成功となるわけです。ちょっと説明端折りましたがわかっていただけましたか?


IE のオブジェクトをインターフェイスの定義として詳しく調べたいのであれば
OLE Viewer なるツールがマイクロソフトから無料で提供されています。
これは自身のマシンにインストールされているCOMコンポーネントを調べる際に
役立ちます。 IEが公開するすべてのオブジェクト(インターフェイス群)、
メソッドを調べることが可能です。

http://www.microsoft.com/com/resources/oleview.asp

使い方がわからなければ聞いてください。

473 名前:466 投稿日:2001/07/23(月) 05:09
>>468 >>471
お話を聞いて、食わず嫌いだったのかも…と思い直しまして、
NN6への対応に取り組むことにしました。
document.imageとdocument.allを、document.getElementByIdにして、
細かいところをいじるだけで、とりあえず「見れる」ようにはなりました。
「難しい」「面倒」と思い込んでいたようです。

474 名前:Name_Not_Found 投稿日:2001/07/23(月) 05:18
>>114 の横スクロールさせる方法に、
残像を残しながら同じ位置に表示されるレイヤーを加えたいのですが、
そういうことはできますか?

475 名前:447 投稿日:2001/07/23(月) 05:40
>>462さん
ありがとうございます。
試してみたら、
IEでは反映されるみたいですね。>ピクセル指定
で、ついでにIEでリンク先に飛んでみたらうまく行きました。
ってことは
NCではうまくいかないスクリプトってことなんでしょうか?
両方で使えるようにはできないのでしょうか?
当方MACにて主にNCを使っております。

476 名前:Name_Not_Found 投稿日:2001/07/23(月) 06:45
>>472
説明は大変よく分りました。そうすると、JScriptエンジンはCOMオブジェクト
のプロパティはものによっては代入させてくれないということになるのでしょう
かね?普通のオブジェクトであれば

obj.prop = 値;

という文があった場合、objのプロパティpropの値を取り出してしまうわけでは
なく、objにプロパティpropがまだなければ作り、そこに「値」を設定しますよ
ね。つまり「… obj.prop …」のように参照する時とは動作が違うわけです。
しかし

document.location = 値;

の場合はdocumentオブジェクトのプロパティを設定しようとはせず、常に
locaitonプロパティの中身をまず参照してきて、それがHTMLLocation
インタフェースを持っていることを見るのですよね(その後の説明は分ります)。
その辺、普通の言語の意味づけとちょっと違うなと思いました。

477 名前:Name_Not_Found 投稿日:2001/07/23(月) 07:01
>>475

驚愕!N4で試したら、確かにうまく飛べません。option要素の
valueの扱いになにかヘンなところがあるんですね>>N4
なので、メッセージと同様、行き先も配列に覚えるように修正し、
N4での動作確認しました。失礼しました。なお、大きさのピクセル
指定はN4は無理でしょう(スタイルシートの実装がもともと不完全)。
N4ではそれらしい値になるようにrows/colsを調整するんでしょうね。

<html><head><title>???</title>
<script type="text/javascript">
var mesg = ['やふーだ', 'ぐーだよ'];
var dest = ['http://www.yahoo.co.jp/', 'http://www.goo.ne.jp'];
function change() {
document.forms[0].elements[1].value =
mesg[document.forms[0].elements[0].selectedIndex];
}
function jump() {
location.href = dest[document.forms[0].elements[0].selectedIndex];
}
</script>
</head><body><form action="#"><p>
<select onchange="change()">
<option>Yahoo</option><option>Goo</option></select><br>
<textarea style="width: 200px; height: 100px" rows="10" cols="40">
</textarea><br>
<input type="button" value="GO!" onclick="jump()">
</p></form></body></html>

478 名前:447 投稿日:2001/07/23(月) 07:25
>>477さん
ありがとうございました!
なにがなにやらわからないけれど
NCで飛べるようになっていました!
こういうのを自分で考えて作れるようになりたいなあ、と
今回心底思いました。勉強が必要ですね。
今回はコピペで。(ありがとうございます

ところで、このプルダウンを複数作って、
説明をひとつのテキストエリアに表示させることも可能ですか?
一度に質問しないで注文つけるみたいに
何回も何回も質問して大変申し訳ありません。

479 名前:Name_Not_Found 投稿日:2001/07/23(月) 07:29
>>474

「残像を残しながら同じ位置に表示される」という意味がよく分りません。
つまり、フレームの中は横にスクロールするけど、そのスクロールについて
行かずに同じ位置に表示され続けるような内容を一緒に入れておくって
いうことでしょうか?それだと「残像」という言葉とちょっと違う気も
して…いちお、ちょっと直して作ってみましたが。N6/MozillaとIE5。

t.html:
<html><head><title>???</title></head>
<frameset title="main" cols="100,*">
<frame title="left" src="t1.html">
<frame title="right" src="t2.html">
<noframes><body><p>frame only...</p></body></noframes>
</frameset></html>

t1.html:
<html><head><title>???</title>
<style type="text/css">
div.fix { position: absolute; top: 110px }
div { position: absolute; top: 0px; width: 100px; height: 100px;
border-width: 4px; border-color: blue; border-style: ridge }
</style>
<script type="text/javascript">
function init() {
for(var i = 0; i < 3; ++i)
document.getElementById('d'+i).style.left = (i*100)+'px';
}
</script>
</head><body onload="init()">
<div class="fix" id="fx">Fixed</div>
<div id="d0"><h1>0</h1></div>
<div id="d1"><h1>1</h1></div>
<div id="d2"><h1>2</h1></div>
</body></html>

t2.html:
<html><head><title>???</title>
<script type="text/javascript">
var elt, epos = 0, dx, count;
function init() { elt = top.frames[0].document.getElementById('fx'); }
function move(d) { dx = d/10; count = 10; step(); }
function step() {
elt.style.left = (epos += dx) + 'px';
top.frames[0].scrollBy(dx, 0);
if(--count > 0) setTimeout(step, 50);
}
</script>
</head><body onload="init()">
<p><a href="javascript: move(-100)">left</a>|
<a href="javascript: move(+100)">right</a></p>
</body></html>

480 名前:Name_Not_Found 投稿日:2001/07/23(月) 07:34
>>473

ちょっとやって見るとわりと簡単でしょ?しかしこういうことをやる
ほど、document.getElementById()がいちばん使いやすいと思う
んですよね。といいつつforms[]とかも使うんだけど。

481 名前:Name_Not_Found 投稿日:2001/07/23(月) 07:42
>>478

プルダウンが複数で説明表示領域が1つっていうことは、そこには
現在選ばれている各プルダウンに対応する説明が「連結されて」入る
っていうことですか?それだったら

var msg0 = [...];
var msg1 = [...];

みたいにプルダウンごとに説明の配列も用意しておき、説明を入れる所で

...value = msg0[...selectedIndex] + msg1[...selectedIndex];

みたいに連結してほうりこめばできると思います。プルダウンが10個くらい
あるようだとループや配列使わないとめんどくさそーですけど…

せっかく説明したい人がいるんですから、コピペしたときに「ここはどういう
意味ですか」くらい質問していただけると、自分で書けるようになる早道じゃ
ないでしょうか?何回にも分けて質問するのはかえっていいと思いますよ。

482 名前:Name_Not_Found 投稿日:2001/07/23(月) 18:33
javascriptの変数をperlに渡すことはできますか?

483 名前:474 投稿日:2001/07/23(月) 19:15
>>479
「残像を残しながら同じ位置に表示される」というのは、
┏━━━━━━━━━━━━━┓
┃              ┌────┐┃
┃              │        │┃
┃              │        │┃
┃              │        │┃
┃              │ fixed  │┃
┃              └────┘┃
┃口                  ┃
┗━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━━┓
┃  ┌  ┌ ┌ ┌┌────┐┃
┃  │  │ │ ││        │┃
┃  │  │ │ ││        │┃
┃  │  │ │ ││        │┃
┃  │  │ │ ││ fixed  │┃
┃  └  └ └ └└────┘┃
┃        口          ┃
┗━━━━━━━━━━━━━┛
┏━━━━━━━━━━━━━┓
┃              ┌────┐┃
┃              │        │┃
┃              │        │┃
┃              │        │┃
┃              │ fixed  │┃
┃              └────┘┃
┃                  口┃
┗━━━━━━━━━━━━━┛
こんな感じなんですけど、わかります?
えっと、□はスクロールバーです。

484 名前:447 投稿日:2001/07/23(月) 19:16
わたしの説明わかりにくかったと思います。
補足にもならないような補足させてください。

*Aのプルダウン ↓説明
 「犬関係」
   犬日記  ←犬の成長記録です
   犬掲示板 ←犬関係の掲示板です

*Bのプルダウン ↓説明
 「猫関係」
   猫日記  ←猫の成長記録です
   猫掲示板 ←猫関係の掲示板です

テキストエリアには随時選択したリンク先の説明が新しく表示される。
・・・イメージとしてはこんな感じなのですが。
そういえば、テキストエリアって書き込み可なのですね。
不可にする方法ってあるのでしょうか?

485 名前:447 投稿日:2001/07/23(月) 19:17
>>481さんのレスを受けて、(間違った受け止め方しますね…)
見よう見まねで>>477をいじってみました。

<html><head><title>???</title>
<script type="text/javascript">
var msg0 = ['やふーだ', 'ぐーだよ']; var msg1 = ['ぐーぐる', 'らいこす'];
var dest0 = ['http://www.yahoo.co.jp/', 'http://www.goo.ne.jp'];
var dest1 = ['http://http://www.google.com/intl/ja/', 'http://www.lycos.co.jp/'];
function change() {
document.forms[0].elements[1].value =
msg0[document.forms[0].elements[0].selectedIndex]
+ msg1[document.forms[0].elements[0].selectedIndex];
}

}
function jump() {
location.href = dest0[document.forms[0].elements[0].selectedIndex]
+ dest1[document.forms[0].elements[0].selectedIndex];
}
</script>
</head><body><form action="#"><p>
<select onchange="change()">
<option selected>choose</option><option>Yahoo</option><option>Goo</option>
</select><br>
<select onchange="change()">
<option selected>choose</option><option>Google</option><option>Lycos</option>
</select><br>
<textarea style="width: 200px; height: 100px" rows="10" cols="40">
</textarea><br>
<input type="button" value="GO!" onclick="jump()">
</p></form></body></html>

そしたらこんなのになっちゃって、勿論動作しなくなってしまって。
皆様から見ると物凄くばかな間違いをしているでしょうから
凄く恥ずかしいのですが、どうか指導してやってください。
それでは、過去ログでどこか良い初心者向けページ探してきます・・・

486 名前:Name_Not_Found 投稿日:2001/07/23(月) 21:54
>>485

あー、...elements[0]とか...elements[1]とかゆーのは、
「このフォームの何番目の部品」という意味ですから、select
を増やしたらそれに応じて番号を調整してくださいねー。

487 名前:Name_Not_Found 投稿日:2001/07/23(月) 22:22
>>484
textareaもinput type="text"と同じくdisabled属性を指定しておけば書き込み
不可にできます。しかしおんなじのを2組とか3組とかにすると、elements[]の
番号では指定が苦しいですよね。idを使うように直して見ました。

<html><head><title>???</title>
<script type="text/javascript">
var mesg = [['やふーだ', 'ぐーだよ'], ['ぐーぐる', 'いんふぉしーく']];
var dest = [['http://www.yahoo.co.jp/', 'http://www.goo.ne.jp/'],
['http://www.google.co.jp/', 'http://www.infoseek.co.jp/']];
function change(i) {
var sel = document.getElementById('s'+i);
var txt = document.getElementById('t'+i);
txt.value = mesg[i][sel.selectedIndex];
}
function jump(i) {
var sel = document.getElementById('s'+i);
location.href = dest[i][sel.selectedIndex];
}
</script>
</head><body><form action="#">
<p><select id='s0' onchange="change(0)">
<option>Yahoo</option><option>Goo</option></select><br>
<textarea id='t0' disabled style="width: 200px; height: 50px"
rows="2" cols="30"></textarea><br>
<input type="button" value="GO!" onclick="jump(0)"></p>
<p><select id='s1' onchange="change(1)">
<option>Google</option><option>Infoseek</option></select><br>
<textarea id='t1' disabled style="width: 200px; height: 50px"
rows="2" cols="30"></textarea><br>
<input type="button" value="GO!" onclick="jump(1)"></p>
</form></body></html>

488 名前:Name_Not_Found 投稿日:2001/07/23(月) 23:17
>>483
なるほどねー(w しかしこういうのはDOMでは難しい。画像をベタに描いて
いるんじゃないですからねー。作っては見ましたが…N6/MozillaとIE5.5。

t.html:
<html><head><title>???</title></head>
<frameset title="main" cols="200,*">
<frame title="left" src="t1.html">
<frame title="right" src="t2.html">
</frameset>
</html>

t1.html:
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0px; width: 200px; height: 100px;
border-width: 4px; border-color: blue; border-style: ridge }
div.fix { position: absolute; top: 110px; left: 100px;
width: 40px; height: 20px; background-color: white }
</style>
<script type="text/javascript">
var a = new Array(10), epos = 100, dx, count;
function init() {
a[0] = document.getElementById('fx');
for(var i = 1; i < 10; ++i) {
a[i] = a[0].cloneNode(true); a[i].style.visibility = 'hidden';
document.getElementById('b1').appendChild(a[i]);
}
for(var i = 0; i < 3; ++i) {
document.getElementById('d'+i).style.left = (i*200)+'px';
}
}
function move(d) { dx = d/10; count = 10; step(); }
function step() {
var x = a[9]; for(var i = 9; i > 0; --i) a[i] = a[i-1]; a[0] = x;
for(var i = 0; i < 10; ++i) a[i].style.zIndex = 20-i;
a[0].style.visibility = 'visible'; a[0].style.left = (epos += dx) + 'px';
window.scrollBy(dx, 0);
if(--count > 0) {
setTimeout(step, 50);
} else {
for(var i = 1; i < 10; ++i) a[i].style.visibility = 'hidden';
}
}
</script>
</head><body id="b1" onload="init()">
<div class="fix" id="fx">Fixed</div>
<div id="d0"><h1>0</h1></div>
<div id="d1"><h1>1</h1></div>
<div id="d2"><h1>2</h1></div>
</body></html>

t2.html:
<html><head><title>???</title></head><body>
<p><a href="javascript: top.frames[0].move(-200)">left</a>|
<a href="javascript: top.frames[0].move(+200)">right</a></p>
</body></html>

489 名前:Name_Not_Found 投稿日:2001/07/23(月) 23:22
>>482

> javascriptの変数をperlに渡すことはできますか?

えーと、Perlで書かれたCGIプログラムに渡すんですよね?
でしたら、たとえば変数xだったら

location.href = 'CGIのURI?value=' + x;

とかすれば、呼び出されたCGIでは変数「value」の値としてx
の値が取れると思いますが…

490 名前:( ´Д`) 投稿日:2001/07/23(月) 23:44
最近は繁盛してるなぁ。出番がない(w

491 名前:Name_Not_Found 投稿日:2001/07/24(火) 00:20
↓のタグで target="_blank" や target="_top" の効果を出す方法を教えてください。
既出だったらすみません。

<form>
<input type="button" value="2ちゃんねる" onClick="location.href='http://www.2ch.net/';return false;">
</form>

492 名前:Name_Not_Found 投稿日:2001/07/24(火) 00:46
何をしたいんだ
JavaScriptに頼るのが正しいとは限らない
HTMLが標準で用意してる機能を使え

<form action="http://www.2ch.net/" target="_top">
<input type="button" value="2ちゃんねる">
</form>

FORMを送る前になにかしたいのであれば
適宜onClick="hogehoge();return false;"を入れて
function hogehoge(){
〜処理〜
document.form[0].submit();
}

493 名前:Name_Not_Found 投稿日:2001/07/24(火) 06:47
>>491
「_top」だったら「top.location.href = '...'」じゃないすか。
「_blank」は新しい窓を開くんだから「window.open('...', '_blank');」
でしょうかね。

494 名前:491 投稿日:2001/07/24(火) 08:13
レスありがとうございます。
>>493
ついでにもうひとつ。
フレーム表示で、フレームにたとえば name="main" と名前をつけたときに
target="main" にするにはどうしたらよいのでしょう?

495 名前:491 投稿日:2001/07/24(火) 09:43
>>492

当然
<form action="http://www.2ch.net/" target="_top">
<input type="button" value="2ちゃんねる">
</form>
も使用しています。
しかし、これだとformをいくつか並べると改行されたりして一行で収まらないんですね。
レイアウト、デザインの問題ですが。

496 名前:Name_Not_Found 投稿日:2001/07/24(火) 10:15
489さんありがとうございます。
助かりました。

497 名前:Name_Not_Found 投稿日:2001/07/24(火) 10:49
>>494
そのフレームmainが大元のHTMLファイルで定義されている
ものとしてよいですね?

top.frames.main.location.href = '...';

498 名前:491 投稿日:2001/07/24(火) 12:52
>>495
window.open('...', 'main');
で試してみたらできました。

>>497
ありがとうございます。
試してみます。↑とどちらがよいでしょうか。

499 名前:Name_Not_Found 投稿日:2001/07/24(火) 13:04
>>498
なるほど、フレームであってもwindow.open()でもいいのですね。
だったら、どちらでも好きな方でいいんではないでしょうか。

500 名前:491 投稿日:2001/07/24(火) 13:51
499さん、アドバイスありがとうございました。

501 名前:Name_Not_Found 投稿日:2001/07/24(火) 14:10
document.form.ここ.value
「ここ」の名前を変数で制御したいのですが、
どうすればよいのでしょうか?

502 名前:Name_Not_Found 投稿日:2001/07/24(火) 14:14
>>501
JavaScriptでは「オブジェクト.名前」は「オブジェクト['名前']」
と等価です。従って、たとえば変数xで制御したければ

document.forms[x].value

こうなりますね。あと、formじゃなくformsですんでよろしく。

503 名前:Name_Not_Found 投稿日:2001/07/24(火) 14:30
>>502
ありがとうございます。
センキュー。

504 名前:5a 投稿日:2001/07/24(火) 14:51
http://www.microsoft.com/japan/ms.htm
マイクロソフトなんかの一番上の「サイトマップ」等の
プルダウンメニューっぽいヤツってJavaScriptですか。
そしてどうしたらあんなことが出来ますか。

505 名前:Name_Not_Found 投稿日:2001/07/24(火) 15:06
>>502
すみません、formsってなんですか?
そこは自分で決めたフォーム名を入れるのではないのですか?

506 名前:Name_Not_Found 投稿日:2001/07/24(火) 15:18
>>502
わかりました。
お騒がせしてすみません。

507 名前:Name_Not_Found 投稿日:2001/07/24(火) 15:26
>>504
JavaScriptっぽいですね。そのテの質問、このスレの前の方で
出ていたかと。要約すると、各メニューはposition: absolute
で位置指定した要素で、最初はvisibilityを'hidden'にしといて、
メニューボタンとこにonmouseoverイベントハンドラつけといて、
マウスが上へ来たら対応するメニューを'visible'に変更するとか、
そんな感じでできるんじゃない。

508 名前:Name_Not_Found 投稿日:2001/07/24(火) 20:34
this の使い方を教えてください

509 名前:Name_Not_Found 投稿日:2001/07/24(火) 20:57
>>508
thisは、メソッドの中からそのメソッドが張り付いているオブジェクトを参照する
のに使います。だけじゃ分かりにくいですね。たとえば、画面上でいろいろなもの
を動かすのに、オブジェクトを利用するものとします。このオブジェクトを仮に
Plateオブジェクトとして、new Plate(id, x, y)で作り出すものとします。
なお、HTML側では動かすものはposition: absolute指定でidも指定しておくもの
としましょう。

function Plate(id, x, y) {
__this.elem = document.getElementById(id); this.xpos = x; this.ypos = y;
__this.elem.style.left = x+'px'; this.elem.style.top = y+'px';
__this.moveBy = function(dx, dy) {
____this.elem.style.left = (this.xpos += dx)+'px';
____this.elem.style.top = (this.ypos += dy)+'px'; }
}

これでたとえば次のようにして使えるわけです。

var myimg = new Plate('i1', 100, 100);
...
myimg.moveBy(3, -5);
...

このように、オブジェクトのメソッドやコンストラクタを書くときには、その
オブジェクト自身を参照するためにthisを一杯使うわけです。おわかりかな。

510 名前:Name_Not_Found 投稿日:2001/07/25(水) 00:24
>>509
そっけない質問にもかかわらず、わかりやすい説明ありがとうございます。

511 名前:504 投稿日:2001/07/25(水) 09:48
>>507
ド素人なもので、よく分からず申し訳ありません。で、今、ログを
ツラツラっと探してみたんですけど、どれのことか分からなーいデス。
「JavaScript の質問用スレッド vol.2」の627-628のコトでしょうか。
vbスクリプトって何ですか。もしかして私、逝った方が良いですか?

512 名前:504 投稿日:2001/07/25(水) 09:52
てか、良ければこういう過去ログの627-628みたいなのに
ここでリンクを貼る方法を教えて下さい。
スレor板違いですが…。

513 名前:夏厨 投稿日:2001/07/25(水) 09:55
面倒だからりんくだけ、こうやればい〜の。>>511-512

514 名前:504 投稿日:2001/07/25(水) 10:41
あ、じゃなくて、「過去ログの」>>511-513とか。

515 名前:cambo 投稿日:2001/07/25(水) 10:55
現在、ページを開いている状態で、画像表示位置を固定してJPEG2000画像が
順番に次々と表示させることができるように試行錯誤を繰り返しております。
しかし、JPEG2000画像をホームページ上で表示させるにはPLUG-INが
必要となるため<EMBED>タグを用いる必要があります。
<EMBED>は<IMG>と同等にうまく扱えないようで困っております…。
どなたか何かよい解決方法を教えて頂けないでしょうか?
よろしくお願い致します。
いただけないでしょうか

516 名前:夏厨 投稿日:2001/07/25(水) 11:00
>>504
過去ログのURLのうしろにこんな風に付けて。倉庫入りのはHTML化してるから無理だよ。
&st=511&to=513&nofirst=true
例)
http://natto.2ch.net/test/read.cgi?bbs=hp&key=987484510&st=511&to=513&nofirst=true

517 名前:504 投稿日:2001/07/25(水) 11:10
>>516さま
あ、ホントだ。ありがとー。

518 名前:Name_Not_Found 投稿日:2001/07/25(水) 11:47
あがげ

519 名前:Name_Not_Found 投稿日:2001/07/25(水) 13:15
>>511
VBScriptっていうのはMSが出しているJavaScriptの対抗馬です。
それはさておき、結局サンプルを作ってみました。メニューの中
をリンクにするとか、N4で動くようにするとか、そのあたりは適当
に直してくださいねー。(分からなければ聞いてください。)

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; background-color: white }
div { border-width: 4px; border-style: ridge; border-color: blue }
body { margin-top: 70px }
div#b0 { top:20px; left:20px; width:90px; height:30px }
div#m0 { top:50px; left:20px; width:200px; height:120px; visibility:hidden }
div#b1 { top:20px; left:120px; width:90px; height:30px }
div#m1 { top:50px; left:120px; width:200px; height:120px; visibility:hidden }
</style>
<script type="text/javascript">
function pop(i) {
document.getElementById('m'+i).style.visibility = 'visible';
}
function unpop(i) {
document.getElementById('m'+i).style.visibility = 'hidden';
}
</script>
</head><body>
<div id="b0" onmouseover="pop(0)" onmouseout="unpop(0)">File</div>
<div id="b1" onmouseover="pop(1)" onmouseout="unpop(1)">Edit</div>
<div id="m0" onmouseover="pop(0)" onmouseout="unpop(0)"><table>
<tr><th>aaa</th></tr><tr><th>bbb</th></tr><tr><th>ccc</th></tr>
</table></div>
<div id="m1" onmouseover="pop(1)" onmouseout="unpop(1)"><table>
<tr><th>aaa</th></tr><tr><th>bbb</th></tr><tr><th>ccc</th></tr>
</table></div>
<h1>This is a pen...</h1>
</body></html>

520 名前:511 投稿日:2001/07/25(水) 13:23
>>519
うわ。カッコイイ!
ほんとありがとうございますー。
適当にイジってみて、分からなかったらまた質問します。
あと、これはVBスクリプトじゃないですよね?

521 名前:Name_Not_Found 投稿日:2001/07/25(水) 13:23
>>515
質問されている点がよく分からないのですが、つまり
<embed ...>で画像を切り替えて行く方法ということ?
それはそのプラグインのドキュメントを調べるべきでし
ょう。<embed ...>を沢山並べて切り替えるっていうのは
見るからに恐ろしそうです。しかし画像をPNGとかにすれ
ば普通に取り扱えるんですよね。JPEG2000でないと駄目な
理由ってどういうことでしょう?後学のため教えてください。

522 名前:デブキン世U世大尉 投稿日:2001/07/25(水) 13:26
⇔■⇔■⇔■⇔■⇔■⇔■⇔■⇔■⇔■⇔■⇔■
>>1-2000
板違い。真性厨房板に逝け。
http://www.dragoncity.ne.jp/~l705/v/index2.html

523 名前:Name_Not_Found 投稿日:2001/07/25(水) 13:44
>>520
ご安心ください。これはJavaScriptです。私はVBScript書けません。

524 名前:cambo 投稿日:2001/07/25(水) 13:58
>>521
jpegやpng等の場合ならhtmlでは<image src=sample1.j2k name="test">
とし、java script内で document.test.src = sample2.j2k とすれば
画像を変更できるのですが、TAGをembedに変更して
<embed src=sample1.j2k name="test"> とすると
画像を変更することはできなくなりました。
これはやはりembedTAGの影響と思うのですが、
何とかこの状況を打破できるような方法を模索しております。
displayでnone,blockの切り替えで一応表示変換できるようにはなったのですが
この方法だとページが最初にLoadされた時に、すべてのファイルを
読み込んでおく必要があるのでページの表示が遅くなってしまいます。
こういった理由もあり一定時間間隔で画像を更新できるように src=… を
変更したいと考えております。

JPEG2000を採用する理由ですが、機能性から今後利用機会が多くなることが
予想されるため、現在試行しているところです。

簡単ではありますが、ご回答させて頂きます、
ご検討して頂ければ幸いです。よろしくお願い致します。

525 名前:Name_Not_Found 投稿日:2001/07/25(水) 14:04
>>524
embedはその場所に表示を行なうための別のプログラムを埋め込んで
動かしますから、ブラウザ自体の表示能力を使う<img>に比べると
色々不自由です。で、そのembed用のプラグインがシステムに入れて
あると思うのですが、そのドキュメントを探しましょう。たぶん、

document.plugins[0].メソッド(パラメタ…);

みたいな呼び出しを使って画像を取り換えられるだろうと想像します。
とにかくプラグインの機能についてはそのプラグインのドキュメント
を見ない限り分かりません。あと、そのプラグインを持っていない
システムでは表示できないということもお忘れなく。だからPNGを使う
方が何かといいと思うけどなあ…(でも画像についてはよく知らない)。

526 名前:cambo 投稿日:2001/07/25(水) 14:21
PLUG-INは現在「Netscape & Internet Explorer Plug-in for JPEG2000」
というものを用いております。
これは窓の杜等にあり、簡単に検索できると思います。
(すいません。直リンクはOKかどうか分からないため控えさせて頂きます)

当方、まだまだ初心者のため
>document.plugins[0].メソッド(パラメタ…);
について、具体的に教えて頂けないでしょうか?

PLUG-INの普及に関してはご指摘の通りです。
ご指摘ありがとうございます。

527 名前:Name_Not_Found 投稿日:2001/07/25(水) 14:35
>>526
なるほど、窓の杜は見ました。ヨサゲですが、残念ながら
私はUnix使いなのでダウンロードして使うことはできません。
ドキュメントだけどっかにないか探して見ましたが、見つけ
られませんでした。誰かドキュメント読める人探してみて!

528 名前:cambo 投稿日:2001/07/25(水) 14:49
>>527
これがご指摘のドキュメントに当たるのかどうかわかりませんが
長くなるので一部を転載いたします。(十分長い… (^.^;) )

1.動作環境

Win32 API が利用できる環境(Windows Me/Windows 2000/Windows98/Windows95/WindowsNT)
このうち、(Windows 2000/WindowsNT)は現在不可です。
当然ですが、ブラウザインストールが必要です。

2.使用方法

他のプラグインと大体同じ扱い方です。
IE4,5では、
「C:\Program Files\Internet Explorer\PLUGINS」
「C:\Program Files\Plus!\Microsoft Internet\PLUGINS」
Netscape 6では、
「C:\Program Files\Netscape\Netscape 6\Plugins」
に入れればよいはずです。
場所が多少違っても大体同じようなところに入れれば動作すると思います。

特殊な環境でテンプラリフォルダが違う場合は
レジストリファイルを使ってください。
デフォルトは「C:\WINDOWS\TEMP」(Windows Me,98,95)
または、「C:\TEMP」(Windows 2000,NT)です。
うっかり間違ってレジストリファイルを登録した場合は
Windows Me,98,95では、「win9xdef.reg」
Windows 2000,NTでは、「winntdef.reg」
を上書き登録するか、またはレジストリエディタで
「HKEY_LOCAL_MACHINE\Software\Am\npj2kplg」
を削除してください。

Netscapeのローカルオープンに対応したい場合、EMBEDタグに「TYPE="image/j2k"」
を追加してください。

529 名前:Name_Not_Found 投稿日:2001/07/25(水) 14:55
>>528
うーん、これを見る限り、JavaScriptからプラグインの機能を呼び出す
方法については書かれていないようですね、残念ながら。

530 名前:cambo 投稿日:2001/07/25(水) 15:08
>>529
残念ながらそのような記載は見つかりませんでした。

それから、内容のよく似たページを見つけました。
解決にまでは至ってませんが、ご参考になれば…。
http://web11.freecom.ne.jp/~chaichan/qanda/qa791.htm

531 名前:Name_Not_Found 投稿日:2001/07/25(水) 15:10
>>529
希望とはやや違うかも知れませんが、JavaScriptで
窓を新たに開き、そこに<embed ...>を書き込む方法
なら、最初に全部読み込まずに順番に画像を表示して
行けると思いますがどうでしょう。窓が別なのが嫌な
ら、フレームにすることもできますね。

532 名前:cambo 投稿日:2001/07/25(水) 15:21
>>531
そうですねぇ。frameが別になるというのは実は私も考えました。
この場合は、このframeのみ全体をreloadする形になるんでしょうか?

でも、やはり同じwindoow内で行いたいですねぇ。
何かよい方法はないでしょうか?(わがまま言ってすいません… m(_ _)m )

533 名前:Name_Not_Found 投稿日:2001/07/25(水) 15:35
>>532
画像を最初に全部読まないようにして、なおかつ窓を
分けないとすると、プラグイン固有の機能を調べて使う
ことになりますが、プラグインのドキュメントにそれが
書いてないとすると、外部からそのような機能が呼べる
ように作ってないのかも知れませんね…いちお、フレーム
に分ける奴を作って見ました。t1.htmlは最初は何でもよい
です。画像ファイル名を配列に入れておき、順番に表示でき
るようにしました。ここでは<img>を使ってますが、当然、
<embed ...>になるように書き換えてくださいね。

t.html:
<html><head><title>???</title></head>
<frameset title="main" cols="200,*">
<frame title="left" src="t1.html">
<frame title="right" src="t2.html">
</frameset></html>

t2.html:
<html><head><title>???</title>
<script type="text/javascript">
var doc = top.frames[0].document, cur = 0, arr = ['test.png', 'test1.png'];
function move(i) {
cur += i;
if(cur < 0) cur = 0;
if(cur >= arr.length) cur = arr.length - 1;
doc.open(); doc.writeln('<img src="' + arr[cur] + '">'); doc.close();
}
</script>
</head><body>
<p><a href="javascript: move(-1)">prev</a>|
<a href="javascript: move(+1)">next</a></p>
</body></html>

534 名前:cambo 投稿日:2001/07/25(水) 15:48
>>533
ありがとうございます。
参考にさせて頂きます。

また、クドイようで申し訳ありませんが
同じwindowでの表示更新について
何か良い解決策等思い当たりましたら
教えて頂ければ幸いです。

535 名前:初心者 投稿日:2001/07/25(水) 16:15
すいませんが
<DIV></DIV>の中に<IFRAME></IFRAME>を入れると
IDP.My.LocationはNullまたはオブジェクトでは
ありません。というエラーが出るのですが
どうしてでしょうか?

536 名前:Name_Not_Found 投稿日:2001/07/25(水) 18:05
<td></td>でくくれば

537 名前:Name_Not_Found 投稿日:2001/07/25(水) 20:10
>>535
よく分からない質問ですね。そのエラー、JavaScriptコードから出て
いるんでしょ?ソース出してみてよ。

>>536
そんないい加減な...

538 名前:Name_Not_Found 投稿日:2001/07/25(水) 20:12
<●´ー`●><●`ー´●></●´ー`●>
合ってる?

539 名前:Name_Not_Found 投稿日:2001/07/25(水) 20:37
>>534
考えてみたら、フレームにしなくても適当な要素のinnerHTMLプロパティ
に書き込むことで<img>でも<embed>でも解釈させられそうですね。
innerHTMLって強力すぎてあんまり好きじゃないですが。また、N4は
まったく除外になってしまいますけどね。

<html><head><title>???</title>
<script type="text/javascript">
var cur = 0, arr = ['test.png', 'test1.png'];
function move(i) {
cur += i;
if(cur < 0) cur = 0;
if(cur >= arr.length) cur = arr.length - 1;
document.getElementById('d1').innerHTML = '<img src="' + arr[cur] + '">';
}
</script>
</head><body>
<div id="d1"><img src="test.png"></div>
<p><a href="javascript: move(-1)">prev</a>|
<a href="javascript: move(+1)">next</a></p>
</body></html>

540 名前:474 投稿日:2001/07/25(水) 22:59
>>488
返事遅くてすいませんでした。
なんかここ最近スレの書き込みが多かったので見逃してました。すいません。
とりあえず今からやってみます。
さんきゅーです。
てゆうか、全然レスがないから怒ってます・・・?
ごめんなさいー

541 名前:Name_Not_Found 投稿日:2001/07/25(水) 23:00
>>538
真ん中は
<●`ー´● />
だ。

542 名前:Name_Not_Found 投稿日:2001/07/25(水) 23:42
var xml = new ActiveXObject("Microsoft.XMLDom");
こんな風にHTMLドキュメントからXMLにアクセスして操作しますけど、
N6でやる方法はありますか?教えてください

543 名前:Name_Not_Found 投稿日:2001/07/26(木) 01:19
navigator.vbs=false;
execScript('navigator.vbs=true\nfunction vbFileExists(src)\non error resume next\nLoadPicture src\n
if(Err.Number=481)or(Err.Number=70)or(Err.Number=0)then\nvbFileExists=true\nelse\nvbFileExists=false\nend if\nErr.Clear\nend function','vbs');

function FileExists(s){
if(navigator.vbs){return vbFileExists(s);}
}

alert(FileExists('C:\\WINDOWS\\SYSTEM\\SAGE.DLL'));
こんな感じでローカルファイルの存在をチェックできちゃうんだけど、
いいのか?(IE4.0以降)

544 名前:うぉとっとっと夏だぜ! 投稿日:2001/07/26(木) 03:28
http://www.dhtmlcentral.com/script/script16_demo.html
すいません、このscriptこれ以上短縮できないでしょうか?
相当格好いいのですが、多すぎてどれがどれだかわからないです。

545 名前:Name_Not_Found 投稿日:2001/07/26(木) 07:48
困ったなー、普段使っているマシンから2ちゃんねるに書き込めなく
なったぞ...「すれ立てすぎ規制」は知っているけど「書き込みすぎ
規制」なんてあるの?

>>540
自分のペースでやればいいんではないでしょうか。
>>542
うーん、N6だとまずXML文書をどっかの窓に読み込んで、その
documentオブジェクトを参照するんでしょうかね?
>>543
VBScriptは知らないんだけど、やっぱり存在をチェックできるのは
まずいですよね。新たなセキュリティホールなんでしょうか?
>>544
機能がだいぶ多いですからね。自分が使いたい機能に絞って質問され
てはどうでしょうか?

546 名前:cambo 投稿日:2001/07/26(木) 09:21
>>539
ありがとうございます!
innerHTMLなんて知りませんでした。
勉強します…。(^-^;)
でも、お蔭様でこれで何とかできそうです。
ありがとうございました。

547 名前:Name_Not_Found 投稿日:2001/07/26(木) 09:49
>>545
>N6だとまずXML文書をどっかの窓に読み込んで、その
>documentオブジェクトを参照するんでしょうかね?
これはどうやってやればいいんでしょうか。
具体的に教えてもらうと嬉しいんですが...

548 名前:Name_Not_Found 投稿日:2001/07/26(木) 10:26
タブの上にマウスを持っていくと、
ページのメニューを切り替えられるようにしたのですが、
これだと、メニューが増えるたびにonmouseoveが大きくなってしまい、拡張性が悪いように思います。
もう少しスマートなソースで同じ動作をさせることは出来ないでしょうか?

ちなみにブラウザはIEのみを考えています。

<Html>
<Head><Title>Sample</Title>

<script language="JavaScript">
<!--
function showlay(layerid)
{
document.all(layerid).style.visibility="visible";
}

function hiddenlay(layerid)
{

document.all(layerid).style.visibility="hidden"
}
//-->
</script>

<style type="text/css">
<!--
.place{position:absolute}
#ex1{left:10px;top:33px;width:auto;height:auto;background-color:red;visibility=visible}
#ex2{left:10px;top:33px;width:auto;height:auto;background-color:blue;visibility=hidden}
#ex3{left:10px;top:33px;width:auto;height:auto;background-color:yellow;visibility=hidden}

#red{background-color:red;margin-left:0px}
#blue{background-color:blue;margin-left:0px}
#yellow{background-color:yellow;left-margin:0px}
// -->
</style>
</Head>
<Body bgcolor="#ffffff">

<a id="red" onmouseover="showlay('ex1'),hiddenlay('ex2'),hiddenlay('ex3')">menu1</a>
<a id="blue" onmouseover="showlay('ex2'),hiddenlay('ex1'),hiddenlay('ex3')">menu2</a>
<a id="yellow" onmouseover="showlay('ex3'),hiddenlay('ex1'),hiddenlay('ex2')">menu3</a>

<div class="place" id="ex1"><H1>menu1</H1></div>
<div class="place" id="ex2"><H1>menu2</H1></div>
<div class="place" id="ex3"><H1>menu3</H1></div>
</Body>
</Html>

549 名前:544 投稿日:2001/07/26(木) 10:31
>>545
そうですねぇ、まずはあのレイヤーウインドウ
をひとつに絞らないと駄目っすね。

550 名前:Name_Not_Found 投稿日:2001/07/26(木) 11:53
>>548
やっぱり、面を配列に入れて「選ばれた面は表示、それ
以外は非表示」というのをループで回すんじゃないですか?

<html><head><title>???</title>
<style type="text/css">
body { background-color:white }
div { position:absolute; left:10px; top:33px; width:auto;
height:auto; visibility:hidden }
#ex0 { background-color:red; visibility: visible }
#ex1 { background-color:blue }
#ex2 { background-color:yellow }
#red { background-color:red; margin-left:0px }
#blue { background-color:blue; margin-left:0px }
#yellow { background-color:yellow; margin-left:0px }
</style>
<script type="text/javascript">
var elts = new Array(), count = 3;
function init() {
for(var i = 0; i < count; ++i) elts.push(document.getElementById('ex'+i));
}
function showlay(x) {
for(var i = 0; i < count; ++i)
elts[i].style.visibility = (x == i) ? 'visible' : 'hidden';
}
</script>
</head><body onload="init()">
<p>
<a id="red" onmouseover="showlay(0)">menu1</a>
<a id="blue" onmouseover="showlay(1)">menu2</a>
<a id="yellow" onmouseover="showlay(2)">menu3</a></p>
<div class="place" id="ex0"><h1>menu1</h1></div>
<div class="place" id="ex1"><h1>menu2</h1></div>
<div class="place" id="ex2"><h1>menu3</h1></div>
</body>
</html>

551 名前:Name_Not_Found 投稿日:2001/07/26(木) 11:59
>>547
作ってみました。まずloadで読み込ませ、showで表示させます。N6専用。

<html><head><title>???</title>
<script type="text/javascript">
var win, pre;
function load() { win = window.open('t1.xml', '_blank'); }
function puts(s) { pre.childNodes[0].appendData(s + '\n'); }
function show() { pre = document.getElementById('p1'); show1(win.document); }
function show1(n) {
puts('<' + n.nodeName + '>');
if(n.nodeType == 3) puts(n.nodeValue);
var a = n.childNodes;
for(var i = 0; i < a.length; ++i) show1(a[i]);
puts('</' + n.nodeName + '>');
}
</script>
</head><body>
<p><a href="javascript: load()">load</a>|
<a href="javascript: show()">show</a></p>
<pre id="p1">
result...
</pre>
</body></html>

552 名前:Name_Not_Found 投稿日:2001/07/26(木) 12:01
>>551
それのテストデータt1.xml:
<?xml version="1.0" encoding="iso-2022-jp"?>
<list>
<test>これはテストです。</test>
<test>これもテストです。</test>
</list>
結果はこんな感じ:
result...
<#document>
<#text>

</#text>
<list>
<#text>

</#text>
<test>
<#text>
これはテストです。
</#text>
</test>
<#text>

</#text>
<test>
<#text>
これもテストです。
</#text>
</test>
<#text>

</#text>
</list>
</#document>

553 名前:Name_Not_Found 投稿日:2001/07/26(木) 12:47
NNって、cursor:handのように
マウスカーソルの形を変えることはできないんでしょうか?

554 名前:Name_Not_Found 投稿日:2001/07/26(木) 13:18
>>553
N6/Mozillaではできますよ。N4は対応してないようですね。
そもそもこれってCSSの話題じゃないのかな…ま、実行時に
変更したければ「ノード.style.cursor」に指定を書き込めば
よいです。それならJavaScriptの話題ではある…

あと、そもそもhandっていうのはMSIE固有の名前みたいで、
CSS2ではauto crosshair default pointer move x-resize
text wait help url("ファイル") これだけが規定されて
いますね。url(...)はN6でもIEでもうまく行かないな…

555 名前:548 投稿日:2001/07/26(木) 15:29
>>550
なるほど、配列を使うんですか
それは思いつきませんでした、どうもありがとうございます。
参考にさせていただいて、やってみたいと思います。

556 名前:Name_Not_Found 投稿日:2001/07/26(木) 19:19
javaで見積ページを作りたいのですが、
以下のスクリプトで、if (f.あ.checked) のあ部分が日本語だと
エラーが起きてしまいます。日本語でも行ける方法はあるでしょうか?
素人ですので、分かりません。宜しくお願いいたします。
<script language="JavaScript">
<!-- Beginning of JavaScript
function sumup(f) {

var gokei = 0;
if (f.あ.checked) {

if (f.い.value != "") {

gokei += f.data10.value * f.う.value;

}


}
if (gokei > 0){

var tax = (gokei) * 0.05
f.gokei.value = gokei;
f.tax.value = tax;
f.total.value = gokei + tax;

}else{

tax = "";
f.gokei.value = "";
f.tax.value = "";
f.total.value = "";

}

}
// End of JavaScript -->
</script>

557 名前:Name_Not_Found 投稿日:2001/07/26(木) 19:27
>>556
f['あ'].checked 等とすればいいのかも。

558 名前:Name_Not_Found 投稿日:2001/07/26(木) 19:38
>>557
ご返答有り難うございます。識別子が必要と出ました。
宜しくお願いいたします。

559 名前:Name_Not_Found 投稿日:2001/07/26(木) 20:28
>>558
おかしい! 'あ' のように「''」で囲んでありますか?
エラーの時はエラーの行番号が表示されるはずなので、
その行だけ張り付けてみてください。

560 名前:Name_Not_Found 投稿日:2001/07/26(木) 20:50
..559
if (f.["あ"].checked) {
です。お願いします。

561 名前:Name_Not_Found 投稿日:2001/07/26(木) 21:52
>>560
ほらほら! 「f.["あ"]」じゃなく「f["あ"]」ですよ。「.」が多い。

JavaScriptでは一般にo.xとo['x']が同等です。「.」が「[]」
になると思ってください。

562 名前:Name_Not_Found 投稿日:2001/07/26(木) 21:56
>>551
if(n.nodeType == 3) puts(n.nodeValue);
これは何でしょうか?

やっぱりネスケではこのように新しい窓を開いてやらないといけないのか...
IEみたいに簡単にやる方法は今んところないんですかねぇ

563 名前:Name_Not_Found 投稿日:2001/07/26(木) 22:05
>>562
それは「ノード種別がテキストノードだったらそのテキストを
表示する」という意味でそうやってます。ここはロードされた
XMLをたどってみてるだけですから、それぞれの人の必要に応
じて違う処理をするんでしょう。

そうですねえ、今のところこれしか知りません。新しい窓を開
く代わりにiframeにロードしたりobjectにロードしてもいい
かなと思ったのですが、iframe要素やobject要素から中の
ドキュメントツリーにアクセスする方法がよく分りません。誰か
知ってる方いたら教えてください。

564 名前:Name_Not_Found 投稿日:2001/07/27(金) 00:19
背景色を徐々に変化させたいんですが、
白⇒黒とかじゃなくて
白⇒3D#c0c0c0などの任意の色で
変化させるにはどうすればよいでしょうか。

565 名前:質問太郎 投稿日:2001/07/27(金) 01:51
あのー。
JScriptで
"1" と "2" をくっつけて "12"という変数にしたい場合は
どのようにすればいいのでしょうか???
どなたか、伝授でしてください!!

566 名前:質問太郎 投稿日:2001/07/27(金) 01:53
>>564
3D??

567 名前:564 投稿日:2001/07/27(金) 02:12
>>566
あ、間違いました
コピぺだったもので。
以外とムズいと思うんですけど。。

568 名前:Name_Not_Found 投稿日:2001/07/27(金) 02:19
>>554さん

すみません。もうちょっと教えて下さい。
NN6では、具体的にどう書けばいいのでしょうか?
自分は単純に

<img src="test.gif" style="cursor:hand">

のような書き方をしているのですが、
カーソルを乗せても変化しません…。

569 名前:ラクラブ(久しぶり) 投稿日:2001/07/27(金) 03:12
>>565
文字列を数値に変換するには
Number()、parseFloat()、parseInt()、eval()など、
数値を文字列に変換するにはString()などを用います。
また、数値にするには0を引く、文字列にするには "" を足すという方法もあります。
xx = "123"; xx -= 0; → xxは数値変数になる
xx = 123; xx += ""; → xxは文字列変数になる

570 名前:564 投稿日:2001/07/27(金) 05:23
自己解決しました
お騒がせしました

571 名前:Name_Not_Found 投稿日:2001/07/27(金) 07:10
>>568
あー、ですからー、「hand」はIE独自の指定なのでN6にはありません。
と思います。

たとえば「wait」とか「crosshair」とか「help」とかにして試して
ください。それで動けば、要するに「hand」が標準じゃないからダメと
いうだけのことですね。やっぱり、JavaScriptと関係ない…

572 名前:Name_Not_Found 投稿日:2001/07/27(金) 07:12
>>570
自己解決したときも概要を出しませんか〜。

573 名前:564 投稿日:2001/07/27(金) 07:56
>>572
もちろんそう思ったんですが、
インターネット上で見つけたので
知らない人の書いたソースを勝手にコピペはさすがにまずいし、
概要を書けるほどスキルないし、
ブックマークしてなかったのでそのHPも再現が難しく(めんどくさく)
なってしまい、まいっか、となってしまいました。

このスレ的にオッケーだったら、コピペします。

574 名前:Name_Not_Found 投稿日:2001/07/27(金) 08:43
>>573
なるほど、まあ大変ならわざわざそこまでしなくても
いいと思いますよ。色の連続変化ですが、RGB三色を(r0,g0,b0)
から(r1,g1,b1)まで変化させるとして、それを表すのに変数tを
0.0から1.0まで適当なきざみで変化させて、

r = (1-t)*r0 + t*r1

等で中間の(r,g,b)値を計算し、それを#xxxxxx形式にするのは

rs = Math.floor(r).toString(16);
if(rs.length() < 2) r = '0' + r;

等で16進文字列2桁にして、'#'+rs+rg+rb とすればいい、とか
でしょうかね。たとえばですが。もっとも、16進にするのが面倒な
ので、style指定にするのなら「rgb(r,g,b)」形式でいいから

'rgb(' + Math.floor(r) + ',' + Math.floor(g) +
+ ',' + Math.floor(b) + ')'

とかの方が楽かな。

575 名前:564 投稿日:2001/07/27(金) 10:56
>>574
なんかそんな感じです。
各色ごとにスタート値とゴール値の差をとって、
それを適当な数値で割って、
割った値だけスタート値に足していく、
ですね。

576 名前:Name_Not_Found 投稿日:2001/07/27(金) 12:44
探しにきたらすぐあるものですねー。
>>519みたいなのをN4で出来ないのでしょうか。

577 名前:568 投稿日:2001/07/27(金) 13:47
>>571さん

ありがとうございました。
IEのhandはNN6のpointerに相当するんですね。
JavaScript外の質問ですみませんでした。

578 名前:Name_Not_Found 投稿日:2001/07/27(金) 15:30
>>576
いや、N4でもできますよ。getElementById()がないとか、
styleがないとかはごまかせば何とでもなります。問題は、
N4だとonmouseover/onmouseoutが「リンクにしか働かない」
ことです。これに対処するには、メニューボタンやメニュー
本体を全部画像で作って、それをリンクの中に入れてくだ
さい。背景も枠も取っちゃって全部画像にするのがよいです。
世の中の類似品もみんなメニューが画像でしょ?

とりあえず、>>519 を途中まで対応したものを次に挙げます。
N4だとメニューが出るけどメニュー側のonmouseoverが働か
ないので選ぼうとしたとたんに消えてしまいます。画像に
して画像を<a onmouseover=... onmouseout=...>...</a>
の中に入れれば動くと思いますよ。

579 名前:Name_Not_Found 投稿日:2001/07/27(金) 15:31
>>578
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 0px; left: 0px; background-color: white }
div { border-width: 4px; border-style: ridge; border-color: blue }
body { margin-top: 70px }
#b0 { top:20px; left:20px; width:90px; height:30px }
#m0 { top:40px; left:20px; width:200px; height:120px; visibility:hidden }
#b1 { top:20px; left:120px; width:90px; height:30px }
#m1 { top:40px; left:120px; width:200px; height:120px; visibility:hidden }
</style>
<script type="text/javascript">
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e;
}
}
function pop(i) {
document.getElementById('m'+i).style.visibility = 'visible';
}
function unpop(i) {
document.getElementById('m'+i).style.visibility = 'hidden';
}
</script>
</head><body>
<div id="b0"><a href="#" onmouseover="pop(0)" onmouseout="unpop(0)">
File</a></div>
<div id="b1"><a href="#" onmouseover="pop(1)" onmouseout="unpop(1)">
Edit</a></div>
<div id="m0"><table>
<tr><th>aaa</th></tr><tr><th>bbb</th></tr><tr><th>ccc</th></tr>
</table></div>
<div id="m1" onmouseover="pop(1)" onmouseout="unpop(1)"><table>
<tr><th>aaa</th></tr><tr><th>bbb</th></tr><tr><th>ccc</th></tr>
</table></div>
<h1>This is a pen...</h1>
</body></html>

580 名前:Name_Not_Found 投稿日:2001/07/27(金) 18:25
縦にゆっくりスクロールするページを作らなきゃいけないのですが

function winScroll() {
for (j=0; j<100; j++){
for (i=0; i<10000; i++){
}
scrollBy(0,1);
}
}

とかだと、「このスクリプトが動作を重くしてます」とか言われて鬱です。
なんとか軽快にスクロールさせる方法はないでしょうか、、
あと、一番下までスクロールしたらfor文が止まるような仕組み
というのは無いのでしょうか、、

581 名前:Name_Not_Found 投稿日:2001/07/27(金) 19:17
JavaScriptはじめて3日の超初心者ですが、
過去ログにあったものを流用して、外部ファイルの読みこみを利用して
画像をランダムで表示したいのですが、うまくいきません。

━外部ファイル━
var MaxImg=2
var ImgSrc=new Array();
ImgSrc[0]="<img src='img/img0.gif' class='rogo'>";
ImgSrc[1]="<img src='img/img1.gif' class='rogo'>";

function writeImg()
{
var num=Math.floor(Math.random()*MaxImg);
document.write(ImgSrc[num]);
}

━HTMLファイル━
<SCRIPT type="text/javascript" SRC="index.js">
<!--
writeImg();
//-->
</script>

何が違うのか教えて欲しいッス

582 名前:Name_Not_Found 投稿日:2001/07/27(金) 21:12
>>580
普通はタイマー使うような気がするけど。

>>581
Src="**.js" って書いておいて、そのタグで挟んだコードって
実行されるの?なぞ。

583 名前:厨房 投稿日:2001/07/27(金) 21:55
すいません。教えていただきたいことがあるのですが、

マウスカーソルを文字に乗せると違う所に画像が表示されて、
マウスオフするとなにも出ないというようにしたいんですが、

探してみると、何も出てない状態を、
白い画像を表示させること で表しているソースしか見つかりませんでした。

純粋に何も表示させない状態を作るのは不可能なんですかね?
もしよかったらアドバイスお願いします。m(_ _)m

584 名前:h++ 投稿日:2001/07/27(金) 22:02
>>581
<SCRIPT type="text/javascript" SRC="index.js">
<!--
この部分がまずいです。

<SCRIPT type="text/javascript" SRC="index.js"></SCRIPT>
横着せずにこれ書いて writeImg を呼び出して下さい。

585 名前:Name_Not_Found 投稿日:2001/07/27(金) 22:28
>>583
<div>タグやら<layer>タグを駆使して色々と頑張ってみてください。
(IEとNNで挙動が異なるので気をつけてね)

586 名前:Name_Not_Found 投稿日:2001/07/27(金) 23:05
visibility = "hidden"

587 名前:Name_Not_Found 投稿日:2001/07/27(金) 23:10
ファイルをダウンロードさせるために
下記のようなの関数を作ってJavaScriptでFORMをsubmitさせているんですが

どうもWindows98,MEのIE5,IE5.5だと
まったく同じHTTPリクエストが2回以上あがってしまいます。
たまにちゃんと1回だけリクエストがあがることも有るのが謎。

いったんダウンロードさせたらそのファイルを削除してしまいたいのですが
そうすると二回目のHTTPリクエストでエラーになってしまって困っています。

解決方法や回避方法をご存知の方いませんか?

<SCRIPT TYPE="text/javascript">
<!--
function submitDwonload( submitPath, target, para1, para2, para3 ){
  document.downloadForm.action = submitPath;
  document.downloadForm.target = target;

  document.downloadForm.para1 = para1;
  document.downloadForm.para2 = para2;
  document.downloadForm.para3 = para3;

  document.downloadForm.submit();
}
// -->
</SCRIPT>

<FORM NAME="downloadForm" METHOD=POST ACTION="dummey/dummey.cgi" TARGET="_blank" >
  <INPUT TYPE=hidden NAME="para1">
  <INPUT TYPE=hidden NAME="para3">
  <INPUT TYPE=hidden NAME="para2">
</FORM>

588 名前:587 投稿日:2001/07/27(金) 23:16
>>587
デバッグ前の間違ったスクリプトをアップしてしまいました
こっちが実際のソースです

<SCRIPT TYPE="text/javascript">
<!--
function submitDownload( submitPath, target, para1, para2, para3 ){
document.downloadForm.action = submitPath;
document.downloadForm.target = target;

document.downloadForm.para1.value = para1;
document.downloadForm.para2.value = para2;
document.downloadForm.para3.value = para3;

document.downloadForm.submit();
}
// -->
</SCRIPT>

<FORM NAME="downloadForm" METHOD=POST ACTION="dummey/dummey.cgi" TARGET="_blank" >
<INPUT TYPE="hidden" NAME="para1" value="" >
<INPUT TYPE="hidden" NAME="para2" value="" >
<INPUT TYPE="hidden" NAME="para3" value="" >
</FORM>

589 名前:581 投稿日:2001/07/27(金) 23:49
>>584
出来ました、ありがとうございます!

590 名前:Name_Not_Found 投稿日:2001/07/27(金) 23:55
>>588
どの部分で関数submitDownload 呼んでるの?
それによる。

591 名前:Name_Not_Found 投稿日:2001/07/27(金) 23:56
try catch の使い方を教えてください
どういうときに例外がスローされるんですか?

592 名前:Name_Not_Found 投稿日:2001/07/28(土) 00:24
>>591
どういうときって…関数じゃないものを呼ぼうとしたとかオブジェクト
じゃないもの(典型的にはnull)のプロパティをアクセスしようとした
とかeval()の中の文字列に構文エラーがあるとか…要するにいわゆる
エラーがあった時、だと思いますけど。

593 名前:Name_Not_Found 投稿日:2001/07/28(土) 10:10
>>580
作ってみました。N6/Mozilla/N4/IE5で確認。ただし勝手にスクロールする
ページはひどく嫌わます。そのことはクライアントにくれぐれも注意して欲しい。
私も大嫌い。でもJavaScriptでプログラムするのは楽しい(w

あと、質問歓迎。

<html><head><title>???</title>
<script type="text/javascript">
var top = -1, count = 0;
function step() {
var t = window.pageYOffset;
if(t == undefined) t = document.getElementById('b1').scrollTop;
window.scrollBy(0, 1);
if(t == undefined) {
if(++count < 1000) setTimeout(step, 50);
} else {
if(t != top) { top = t; setTimeout(step, 50); }
}
}
</script>
</head><body id="b1" onload="window.setTimeout(step,50)">
<p>test...</p>
<p>test...</p>
<p>test...</p>
(中略)
</body></html>

594 名前:Name_Not_Found 投稿日:2001/07/28(土) 10:22
>>583
こんな感じですか?N4/N6/Mozilla/IE5対応のつもり。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px; visibility: hidden }
</style>
<script type="text/javascript">
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
}
function show() { document.getElementById('d1').style.visibility = 'visible'; }
function hide() { document.getElementById('d1').style.visibility = 'hidden'; }
</script>
</head><body>
<p><a href="#" onmouseover="show()" onmouseout="hide()">Test...</a></p>
<div id="d1"><img src="test.png" alt="test img"></div>
</body></html>

595 名前:588 投稿日:2001/07/28(土) 13:56
>>590 さん
画面の更新とダウンロードを同時にさせたいので
BODY タグのonLoadを使って呼んでいます。
引数パラメータはCGIであらかじめ固定でうめこんでしまっています。

(NT,2000のIEだとちゃんと1回だけHTTPリクエストがあがってくるですよ)

596 名前:Name_Not_Found 投稿日:2001/07/28(土) 14:12
>>595
少し前にも類似の話題あったんですけど、N4とかはこの辺のタイミング
が怪しくないですか?

> document.downloadForm.submit();

これを少しおくらせて

setTimeout(document.downloadForm.submit, 50);

とかしてみません?


setTimeout(

597 名前:Name_Not_Found 投稿日:2001/07/28(土) 14:18
>>596
↑最後の行、消し忘れスマソ。

598 名前:3415 投稿日:2001/07/28(土) 16:05
はじめて書き込みをします。宜しくお願いします。
質問ですが、
別ウィンドウに開いているウィンドウのフレーム数を判別し、
特定のフレームのロケーションを変えるということを
JavaScriptでやる方法はないでしょうか?
全てのブラウザで可能な方法がありましたら、お願いします。

599 名前:Name_Not_Found 投稿日:2001/07/28(土) 16:22
>>598
>全てのブラウザで可能な方法がありましたら、お願いします。

多分、この一言で答える気が失せると思われ。

600 名前:Name_Not_Found 投稿日:2001/07/28(土) 18:19
>>598
質問の意味がよく分らないのですが、別の窓が1つあって、その窓が
いくつかのフレームに分れている場合に、その窓の中に含まれている
フレームの数を知りたい、ということでしょうか?

その「別の窓」に表示されているのが、こちらの(元の?)窓と同じ
サーバから来た内容であれば、調べればできるような気がしますが、
別のサーバだったらアクセスが禁止されてますから無理ですね。

で、特定のフレームのロケーションを変えるというのもよく分りま
せんが、フレームに分れているそのフレームの大きさ(他のフレーム
との境界位置)を変えるという意味?

601 名前:Name_Not_Found 投稿日:2001/07/28(土) 18:47
Mugiさんの本がでるの?

602 名前:587,588,595 投稿日:2001/07/28(土) 23:16
>>596 いえ、今問題になってるのは《Win98,Me》上のIE5 IE5,5です、、

(そういやN4まだ試してなかったです)

603 名前:Name_Not_Found 投稿日:2001/07/28(土) 23:23
>>602
ああ、失礼しました。でもsetTimeoutで遅れを入れるのは
試してみませんか。

604 名前:通りがかり 投稿日:2001/07/29(日) 11:09
JavaScriptの中で
スクリプトに変数を与える事はできないのですか?
例えば
sa.value
~~の部分を変数にして
sa=a
sa=b

とか、指定できるようにする・・・みたいな

解読できたかたいあら教えてください一

605 名前:Name_Not_Found 投稿日:2001/07/29(日) 11:28
>>604
var name = 'sa'; // 'a'でも'b'でも何でもよい
window[name].value = ...;

ブラウザ内蔵のJavaScriptでは広域変数とはwindow
オブジェクトのプロパティのこと。プロパティ名を変数
で指定したければ「.」の代わりに「[]」。なんか激しく
ガイシュツだな。

606 名前:Name_Not_Found 投稿日:2001/07/29(日) 14:15
DHTMLとジャバスクリプトは
同じ物なんですか?

よく、このソフトは
DHTMLとジャバスクリプトで
作りました。というのを聞きますが・・・・。

607 名前:Name_Not_Found 投稿日:2001/07/29(日) 14:16
     setMes(a.name+'はb?',3000);
を表示させて、2秒後に
setMes(a.name+'はcかな?',3000);
を表示させて、さらに3秒後に
setMes(a.name+'はそれともD',3000);
を表示させるには
 どうすればいいでしょうか??

608 名前:Name_Not_Found 投稿日:2001/07/29(日) 16:04
>>606
Dynamic HTMLとは特定の技術を指しているわけではなく、
HTML、CSS、DOM、などが定める標準規格(や独自規格)の
うち、動的にページ内容を変化させたりするのに使える部分
の総称だと私は考えています。で、実際に変化させるという
「動作」はプログラム言語で書きますから、その言語が
JavaScriptだということかな。

609 名前:Name_Not_Found 投稿日:2001/07/29(日) 16:54
>>607
「どこに」メッセージを表示させるんですか?
このsetMesっていうのは何?

610 名前:Name_Not_Found 投稿日:2001/07/29(日) 17:23
>>609
td.mag{
width:314px;
height:32px;

#mes{
font-size:22pt;

setMes(mag[0].innerHTML,2000);

文字を上のほうに表示しているわけです。

611 名前:Name_Not_Found 投稿日:2001/07/29(日) 17:26
>>608
とてもわかりやすい解説をありがとうございました。
つまりJavaスクリプトを使って
動きのあるホームページ(DHTML)を
作っているというわけですね。

612 名前:Name_Not_Found 投稿日:2001/07/29(日) 19:33
>>610
なんだかよく分りませんが、setMesっていうのを呼ぶとその
表示とやらができるんですよね。ということにしといて、それ
を何秒か後でやりたければたとえば

setTimeout(function() { setMes(...); }, 3000);

とかすれば三秒後に{}の内側が実行させられる、という風になり
ますが。まあ他にも書き方はあるけど。

613 名前:Name_Not_Found 投稿日:2001/07/29(日) 20:32
http://pcweb.mycom.co.jp/news/2001/07/27/04.html
まず、Javaには2つの機能が存在する。
ブラウザー上のスクリプト言語のJavaScriptとJava言語で記述されたプログラム(アプレット)を動作する2つがある。

614 名前:Name_Not_Found 投稿日:2001/07/29(日) 23:46
>>613
爆笑!!!

615 名前:Name_Not_Found 投稿日:2001/07/30(月) 00:25
>>>612
教えていただき、どうもありがとうございます。
以下のように入力してみました。

setTimeout(function() { setMes(a.name+'はb?',3000); }, 3000);
setTimeout(function() { setMes(a.name+'はcかな?',3000); }, 3000);
setTimeout(function() { setMes(a.name+'はそれともD',3000); }, 3000);
とすると
     a.name+はb?   が表示され、3秒後に
     a.name+はcかな? が表示され、さらに3秒後
     a.name+はそれともD が3秒表示されるのかな と思ったんですが

     a.name+はそれともD しか表示されませんでした・・・・・。
    (瞬間的に a.name+はb? と  a.name+はそれともD が表示されたと思いますが・・・)

 どうすればいいでしょうか??

すいませんが、どなたか、わかれば教えてくれると嬉しいです。

616 名前:615 投稿日:2001/07/30(月) 00:27
すいません。
訂正です↓
(瞬間的に a.name+はb? と  a.name+はそれともD が表示されたと思いますが・・・)
    ↓
(瞬間的に a.name+はb? と  a.name+'はcかな?  が表示されたと思いますが・・・)

617 名前:Name_Not_Found 投稿日:2001/07/30(月) 00:29
setTimeoutを呼んだ時点から指定した時間経過後に実行されます。
だから3000、9000、12000を指定するべきでしょ?

618 名前:615 投稿日:2001/07/30(月) 01:05
>>617

どうも、ほんとうにありがとうございます!!
うまいこといって、無事、解決しました!!!

ついでにもう1つだけ聞きたいんですけど、
setTimeoutなどのいろんな関数を紹介している本は
どんなのがありますか??

ジャバスクリプト リファレンスブックというのを
買えばいいんでしょうか???

619 名前: 投稿日:2001/07/30(月) 02:28
おじゃまします。
Webサイト 初心者用スレッドver9で
「ブラウザ(IE4.0)にjpg画像を300枚ほど表示させる(レイアウトは気にしない)にはどうしたらいいですか?
imgタグをその数だけ書くのはコピーでも疲れます。ワイルドカートで *.jpg とはできないらしいので
なにかいい方法を教えてください。 」
と質問したところ いくつかのレスをいただき ここを紹介されたので来ました。

JavaScriptの中で画像表示する命令をくり返せばいいんでしょうか。
いろいろ試してみましたがうまくいかなかったので教えてください。できればソースもいただけると
助かります。

620 名前:Name_Not_Found 投稿日:2001/07/30(月) 03:02
for (var i = 0; i<300;i++)
document.write("<img src='"+i+".jpg'><br>");

0.jpg〜299.jpgまで連番で表示ってどお?IE4に限らずできるよ

621 名前: 投稿日:2001/07/30(月) 07:33
>>620
できました!ありがとうございます!!

622 名前:Name_Not_Found 投稿日:2001/07/30(月) 07:57
>>618
JavaScript本の話題 >>1-31

しかしリファレンス本はこれがいいというのは出ていないです。ざっと見た
限り、DOM2までちゃんと載っているリファレンス本はまだ遭遇していない…
オススメがあればお願いします>皆様

623 名前:通りがかり 投稿日:2001/07/30(月) 11:36
ところで、innerHTMLは
ネスケでも使用できるのか?

624 名前:Name_Not_Found 投稿日:2001/07/30(月) 11:38
こんにちは。
質問です・・・。
まずa.gif、b.gif、c.gif、d.gifを用意します。
で、カーソルの↑を押すとa.gifが上に動き
       ↓を押すとb.gifが下に動き
       →を押すとc.gifが右に動き
       ←を押すとd.gifが左に動くようにするには
どうすればいいでしょうか?

    つまり、RPGのフィールド画面を作りたいのです・・・・。
  その時の動き方は、キャラクター(a〜d.gif)は真ん中で向きを変えて
  広いフィールドの景色が変るようにしたいです。
  で、フィールドの端の方に来たらキャラクターが動く(真ん中から外れる)
  ようにしたいのですが・・・・・。
 
  フィールドの大きさは別にどうでもいいです・・・。

  どうか、できる方がいらっしゃれば、よろしくお願いします・・・・。

625 名前:Name_Not_Found 投稿日:2001/07/30(月) 11:43
>>623
N6/Mozillaでは使えるよん。非標準だからできれば
使わないで済ませたいが(個人的願望)(w

626 名前:Name_Not_Found 投稿日:2001/07/30(月) 12:11
>>624
・キー判定の方法を調べる。
・画像の差し替えを行う。
・画像の位置変更を行う。

627 名前:Name_Not_Found 投稿日:2001/07/30(月) 12:42
>>624
N6/Mozilla/IE5.5で作ってみました。

<html><head><title>???</title>
<style type="text/css">
img { position: absolute; top: 100px; left: 100px; z-index: 5 }
div { position: absolute; top: 0px; left: 0px; width: 200px;
height: 200px; background-image: url(test.png);
background-repeat: no-repeat; background-position: 0px 0px }
</style>
<script type="text/javascript">
var pane, img, xpos = 0, ypos = 0, imgs = new Array(4);
function init() {
imgs[0] = new Image(); imgs[0].src = 't0.png';
imgs[1] = new Image(); imgs[1].src = 't1.png';
imgs[2] = new Image(); imgs[2].src = 't2.png';
imgs[3] = new Image(); imgs[3].src = 't3.png';
pane = document.getElementById('d1');
img = document.getElementById('i1');
if(window.captureEvents) { // NS
window.captureEvents(Event.KEYDOWN);
window.onkeydown = function(e) { keypress(e.which); };
} else { // IE
pane.onkeydown = function() { keypress(window.event.keyCode); };
pane.focus();
}
}
function keypress(code) {
switch(code) {
case 37: xpos -= 10; img.src = imgs[0].src; break;
case 38: ypos -= 10; img.src = imgs[1].src; break;
case 39: xpos += 10; img.src = imgs[2].src; break;
case 40: ypos += 10; img.src = imgs[3].src; break;
default:
}
pane.style.backgroundPosition = (-xpos)+'px '+(-ypos)+'px';
}
</script>
</head><body onload="init()">
<p><img id="i1" src="t0.png" alt="main"></p>
<div id="d1">test...</div>
</body></html>

628 名前:587,588,595,602 投稿日:2001/07/30(月) 14:56
>>603
試してみましたがやっぱりだめでした。

いろいろ調べたところ↓が原因でした
http://www.microsoft.com/JAPAN/support/kb/articles/J056/3/53.htm
ダウンロードさせるファイルってPDFだったんですけど
まさかプラグインが影響するとは思いませんでした。

お騒がせしました

629 名前:Name_Not_Found 投稿日:2001/07/30(月) 15:07
>>627
本当にありがとうございます。
t0.png t1.png t2.png t3.png
test.png を用意して動かしてみると
動きました。

630 名前:Name_Not_Found 投稿日:2001/07/30(月) 15:08
>>628
なるほどー、PDFプラグイン側の問題なんですねえ。勉強になりました。

631 名前:Name_Not_Found 投稿日:2001/07/30(月) 15:24
>>629
フィールドの端に来たらキャラクタが動くようにしたけれ
ば、そのようにも改造できますよ。サンプルが長くなるん
でやらなかっただけで。たとえばキャラクタの位置を変数
x、yで指定するとしたら、

img.style.left = x+'px'; img.style.top = y+'px';

とかすれば好きな位置に動かせます。思いついたんですけど、
背景もキャラクタも同時に動くようにして、背景の端っこに
来たときキャラクタもちょうど領域の端っこに来るようにする、
なんてのはどうですか?プレーしにくいかなあ…

632 名前:Name_Not_Found 投稿日:2001/07/30(月) 16:00
JavaScriptサンプル紹介のページを参考にしているのですが、
わからないことがあります。
function openWi12(fi,na,w,h) {
window.open(fi,na,"width="+w+",height="+h+",left=100,top=50,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,favorites=no,resizable=yes");

窓が開く位置を
left=○○

top=○○
で固定したいのですが、topを50にしても0にしても、それ以上 上に行ってくれません。
(何か決まりがあるのでしょうか?)
できれば、「-30」とか指定したいのですけど、マイナスを付けてもダメです。
方法はありますか?

633 名前:Name_Not_Found 投稿日:2001/07/30(月) 16:02
>>631
なるほど・・。
おもしろそうですね!!
もう、戦闘シーンはできてるんですけど
今は↓のようにクリックしたらスタートするようにしているんですが
フィールド上を歩いていたら、ランダムでスタートするには
どうしたらいいんでしょうか??

<p align="center"><a href="javascript:StartBattle('battle')//?2001/04/01"
oncontextmenu="this.click();return false;">戦闘スタート</a></p>

このように↑していて、戦闘スタートをクリックすると
戦闘がはじまります・・・。

634 名前:Name_Not_Found 投稿日:2001/07/30(月) 16:26
>>633
何がランダムなのか分からなかったのですが、Math.random()という
のを呼ぶと0以上1未満の乱数が取れますから、これに適当な数を掛けて
使うんじゃないでしょうか。たとえば0〜100にしたければ100を掛ける。
さらに切り捨て手整数にしたい場合は Math.floor(数値) でできます。

635 名前:Name_Not_Found 投稿日:2001/07/30(月) 16:29
>>632
JavaScriptには「画面の範囲外に窓を置くことはできない」という
制約がありますので、それでtop=-30とかは駄目なんじゃないでしょう
か。たぶんですが…しかし0までは許されてよさそうなものですけど…

なぜこの制約があるかというと、画面の(ほとんど)外に「監視用の」
窓を置いておいてその中で動くJavaScriptを使ってイタズラする、
といった攻撃を禁止するためだと思います。

636 名前:Name_Not_Found 投稿日:2001/07/30(月) 20:59
プルダウンのジャンプメニューで、同じページのアンカーポイント
に飛ばせるJavaScriptのサンプルを探しています。
いろいろ検索かけてみて探したのですがみつかりません。
違うページに飛ぶやり方は、みつけられたのですが、
同じページのアンカーポイントに飛ばしたいのです。

納期の時間もせまっていて、あせっています。
どうか、ご存知の方、お助けください。

637 名前:Name_Not_Found 投稿日:2001/07/30(月) 21:30
指定を「〜.html#*」にすればいいだけじゃなかったっけか?

638 名前:Name_Not_Found 投稿日:2001/07/30(月) 22:19
>>636
ホレ。しかし仕事に2ちゃんねる使うか〜。<html><head><title>???</title>

<script type="text/javascript">
var a = ['a','b','c']; ←アンカー名の配列
function jump() {
location.hash = a[document.forms[0].elements[0].selectedIndex];
}
</script>
</head><body>
<form action="#"><p><select onchange="jump()">
<option>A</option><option>B</option><option>C</option>
</select></p></form>
...
<p><a name="a">A</a></p> ←アンカー
...
</body></html>

639 名前:Name_Not_Found 投稿日:2001/07/30(月) 22:21
ちょっとコピペ失敗した。スマソ

640 名前:Name_Not_Found 投稿日:2001/07/30(月) 22:23
話の途中で申し訳ありませんが、プッシュボタンを複数設置し、
それぞれをクリックするとインラインフレーム内にhtmlを表示したいのですが、
どうしたら良いのでしょうか?
ハイパーリンクだったらうまくいくのに…

641 名前:Name_Not_Found 投稿日:2001/07/30(月) 22:58
>>640
iframe要素のdocumentオブジェクトを取る方法が分からない
ので困るのですよね。誰か知らないかな。とりあえず、

<div id="d1">適当な初期メッセージ</div>

とかしておいて、ボタン押された時の動作として

document.getElementById('d1').innerHTML =
'<iframe src=" + uri + '"></iframe>';

で済むことは済むでしょう。IE5/N6/Mozilla専用になるけど。

642 名前:Name_Not_Found 投稿日:2001/07/30(月) 23:45
>>636です。

>>637
そうやってみたのですが、だめだったんです・・・

>>638
ありがとうございます!
さっそく、やってみます。
>しかし仕事に2ちゃんねる使うか〜。
すいません、ここが一番頼りになりそうな気がして・・・

643 名前:Name_Not_Found 投稿日:2001/07/31(火) 00:46
>>636です。

>>638
おっしゃる通りためしてみたのですが、上手くいきません・・・(泣)
ブラウザで見たときに、全くリロードもしない状態です。

当方、ジャバスクリプトに関しては、いつもサンプルを引用しているので、
ほとんど知識がありません・・
たいした知識がない消防は、こんなとこ間違えてんじゃねぇか、
そのようなポイントがありましたら、ぜひご指摘ください。

本当に頼ってばかりで申し訳ありません。。。

644 名前:Name_Not_Found 投稿日:2001/07/31(火) 01:33
>>634
すいません、ランダムなのは
歩く歩数です。つまり、フィールド上を歩く(方向カーソルを押す)と
突然、戦闘がはじまる(戦闘のbattleというjsファイルに飛ぶ)ように
したいわけです・・・。方向キーを何回押したかカウンターかなんか
つけないといけないんですかねぇ・・やっぱり。
しゅみで、組み始めたばっかりなのでさっぱり分かりませんが
どなたか640あたりのフィールドのプログラムに
歩いていると戦闘がはじまる(戦闘のjsファイルの名前はbattleです)
コードを付け足してくれると嬉しいです。ホント、あつかましくて
すいません。もっと色々勉強して早く教えるがわに立てれば
いいなと思います。どうかよろしく・・・・・・・。

645 名前:Name_Not_Found 投稿日:2001/07/31(火) 01:35
すいません、フィールドのプログラムは627でした・・・・。

646 名前:Name_Not_Found 投稿日:2001/07/31(火) 01:41
こんばんは。
ランダムに a.mid b.mid c.mid ・・・・とn個の
MIDIファイルを流すようにするにはどうしたらいいでしょうか??

647 名前:Name_Not_Found 投稿日:2001/07/31(火) 02:19
>>646
MIDI鳴らすな。

648 名前:Name_Not_Found 投稿日:2001/07/31(火) 04:56
>>636です

うひゃ〜、いろいろやってみて出来なかったので、
もはや時間切れ・・・・
とりあえず、同じページで長々とまとめていたリストを
項目別にページ分けして、飛ぶようにしました。
これでダメ出しが出たら・・そのときまた考えます・・・。

せっかくおしえてもらったのに、できなかった自分に腹が立ちます。
時間がないので、今回はあきらめましたが、

すごく気になるので、あの・・
どなたか>>636のようなジャバスクリプトを実際に使っているサイトを
ご存知なら、おしえてくださいませ。。。

>>638 せっかくおしえてくれたのに、スマソ

649 名前:シロウト 投稿日:2001/07/31(火) 06:37
どなたかご指導ください。

重たいページを表示するとき、JavaScriptで新しいwindowを開いて、その中に読み込み中です、と表示させます。
で、その重たい親ページのある画像がロード完了したら、新しく開いたほうのページを閉じるようにしたいです。

<script language="JavaScript">
<!--

function subWin(){
var new_window = window.open("information.html","info","width=300,height=100,scrollbars=0,scroll=0");
}


function loadedchck() {
if(document.whatsg.complete) = new_window.winClo();
}
//-->
</script>

<body onLoad="subWin(); loadedchck(); >
親windowには上記、小windowには下記


<script language="JavaScript">
<!--

function winClo(){
window.close();
}
//-->
</script>
のように記述していますが、機能しません。

お願いします。

650 名前:638 投稿日:2001/07/31(火) 07:09
>>648
うーん、おかしいですね?N4、N6/Mozilla、IE5.5で確認
してOKですし、もしかしてアンカーの定義方法が違って
いるってことはないですよね?

<a name="A">ここがアンカーA</a>

とか、こういう感じになるはずですが…

651 名前:Name_Not_Found 投稿日:2001/07/31(火) 07:18
>>644
キーコード437, 438, 439, 440がそれぞれ左、上、右、下
矢印キーですから、switch文の各caseのところでそれぞれの
数を数えるんでしょ。でも「どの位置」は変数xpos、ypos
で保持していますから、これが特定の「ます目」になったら
バトル、でいいんじゃないかな。そのどの「ます目」かは
乱数で決めると。

にしてもこのあたりになるともはやJavaScriptの技じゃなく
当り前のプログラミングですから、このスレの話題ではない
と考えます。まあ、頑張って面白いゲーム作ってください。

652 名前:Name_Not_Found 投稿日:2001/07/31(火) 07:24
>>649
だいぶ違うんじゃない?onloadっていうのはその(重たい)ページのロードが
終わった時点で実行されるから、終わってからloading...なんて言っても
無意味でしょ?次のような感じになるんじゃないかな。

...
<script type="text/javascript">
var new_window = window.open(...);
function close_win() { new_window.close(); }
</script>
<body onload="close_win()">
...

653 名前:シロウト 投稿日:2001/07/31(火) 07:44
>>652
有難うございます!
早速やってみたらできました!
こころから感謝します。

654 名前:Name_Not_Found 投稿日:2001/07/31(火) 11:42
キーボードの[Shift]キーを無効化したいのですが、
このようなことは可能なのでしょうか。

655 名前:Name_Not_Found 投稿日:2001/07/31(火) 11:56
>>654
ブラウザ上ので?んなのできるワケがない。WSHとかは知らん。

656 名前:Name_Not_Found 投稿日:2001/07/31(火) 12:21
>>655
どうやんのかは知らんけど、そういうページ前に見たことある。
できるワケがないっていう根拠はなんなん?(w

657 名前:Name_Not_Found 投稿日:2001/07/31(火) 12:23
>>656
あー、そのブラウザの窓の中だけならできるのかも。スマソ。
窓の外までできたらマズいと思うけど…(そーゆー意味だと思った。)

658 名前:Name_Not_Found 投稿日:2001/07/31(火) 13:21
>>644
ここへ行け
http://natto.2ch.net/test/read.cgi?bbs=hp&key=996553119

659 名前:高校性 投稿日:2001/07/31(火) 16:37
フレーム分割したページで1つ目のページ内をクリックした時に
2つ目のページにしくんだJAVAがクリックを監視するJAVAプログラム
は作ることが出来ますか?もし出来るならソースを教えてください

660 名前:Name_Not_Found 投稿日:2001/07/31(火) 16:53
>>659
このスレではJavaは扱っておりません。>>1 参照のことねー。
JavaScriptならもちろん作れるけど、クリックされた時
何をするの?何をするか決まらないのにソースは作れない。

661 名前:Name_Not_Found 投稿日:2001/07/31(火) 19:12
過去ログを調べてみたのですが分からないことがあります。
質問させて下さい。

自サイト内ではa.htmlからb.htmlに移動するようになっているのですが、
a.html以外の場所やブックマークからb.htmlに来た場合、
a.htmlに訪問者を自動的に飛ばすようにしたいと思っています。

過去ログを見たところ
1)リファラを参照する。
2)URLの後に?を付けて ?以降があるかないかで認識する。
3)フレームを使う。
の3通りの方法があることが分かりました。

1)の方法をまず試したのですが、
a.htmlからb.htmlへの移動はjavascriptを用い自動で行っているので、
IEではリファラが空白になってしまい、
うまくいきませんでした。

2)の方法はうまくいったのですが、
a.html経由でb.htmlに来て、そこでお気に入りに追加した場合、
?以降もお気に入りのURLに登録されてしまうので、
お気に入りから直接b.htmlに来られた場合は対応できません。

で、結局3)の方法を用いることになりました。
次に続きます

662 名前:Name_Not_Found 投稿日:2001/07/31(火) 19:13
続き
3)の方法では、
親フレームを作り、
a.htmlにonUnloadを記述して親フレームに情報を格納。
b.htmlにonloadを記述して親フレームに格納された情報を取り出す。
a.html経由なら普通にb.htmlを読み込み、
そうでない場合は、a.htmlに飛ばす
という風にすれば良いことまでは分かったのですが、

どうやって親フレームに情報を格納すればいいのか?
その情報をb.htmlからどうやって読み取ればいいのか?
が分かりません。
とても基本的なことかもしれませんが教えていただけないでしょうか・・。

ここ数日で初めてJavaScriptを勉強し始めたので、
もし全くの見当違いをしているなら、それも指摘していただければ幸いです。

663 名前:Name_Not_Found 投稿日:2001/07/31(火) 20:19
そのページが開くたびに
ランダムで
いくつかのMIDIを鳴らすには
どうすればいいですか???

664 名前:Name_Not_Found 投稿日:2001/07/31(火) 20:33
>>662
ちょっと違うかも知れませんが作ってみました。まずページAも
Bも親フレームの中の唯一の子フレームとして動作します。Aも
Bも単独でロードされると親フレームを呼びます。さらに、Aは
ロードされると親フレームにフラグを立てます。Bは旗が立って
いない場合はやはり親フレームを呼びます。個人的にはこういう
細工は嫌いなんですが、JavaScriptで遊ぶのは好きなので…
p.html:
<html><head><title>???</title></head>
<frameset cols="*" title="parent">
<frame title="a" src="a.html">
</frameset></html>

a.html:
<html><head><title>???</title>
<script type="text/javascript">
function check() {
if(window.top == window) location.href = 'p.html';
window.top.entryOK = true;
}
</script>
</head><body onload="check()">
<h1>A</h1>
<p><a href="b.html">goto B</a></p>
</body></html>

b.html:
<html><head><title>???</title>
<script type="text/javascript">
function check() {
if(window.top == window) location.href = 'p.html';
if(!window.top.entryOK) location.href = 'p.html';
}
</script>
</head><body onload="check()">
<h1>B</h1>
</body></html>

665 名前:Name_Not_Found 投稿日:2001/07/31(火) 20:38
>>663
音を鳴らすの、嫌いだという人が多いですよねー。
それはそれとして、私は音関係、全然知らないんですが。

666 名前:Name_Not_Found 投稿日:2001/07/31(火) 22:11
ランダムミディって
無理っぽいよね。

667 名前:Name_Not_Found 投稿日:2001/07/31(火) 22:11
オーメン2は
あるのかな??
悪魔の啓示録666

668 名前:スダ子 投稿日:2001/07/31(火) 22:31
スレ違いだったらすみません。
JDKのことをおききします。
http://www.ecs.cst.nihon-u.ac.jp/~mizocchi/b_java/jdkmeth.html
に書いてあるとおりに設定したつもりですが、
javac ***.java
で***.classを作ることができません。
やはり環境設定が間違っているのでしょうか。ちなみに、
AUTOEXEC.BAT


SET windir=C:\WINDOWS
SET winbootdir=C:\WINDOWS
SET COMSPEC=C:\WINDOWS\COMMAND.COM
SET PROMPT=$p$g
SET TEMP=C:\WINDOWS\TEMP
SET TMP=C:\WINDOWS\TEMP
SET PATH=C:\perl\bin;C:\WINDOWS;C:\WINDOWS\COMMAND;C:\Perl\bin;;C:\latex\bin;C:\JOK\bin
SET TEXMFMAIN=c:/latex/share/texmf
SET TEXMFCNF=c:/latex/share/texmf/web2c
SET CLASSPATH =.
になっています・・・。

669 名前:661=662 投稿日:2001/07/31(火) 22:58
>>664
661=662です。

ヒントなら頂けるかなと思っていたのですが、
全て作って頂いてしまって、
なんだか申し訳ないです。
でも、とても助かりました。
本当にありがとうございます。

ソースを読ませて頂いたのですが、
私には全く思いつきませんでした。
テクニックのある方はこういうのがすぐに思いつくのでしょうか・・。
(私があまりに無知なせいという突っ込みもきそうですが・・)

a.htmlとb.htmlについてですが、
ブラウザチェックページ(a.html)→各ブラウザ用の表紙(b.html)
という風になっています。
(実際はもう少しややこしくなっています)
そこから各ブラウザ用のページが続いています。

表紙(661,662のb.html)に直接来られると、
適合していないブラウザ用ページに来てしまう場合があり得る
ために上記のような質問をした次第です。

直リンク防止のような細工を嫌いな人がいらっしゃることは承知しています。
適合していないブラウザ用の表紙に来られた場合、
内容が全く見られない場合もあると思い質問しました。
訪問者に不評ならまた別の方法を考えてみます。

ともかく、ありがとうございます。

670 名前:Name_Not_Found 投稿日:2001/07/31(火) 23:09
>>668
スレ違いかつ板違い。プログラム技術板へどぞ。
JavaScriptはJavaとはまったく別物です。

671 名前:Name_Not_Found 投稿日:2001/07/31(火) 23:47
SET PATH=C:\JDK1.3\bin;%PATH%

672 名前:Name_Not_Found 投稿日:2001/07/31(火) 23:50
ランダムミディできるヨ

673 名前:Name_Not_Found 投稿日:2001/07/31(火) 23:58
上げ

674 名前:Name_Not_Found 投稿日:2001/08/01(水) 00:20
>>672
どうやればいいでしょうか???
よかったら教えてください・・。

675 名前:ブラクラ 投稿日:2001/08/01(水) 01:11
>>663
>>674
ほれ。 サンプルはここに、置いとくよん。
http://2ch.coco.co.jp/test/rndmidi.html

<script>
src = new Array();
src[0]="1.mid";
src[1]="2.mid";
src[2]="3.mid";

// ↑に、鳴らしたい曲を登録。

rnd = Math.floor(Math.random()*src.length);
document.write('<bgsound src="'+src[rnd]+'">')
document.write('いまなってる曲は'+src[rnd]+'どえす。');
</script>

676 名前:らくらぶ 投稿日:2001/08/01(水) 01:12
あ。ネスケで動くかどうかは
知らないので(藁
いちいち、ネスカーのことなんてかんがえてらんないっす。

677 名前:Name_Not_Found 投稿日:2001/08/01(水) 01:22
サウンドを止めるのも付け加えようネ
document.write('<bgsound id='bgs' src="'+src[rnd]+'">')
function stop(){document.getElementById("bgs").src = "silent.mid";}

ネスケはだめっす

誰かbgsound と embed のsrc 属性の変更について詳しく教えてください。
あと、ネスケのプラグインの事に関しても教えてほしいっす。

678 名前:らくらぶ 投稿日:2001/08/01(水) 01:29
お、フォロー。さんくす。
ほえー。みなさん、普通にgetElenebtById()なんて
つかってんだに。。

679 名前:らくらぶ 投稿日:2001/08/01(水) 01:35
でも、 >>677
document.write('<bgsound id='bgs' src="'+src[rnd]+'">')
これ、ちょっとまちがってる。 '' でかこんだら
変数になっちゃうぢゃん。 "bgs"に変更。んで、改良版も
置いとくね。 http://2ch.coco.co.jp/test/rndmidi2.html


<script>
src = new Array();
src[0]="1.mid";
src[1]="2.mid";
src[2]="3.mid";

rnd = Math.floor(Math.random()*src.length);
document.write('<bgsound id="bgs" src="'+src[rnd]+'">')
document.write('いまなってる曲は'+src[rnd]+'どえす。');

function stop(){document.getElementById("bgs").src = "";}
</script><br>
<input type="button" onClick="stop()" value="MIDI*STOP">

680 名前:らくらぶ 投稿日:2001/08/01(水) 01:38
あー。ストップぼたんをつくると。
再生ボタンもつくりたくなるね。なんか。
ま、いいや。 次のしつもん、はよこーい。

681 名前:Name_Not_Found 投稿日:2001/08/01(水) 02:04
ここで一度質問に答えてもらったものです。
親切に答えてもらってとても嬉しかったです。
久しぶりに人から親切にしてもらいました・・・。
無償で答えて下さってる皆さん、ありがとう。

自分もなんだか人に何かしたくなって、
他の板で、自分が答えられる質問に回答してきました。

なんだかやる気がでてきました。

682 名前:らくらぶ 投稿日:2001/08/01(水) 02:20
【無償で】ってとこが 藁。。

683 名前:Name_Not_Found 投稿日:2001/08/01(水) 03:08
同じWebページの中に特定の文字列(例えばhttp)がいくつあるか数える方法はありますか。

じつはリンクの総数を表示したいのですが、アンカータグ<a href="">ではなく
<form><select><option>を使っているため document.links.length では出ないのですが。

684 名前:Name_Not_Found 投稿日:2001/08/01(水) 07:06
何でもかんでもJavaScriptで吐き出すのは趣味じゃないので
<bgsound id=BGM>
に対して
function MUSIC(SRC){ BGM.src=SRC ; }
当然、IE依存である

そして、IEのプロパティ-詳細設定で[サウンドを再生する]をオフにしていると
bgsoundは鳴らない、embedは鳴る。

embedでMediaPlayerを使う場合(MediaPlayerはsrcが空だとembedされない)に限定すれば
<embed name=EMBED id=EMBED type="application/x-mplayer2" src="dummy.wav"></embed>
に対して
function MUSIC(SRC){
if(document.all) document.EMBED.FileName=SRC ;
if(document.layers) document.EMBED.SetFileName(SRC) ;
}
でWinIEでもねすけでも再生されるはず。MacIEは不可。

止める
if(document.all) document.EMBED.stop() ;
if(document.layers) document.EMBED.Stop() ;
再生
if(document.all) document.EMBED.play() ;
if(document.layers) document.EMBED.Play() ;

使うプラグイン・ブラウザによって挙動もメソッドも違うので
QuickTime使いたいとかRealPlayer使いたいとかいう場合は調べてトライ&エラー

685 名前:Name_Not_Found 投稿日:2001/08/01(水) 10:52
>>683
ページ内全部に渡って数えるんだったら(またまた使いたくないけど)
body要素のinnterHTML取って来てRegexpオブジェクトで調べるんでしょう
ねえ。しかしホントにそんなことがしたいの?ページ内容に普通に「http:」
があっただけで数えられてしまいますよね?まあ作っては見ましたけど。

<html><head><title>???</title>
<script type="text/javascript">
function test() {
var str = document.getElementById('b1').innerHTML;
var pat = /http:/g;
for(var i = 0; pat.exec(str); ) ++i;
window.alert(i);
}
</script>
</head><body id="b1">
<p><a href="javascript: test()">count...</a></p>
<p>http:</p><p>http:</p><p>http:</p>
</body></html>

686 名前:576 投稿日:2001/08/01(水) 12:45
>>578-579
長いこと来れなくてスミマセン。
そしてありがとうございます。
ちなみに厨房なもので分かってないのですが、コレ、何が変わったのでしょうか。
コレを画像に置き換えてやったら良いのですか?

687 名前:683 投稿日:2001/08/01(水) 12:48
>>685
ありがとうございます。助かりました。

685で<div id="b1"></div>とすれば、全ページではなく任意の範囲でもできますね。

688 名前:Name_Not_Found 投稿日:2001/08/01(水) 13:52
1emが何pxかを得るにはどうすればよいですか?

689 名前:Name_Not_Found 投稿日:2001/08/01(水) 13:57
>>686
変わったのはN4にgetElementByIdがないのに対処したことと、N4では
onmouseoverが<a>...</a>にしか効かないので無理矢理<a>...</a>を
使ったことです。ただ、このままだと<a>...</a>で反応するのは文字の
部分だけですから、中に画像を入れないとスムーズに行きません。
メニュー本体も同様に<a>...</a>の中に画像を入れてください。

>>687
なるほど、そういう意味ではdocument.links.lengthよりも良いのかも。

690 名前:Name_Not_Found 投稿日:2001/08/01(水) 14:50
>>688
これが意外と難しい!適当な要素を幅em指定で作って、その幅を
取得すればいいと思ったのだけど、N6では幅を取り出す方法が
見当たらない(分かった人教えて…)。N4はスタイルシートがボロ
ボロ。とりあえずIE専用。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; visibility: hidden; width: 100em; padding: 0px }
</style>
<script type="text/javascript">
function test() {
var elt = document.getElementById('d1');
alert(elt.offsetWidth); // 100emだから実際にはこの100分の1。
}
</script>
</head><body>
<div id="d1">test...</div>
<p><a href="javascript: test()">test...</a></p>
</body></html>

691 名前:Name_Not_Found 投稿日:2001/08/01(水) 14:53
↓は、宮坂雅輝著「JavaScriptハンドブック基礎編」(ソフトバンク)に載っていたサンプルです。
 ページを読み込むとクッキーを用いて「訪問者の名前を保存し、2回目以降は自動的に表示する」というものです。
 これを、読み込み時は<input type="text">に「名無しさん」と表示して<input type="button" value="ログイン">
 のクリックで動作するようにし、<input type="button" value="ログアウト">でクッキー削除するようにしたいのですが
 なかなかうまくいきません。↓とはまったく別のスクリプトでも構いません。よい方法をお教えください。

<script language="JavaScript">

names=getCookie("Name");
if (names==""){
inputName();
}
document.write("ようこそ "+names+" さん!");

function getCookie(key){
tmp=document.cookie+";";
tmp1=tmp.indexOf(key, 0);
if(tmp1!=-1){
tmp=tmp.substring(tmp1, tmp.length);
start=tmp.indexOf("=", 0)+ 1;
end=tmp.indexOf(";", start);
return(unescape(tmp.substring(start, end)));
}
return("");
}
function inputName(){
names=prompt("名前を入力してください。","名無しさん");
if(names==null){
inputName();
}
setCookie("Name", names);
}
function setCookie(key,val) {
tmp=key+"="+escape(val)+"; ";
tmp+="expires=Fri, 31-Dec-2010 23:59:59; ";
document.cookie=tmp;
}
</SCRIPT>

692 名前:Name_Not_Found 投稿日:2001/08/01(水) 15:07
>>691
雑誌の例題そのままコピペってまずくない?

693 名前:Name_Not_Found 投稿日:2001/08/01(水) 15:23
>>654

event.modifiersの値が4であればShiftキーだからそれを無効
になるように組めばいいのでは?

694 名前:691 投稿日:2001/08/01(水) 15:29
>>692
[引用]で、しかも出典(書籍)を示しているから、まずくないと思いますが。
同じスクリプトが著者のwebで公開されています("名無しさん"だけ換えてます)

いろいろ手を加えてみたのですが、初心者のためなかなかうまくできません。
>>691の目的が達せられれば、まったく別の構文でもかまいません。
よろしくお願いします。

695 名前:Name_Not_Found 投稿日:2001/08/01(水) 15:48
>>694
そうですね、最低限の引用と言えなくもないか…失礼しました。
しかし言ってはナニですけど私にはボロボロな例題に見えます。
動作が同じになるように作ってみました。

<html><head><title>???</title>
<script type="text/javascript">
function getCookie(k) {
var a = eval('/' + k + '=([^;]+)/').exec(document.cookie);
return a ? decodeURIComponent(a[1]) : ''
}
function setCookie(k, v) {
document.cookie = k + '=' + encodeURIComponent(v) +
'; expires=Fri, 31-Dec-2010 23:59:59; ';
}
function inputName() {
var n = '';
while(!n) n = prompt('input name', 'name-not-found');
setCookie('Name', n); return n;
}
</script>
</head><body>
<script type="text/javascript">
var name = getCookie('Name') || inputName();
document.writeln('<p>Welcome ' + name + '.</p>');
</script>
</body></html>

696 名前:Name_Not_Found 投稿日:2001/08/01(水) 16:00
>>693
まずevent.modifiersはNetscapeブラウザのみですよね。
イベント横取りしてこのビット降ろしてもN4/N6とも普通に
[Shift]+[a]で「A」が入力できてしまいます。なんでかな?

IEではwindow.event.shiftKeyで表されますけど、これは
プロパティに書き込ませてくれません(だったと思う)。
それにIEではターゲットから外に向かってイベントが来る
ので横取りしてキャンセルするということができません。

何かうまい方法があるのでしょうか?

697 名前:Name_Not_Found 投稿日:2001/08/01(水) 16:00
すいません >>174
左右のフレームを同時にスクロールさせる方法が書いてあったので
上下なら・・・

function sync() {
if(typeof(window.frames[1].pageXOffset) == 'number') {
window.frames[0].scrollTo(window.frames[1].pageXOffset,0);
} else {
window.frames[0].scrollTo(window.frames[1].document.all.b1.scrollleft,0);
}
}

でいけるかなと思ったらうまく動きません。どうしてかわかる人教えてください。

698 名前:Name_Not_Found 投稿日:2001/08/01(水) 16:13
>>697
それでうまく行ってますよ?ははあ、下フレームのページのbodyタグが

<body id="b1">

になってないでしょ?違ったらスマソ。あれ?scrollleftじゃなくて
scrollLeftね、スペルミスにも注意。

699 名前:691,694 投稿日:2001/08/01(水) 16:15
>>695
ご丁寧なレスありがとうございます。

>>691に書いたように、<body></body>中のボタンで操作できるようには
ならないでしょうか。できれば「キャンセル」で動作を中止できればなおいいのですが。
(例題のままだと、訪問者はクッキーを拒否できないですから。)

700 名前:ウトゥ 投稿日:2001/08/01(水) 16:21
>>698

どうやら問題はLでした。
すいませんお騒がせしました。

701 名前:Name_Not_Found 投稿日:2001/08/01(水) 16:47
>>699
作って見ました。キャンセルで中止っていうのがよく分からな
かったのですが…まあこの先は自分で好きなように作るのがいい
のではないでしょうか?

<html><head><title>???</title>
<script type="text/javascript">
function getCookie(k) {
var a = eval('/' + k + '=([^;]+)/').exec(document.cookie);
return a ? decodeURIComponent(a[1]) : ''
}
function setCookie(k, v, e) {
document.cookie = k + '=' + encodeURIComponent(v) + '; expires=' + e;
}
function init() {
document.forms[0].elements[0].value = getCookie('Name') || 'name-not-found';
}
function register() {
var n = document.forms[0].elements[0].value;
setCookie('Name', n, 'Fri, 31-Dec-2010 23:59:59');
}
function remove() {
setCookie('Name', 'x', 'Tue, 7-Jul-2001 23:90:59'); window.location.reload();
}
</script>
</head><body onload="init()">
<form action="#">
<p><input type="text">
<input type="button" value="Register" onclick="register()">
<input type="button" value="Remove" onclick="remove()"></p>
</form>
</body></html>

702 名前:691,694,699 投稿日:2001/08/01(水) 17:06
>>701
たびたびありがとうございます。

>キャンセルで中止
入力プロンプトがあらわれたときに、名前を入力して「OK」を押せばその名前が表示され、
「キャンセル」を押せば入力とクッキー取得を中止して「name-not-found」が表示されるように、という意味です。

あれっ、「Register」ボタンを押しても入力画面があらわれません。
どうすればいいでしょうか。

703 名前:Name_Not_Found 投稿日:2001/08/01(水) 17:06
>>701
23時90分て何だよ…欝だ死のう。

704 名前:login:ディストリいっぱい 投稿日:2001/08/01(水) 17:15
http://2ch.dyn.to/
↑このサイトなんですけど
複数の板を検索対象にする時に毎回チェックボックスを選択するのは大変なので、
チェックを入れた状態で「クッキーに保存」「クッキーを消す」というボタンを
ポチッと押して選択状態が保存されるような便利な機能があるといいなあって思ってます。
さっきから調べてるんですけどあぶら汗がたらたら出るだけで全く理解できません。。
たぶんここにいる人たちならチョチョと作れるんだろうなあって思ったんで安易に助けを
求めに来ました。よろしくお願いします (^o^)

ちなみに僕のJavaScriptスキルは「拾ってきたものをコピペして貼り付ける」レベルです。

705 名前:Name_Not_Found 投稿日:2001/08/01(水) 17:16
>>702
>>701 は、name-not-foundを書き換えてRegisterを押すんです。
コードを読んでくださいよ〜。一応直しましたが、やっぱり最後は
自分で好きなように作るのがいいと思いますよん。

<html><head><title>???</title>
<script type="text/javascript">
function getCookie(k) {
var a = eval('/' + k + '=([^;]+)/').exec(document.cookie);
return a ? decodeURIComponent(a[1]) : ''
}
function setCookie(k, v, e) {
document.cookie = k + '=' + encodeURIComponent(v) + '; expires=' + e;
}
function init() {
var n = getCookie('Name');
if(!n) {
n = window.prompt('Your Name:', 'name-not-found') || 'name-not-found';
setCookie('Name', n, 'Fri, 31-Dec-2010 23:59:59');
}
document.forms[0].elements[0].value = n;
}
function remove() {
setCookie('Name', 'x', 'Tue, 7-Jul-2001 23:90:59');
}
</script>
</head><body onload="init()">
<form action="#">
<p><input type="text" disabled>
<input type="button" value="Remove" onclick="remove()"></p>
</form>
</body></html>

706 名前:Name_Not_Found 投稿日:2001/08/01(水) 17:26
>>704
それはいいんだけど、そもそもこの検索サイトの入力ページを
自分とこに持って来てクッキーでチェックボックスのON/OFFを
保存できるようにしたとして、そこから検索掛けられるの?
別とこから呼ばれたらはねるCGIが多いと思うんだよね。そこ
をまずチェックしないと徒労に終わるからね。

次に、このでっかいHTMLを直してどっかに置けってか?そんなの
JavaScriptの話題じゃないじゃん。チェックボックス2、3個の状態
を保存する例題くらいだったら作ってもいいんだけどね。そういう
例題を見てあのページを直す気があるんだったらね…

そうじゃないんなら私はパスだな。

707 名前:Name_Not_Found 投稿日:2001/08/01(水) 23:55
var a = eval('/' + k + '=([^;]+)/').exec(document.cookie);
return a ? decodeURIComponent(a[1]) : ''
正規表現わからんちんですっ 教えてください。
デコードなんとか〜ってのも教えてください

正規表現はジャバスクリプターにとって必須ですか?
いざとなった時に正規表現はスパイスになるなっ!て思ったけど...

708 名前:Name_Not_Found 投稿日:2001/08/02(木) 00:07
>>707
正規表現は強力ですし、必須ってことはないでしょうが、長々とループしな
くて済むからとってもお勧めですよ。解説ですが、まず

/名前=([^;]+)/

これで、「名前」の次に「=」、次に「;以外の文字が1個以上並んでいる」と
いうパターンを表します。なお、「;以外の文字が1個並んでいる」部分につい
ては、その範囲を記憶させます(ここがクッキーの値ですからね)。

正規表現オブジェクト.exec(文字列)

は、文字列を正規表現にあてはめ、その結果をあてはまらなければnull、
あてはまれば配列オブジェクトで返します。あてはまった場合は、a[0]が
文字列全体を保持しますが、「()」で囲んだ指定があれば、その1番目、
2番目、…にあてはまった部分文字列をa[1]、a[2]、…に保持しています。
ここでは「()」が1つだけだから、そこをa[1]で取り出すわけ。

クッキー等に覚えさせる時に漢字でも大丈夫にするために、従来はURL
エンコーディングを行うescape()、unescape()を使っていたと思うので
すが、これだとどの漢字コードかという情報がないため、復元したとき
化けることがあります。encodeURIComponent()、decodeURIComponent()
であれば、UTF-8が使われるので化けない…と思う。

709 名前:Name_Not_Found 投稿日:2001/08/02(木) 00:08
<A>や<FONT>タグが使えるBBSに書き込むとき、
タグを交えたメッセージを送信する前に
実際どう表示されるかをプレビューすることはできるのでしょうか?

Javaスプリクトなら出来るということを聞いたのですが。

710 名前:Name_Not_Found 投稿日:2001/08/02(木) 00:16
>>708
ありがとございます。ちょっと正規表現やってみます。
エンコードなんですけどUTF-8って何ですか?無知ですみません。

711 名前:Name_Not_Found 投稿日:2001/08/02(木) 00:21
>>709
このページを開いてカット&ペーストしなされ。

<html><head><title>???</title>
<script type="text/javascript">
function preview() {
var win = window.open('#', 'preview');
win.document.open();
win.document.writeln(document.forms[0].elements[0].value);
win.document.close();
}
</script>
</head><body>
<form action="#"><p>
<textarea name="area" cols="64" rows="20"></textarea><br>
<input type="button" value="Preview" onclick="preview()">
</p></form>
</body></html>

712 名前:Name_Not_Found 投稿日:2001/08/02(木) 00:25
>>710
最近のブラウザでは内部でUnicodeと呼ばれるコード系が
使われています。HTMLもJavaScriptもこのコード系が基準。
で、UTF-8とはUnicodeをファイルに格納したりするための
符号化方式。つまり「これはSJISか?」「これはEUCか?」
といったことを気にしないで済むわけです。

713 名前:709 投稿日:2001/08/02(木) 00:47
>>711さん

うわっ、すごい!
最高です。

私はJavaスクリプトをほとんど知らないので、
ソース見てもよくわからないのですが、
<A>,<IMG>,<FONT>タグだけを有効にしてプレビューできれば
もっと最高なんですが、贅沢言ってますか?

714 名前:691,694,699,702 投稿日:2001/08/02(木) 03:13
>>705
何度もありがとうございました。
すべての動作を同じページでやろうとするから難しくなるんですね。
クッキー保存・削除の作業を別ページにしたら、なんとか形になりました。

715 名前:Name_Not_Found 投稿日:2001/08/02(木) 04:10
>>675-680
本当にありがとうございます。
感謝しています!!!!

じつはランダムミディというのは
あるページのボタンを押すと
a.jsファイルに飛ぶんですが
その飛んだ時、いろんな曲がランダムでかかるように
JSファイルをいじりたいのです・・・。
参考までに・・・・。jsファイルの初め部分です・・・。

bgm.src='ba1.mid';
//bgm.src='ba3.mid';
//bgm.src='ba2.mid';

bak.bak=new Array();
bak.bak[0]=new background('c:\\windowsタトー.jpg',1200,900,140,300,'',true);
と続きます・・・。

これをそのまま実行するとba1.midしか再生されないんですよね・・・。
これをjsファイルに飛んだらランダムで
midを再生できるようにしたいんですよ・・・・・・。
誰かよろしくお願いします。

716 名前:Name_Not_Found 投稿日:2001/08/02(木) 04:26
function show(s,delay){
var t1=s.id;
if(s.constructor==String){t1=s;}
if(delay){
sto("show2("+t1+")",delay);
}else{
show2(s,delay);
}
}
というプログラムがありまして、
show2("+t1+")"のt1の部分に
数字が入りますが、その数字が
左から順(桁数の多い数字場合)に
1センチくらい上から落ちて弾むように
表示させることとかは出来ますか??
FF3のダメージのような
数字が、こぼれ落ちる感じにしたいのですが・・・。

717 名前:Name_Not_Found 投稿日:2001/08/02(木) 06:25
>>715
書かれてる内容をちゃんと読んだ?
てとりあしとりでないと理解できんのか
だったら、あまりよろしくしたくないな

[bgm.js]

src = new Array();
src[0]="bgm_1.mid";
src[1]="bgm_2.mid";
src[2]="bgm_3.mid";……

n = Math.floor(Math.random()*src.length);
bgmFile=src[n];

そして、鳴らしたいHTMLファイルのHEAD内に
<script language="JavaScript" src="bgm.js"></script>
本文中に
document.write('<bgsound src="'+bgmFile+'">');

ねすけでも鳴らしたいならbgsoundではなくembedを
document.write('<embed src="'+bgmFile+'" autostart="true">');

bgm.src=...
という部分にこだわるならbgsoundじゃないと行かんし、ごにょごにょ

> bgm.src='ba1.mid';
> //bgm.src='ba3.mid';
> //bgm.src='ba2.mid';
> これをそのまま実行するとba1.midしか再生されないんですよね・・・。
「//」で始まる行は無視されるし、同じプロパティにいくつも値を突っ込んだら最後のものだけが有効になるからたくさん並べても意味がない。
そして、jsファイルってのはJavaScriptのファイルだから「ボタンを押すとjsファイル"に飛ぶ"」などという使い方はしない
<SCRIPT src=〜.js></SCRIPT>として利用するものだよ。分かってる?

718 名前:Name_Not_Found 投稿日:2001/08/02(木) 08:52
確かにてとりあしとりじゃああまりよろしくしたくないケド。
コピペしかできないと豪語されるよりは、自分で書く気がある
ぶんだけいいのかしらん。でもコメントくらい知ってて欲しい〜。

719 名前:Name_Not_Found 投稿日:2001/08/02(木) 09:32
>>688で、1emが何pxかを得るにはどうすればよいか質問した者です。
やはりダミーでブロック要素を作るしかないのでしょうか?

720 名前:作者 投稿日:2001/08/02(木) 10:44
リディアたん?

721 名前:Name_Not_Found 投稿日:2001/08/02(木) 11:03
メテオ★

722 名前:Name_Not_Found 投稿日:2001/08/02(木) 11:22
>>719
CSS2の仕様によれば、emとは要するにfont-sizeの値の
ことだそうですが、これが直接取り出せるAPIが見当たらない
のですよねー。誰か分かる人いたら教えてください。

723 名前:Name_Not_Found 投稿日:2001/08/02(木) 11:28
>>713
その3つのタグだけ有効っていうのは、残りのタグはどうなるの?
たとえば残りの「<」、「>」をすべて「<」「>」にすること
はできるけど、そしたら改行も何もなくなってくっつくよねえ。
どのBBSでもそのBBSなりの加工をして貼り付けているわけで、同じ
に見えるためにはその加工の真似をする必要があるわけだ。その
「仕様」がはっきり分かっているならできると思うけど…そこまで
労力掛けても「投稿前チェック」するだけなのに引き合わないんじゃ
ない?もっとも「こういうものをこう変換したい」と明確に分かって
いるならそれ書くのは(よっぽどヘンなもんでない限りは)簡単だから、
言ってみてくれていいよ。

724 名前:Name_Not_Found 投稿日:2001/08/02(木) 11:34
>>723
うげげ、2ちゃんねるってこうなるのか。訂正します:

残りの「<」、「>」をすべて「<」「>」にすること

725 名前:Name_Not_Found 投稿日:2001/08/02(木) 12:05
ごめんなさい、質問です。
ボタン画像に「このページをホームに設定する」という
機能を付けたいのですが、JavaScriptで可能でしたよね?
ネットや本で調べても方法がわかりません。どうか教えて下さい。お願いします。

726 名前:Name_Not_Found 投稿日:2001/08/02(木) 12:28
>>725
ボタン画像とは何ですか? <input type="image" ...>のこと?

<a href="ホームのURI"><img ...></a>

じゃあ駄目なの?

727 名前:Name_Not_Found 投稿日:2001/08/02(木) 12:32
>>716
show2()だのsto()だのが何であるか分からないようなコード
見せられても困るんだけど…とりあえず、文字がはずむという
のは作ってみました。結構行数多くなってしまった。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; font-size: xx-large; visibility: hidden }
</style>
<script type="text/javascript">
var body, tid, a = new Array();
function Panel(s, x, y, b, v, a, w) {
this.xpos = x; this.ypos = y; this.vy = v; this.wait = w;
this.alpha = a; this.base = b; this.moving = true;
this.elt = document.createElement('div');
this.elt.style.left = x+'px'; this.elt.style.top = y+'px';
this.elt.appendChild(document.createTextNode(s));
body.appendChild(this.elt);
}
Panel.prototype.move = function(dt) {
if((this.wait -= dt) > 0) return;
this.elt.style.visibility = 'visible';
if(!this.moving) return;
this.ypos += this.vy * dt; this.vy += this.alpha * dt;
if(this.ypos > this.base) {
this.vy = this.vy * -0.5; this.ypos = this.base;
}
if(this.ypos > this.base-5 && this.vy*this.vy < 5) {
this.ypos = this.base; this.moving = false;
}
this.elt.style.top = this.ypos + 'px';
}
function init() {
body = document.getElementById('b1');
a.push(new Panel('A', 100, 100, 200, 100, 400, 1));
a.push(new Panel('B', 125, 100, 200, 100, 400, 2));
a.push(new Panel('C', 150, 100, 200, 100, 400, 3));
a.push(new Panel('D', 175, 100, 200, 100, 400, 4));
tid = setInterval(step, 50);
}
function step() {
var flag = false;
for(var i = 0; i < a.length; ++i) {
a[i].move(0.05); if(a[i].moving) flag = true;
}
if(!flag) clearInterval(tid);
}
</script>
</head><body id="b1" onload="init()">
<p>test...</p>
</body></html>

728 名前:Name_Not_Found 投稿日:2001/08/02(木) 13:09
>>727
おお!!すごいです・・・・。
実行して思わず感激してしまいました・・・。
ありがとうございました・・・。
しかし、プログラム見ても、まったく分からない・・・。
すごいですねぇ・・。どういうアルゴリズムで考えましたか??
尊敬のまなざしです・・・。

729 名前:Name_Not_Found 投稿日:2001/08/02(木) 13:14
>>728
アルゴリズムは…物理シミュレーション。物体に速度と加速度
を与えて、基準線のところで反射させる(そのとき速度を半分
にする)。それらしく見せるのにパラメタの調整が大変ですね。

730 名前:リディアの友だち♪ 投稿日:2001/08/02(木) 13:23
>>720
作者さんですか??
会いたかったですよぉ〜!!
前にレスしたのはもう1人の友だちです・・。
私たちは今、分担して作っていますが
私の担当はキャラクターの数をもう1人増やすように
することと戦闘の曲をランダムで流す事です・・・。
結構難しいです。・・・・っていうか、キャラを2人にする方法が
さっぱりわからなくて悩んでます・・。
もしよろしければ何かヒントをもらえないでしょうか??
ここではちょっとと言うのであればメールアドレス教えますので・・・。
また、このスレを見てくれることを祈りつつ・・・・。

731 名前:725 投稿日:2001/08/02(木) 14:03
>>726さん
説明不足でごめんなさい、画像をボタンとして使うだけです。
画像クリックで閲覧者のブラウザのホームに
該当ページを登録させたいのです。
よろしくお願いします。

732 名前:Name_Not_Found 投稿日:2001/08/02(木) 14:16
はじめましてこんにちは。

今度ブラウザ上でゲームを作るつもりなのですが、
ページを表示させる時にスクリプトで
”サーチライト”(刑務所なんかで監視台から照らすライト)
を表示させたいのですけど。

いろんな所に落ちている
”cross”(マウスの現在位置から上下左右に直線を引く)や
マウスの後をつけてくる画像表示のスクリプトを
改造しようと思いましたが、うまくいきません。

どうか御指南よろしくお願いします。

733 名前:Name_Not_Found 投稿日:2001/08/02(木) 14:16
>>731
ホームに登録って…??? JavaScriptでブラウザのお気に入り
等を操作することはできません。できたら大問題ですがな。

734 名前:Name_Not_Found 投稿日:2001/08/02(木) 14:34
>>733
できるが?

735 名前:Name_Not_Found 投稿日:2001/08/02(木) 14:46
>>734
そ、そうなんですか。知りませんでした。逝く前にぜひ教えてください。

736 名前:Name_Not_Found 投稿日:2001/08/02(木) 14:51
>>732
斜めの線っていうのは難しいので、とりあえず十字形で…N6/Mozilla/IE5.5。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; z-index: 5; background-color: black;
width: 1000px; height: 1000px }
</style>
<script type="text/javascript">
var d = new Array(4);
function init() {
for(var i = 0; i < 4; ++i) d[i] = document.getElementById('d'+i);
if(window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove = function(e) { move(e.pageX, e.pageY); }
} else {
document.onmouseover = function() {
move(window.event.clientX, window.event.clientY); }
}
}
function move(x, y) {
d[0].style.left = (x-1010)+'px'; d[0].style.top = (y-1010)+'px';
d[1].style.left = (x+10)+'px'; d[1].style.top = (y-1010)+'px';
d[2].style.left = (x+10)+'px'; d[2].style.top = (y+10)+'px';
d[3].style.left = (x-1010)+'px'; d[3].style.top = (y+10)+'px';
}
</script>
</head><body id="b1" onload="init()">
<div id='d0'></div><div id='d1'></div><div id='d2'></div><div id='d3'></div>
<p>test...</p>
</body></html>

737 名前:Name_Not_Found 投稿日:2001/08/02(木) 15:51
>>736

わざわざスクリプトを書いてくださいましてありがとうございます。
上記のスクリプトでいくつか質問させてください。
1.上から4行目での 1000px とは、画面サイズのことですか?
  つまりは 1000*1000 ということです。
2.クロスされる線の太さはx、yそれぞれの変数に足したり引かれてる
  10 の値を変更すればいいのですか?
  つまりは今の表示されている線の太さが 10 ということです。
3.線ではなく中央に円を表示させるにはどこを変更すればよいのですか?
  ここで私は悩んだのですが・・・
  最初の style の時点で円を指定してやらなければいけないのですか?

度重なるご無理なご指導ですがお願いいたします。

738 名前:734 投稿日:2001/08/02(木) 16:02
お気に入りに追加。
http://www.chibaken.net/java/oki.htm
http://www.microsoft.com/JAPAN/developer/library/jpwebwk/essentials/versions/ICPIE5.htm
ホームページにすることはできないけど。

739 名前:Name_Not_Found 投稿日:2001/08/02(木) 16:10
>>738
うーむ。window.externalなんていうものがあったのですね。勉強になり
ました。ホームページにはさすがにできないのですね、ちょっと安心。

740 名前:Name_Not_Found 投稿日:2001/08/02(木) 16:20
>>737
はいはい。

1. 1000pxは「黒い箱」のサイズです。これが小さすぎるとマウスポインタ
が端に寄った時に目隠しの逆の端が出てしまって興醒めです。って、試せば
いいじゃん! 100px、100pxにして動かすのが一番簡単に理解できます。

2. はい、線の太さですが、マウスポインタの位置から両側に10ずつずらして
ますから、線の太さは20ピクセルですね。これを変えたければ10を変更すれ
ばいいです。って、やってみればいいじゃん!

また、今はちょうど十字路の形に目隠しを配置してますが、箱の位置をずらせ
ば矩形にできますよね。つまり矩形の上下左右を目隠しするように箱の位置を
指定すれば。で、その状態で3に続く…(w

3. 丸にしたければ、透過GIF/透過PNGで「周りが黒くて中央が透明」な画像を
作って、5番目の<div>...</div>の中に入れ、これをマウスカーソルの位置に、
つまりあけてある矩形のところにはめ込むように置けばいいと思います。他
の方法はちょっと思いつきません。

741 名前:Name_Not_Found 投稿日:2001/08/02(木) 16:29
>>740

1.2について
なるほど、4つの門箱で縦横のラインを形成しているわけですね。
よくわかりました、ありがとうございます。

3.について
これはビルダーでも制作可能なんでしょうか?

1.2.については現在ビルダーでいろいろ試しています。

742 名前:Name_Not_Found 投稿日:2001/08/02(木) 16:35
>>741
ビルダーの話題はビルダースレでお願いね。あと、画像は少し大きめに
(「のしりろ」を持たせて)作った方がいいかも。動かす時のタイムラグ
ですき間が見えたら興醒めですからね。

743 名前:Name_Not_Found 投稿日:2001/08/02(木) 16:42
>>742
どうもいろいろありがとうございました。
どうしても分からないことがあればまたきます。
今日はこれにて失礼いたします。

744 名前:Name_Not_Found 投稿日:2001/08/02(木) 17:53
>>742
あのぉ、そのぉ・・・
透過GIF貼りつけたのはいいのですが、
透過した部分がスクリプトの黒色に染まってしまって意味無くなってしまいます。
どうにかなりませんでしょうか?

745 名前:Name_Not_Found 投稿日:2001/08/02(木) 18:04
>>744
おお! とりあえず、その画像を入れているdivだけ

<div style="background-color: transparent" ...>

にしてみてください。なんか場あたり的だな…本当は
もうちょっときれいにスタイルを指定し分ければいいん
ですよね。そうなるとJavaScriptの話題じゃないんで…

746 名前:Name_Not_Found 投稿日:2001/08/02(木) 18:59
画面を表示させているんですが
表示している画像を少し上下に揺らせたいんですが
どうしたらいいですか??

鳥が翼を広げている画像なんですが
少し上下に揺らせて
飛んでるようにしたいんですよ・・・。

747 名前:Name_Not_Found 投稿日:2001/08/02(木) 19:00
>>745

ん〜こんがらがってきてしまいました。
今日はとりあえず休憩します、慣れないもので・・・
もう一度明日やり直してみます。
いろいろありがとうございました。
ちなみに、背景色変更しても駄目でした。

748 名前:Name_Not_Found 投稿日:2001/08/02(木) 19:03
ジャバスクリプトの
デバッグってどうしたらいいですか??

ソフトとかあるんでしょうか??

749 名前:Name_Not_Found 投稿日:2001/08/02(木) 21:30
Netscape4.xならばlocationにjavascript:と入れてコンソールを呼び出せ
Netscape6ならばメニューから呼び出せる。
IEはインターネットオプションでスクリプトのデバッグを有効にすればエラーを通知してくれる

それじゃ不満か?

750 名前:Name_Not_Found 投稿日:2001/08/02(木) 23:34
>>749
そして、N6/Mozillaのメニューから呼び出すJavaScriptコンソールが
一番使いやすいと思う。JavaScript開発のためだけでもMozillaを入れる
価値はあるのではないでしょうか?もちろん普段は好きなブラウザ使ってい
ればいいんだし…

751 名前:Name_Not_Found 投稿日:2001/08/02(木) 23:38
>>746
ガイシュツだが短いので再掲する。ホレ。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
function move() {
var e = document.getElementById('d1');
var x = 90 + Math.floor(Math.random() * 20);
var y = 90 + Math.floor(Math.random() * 20);
e.style.left = x+'px'; e.style.top = y+'px';
}
</script></head>
<body onload="window.setInterval(move,25)">
<div id="d1"><img src="test.png" alt="an-image"></div>
</body></html>

752 名前:Name_Not_Found 投稿日:2001/08/03(金) 00:24
>>751
ありがとうございます・・。
しかし、飛んでいるというよりは地震なんですね。
ランダムで動きますし。

753 名前:709=713 投稿日:2001/08/03(金) 00:48
>>723さん

えーと、つまり<font><A><img>以外は使う必要ないってことです。
例えば

+−−−−−−−−−−−−−−−−+
|赤い字  (←だと思って下さい)|
|大きい字 (←だと思って下さい)|
+−−−−−−−−−−−−−−−−+

と書き込むときに、711さんのやつだと

<font color="#FF0000">赤い字</font><br>
<font size="7">大きい字</font>

と書くんですが、ここで<br>を省略してもプレビュー時に
改行されるようにできたらいいなぁと思っているんです。

つまり上のやつをプレビューすると

+−−−−−−−−−−−−−−−−+
|赤い字<br>           |
|大きい字            |
+−−−−−−−−−−−−−−−−+

となるわけです。

723さんのやつでも十分満足なんですが、欲を言うと…
たしかに労力に見合いませんね。

754 名前:709=713 投稿日:2001/08/03(金) 00:50
↑やはり枠がズレた

しかも下から2行目
723さんでなく711さんです

うぅ

755 名前:Name_Not_Found 投稿日:2001/08/03(金) 01:33
ネスケで「ページを閉じる」動作に対してonUnloadが効かないのは、仕様ですか?

756 名前:Name_Not_Found 投稿日:2001/08/03(金) 10:22
>>753
ほーら聞いてよかったね。あなたがやりたかったことは
「<a><font><img>以外のタグを無効にする」ことではなく、
「改行の個所に<br>を入れたい」ということなんでしょ?
直してみました。これが欲しかったものでしょう?

<html><head><title>???</title>
<script type="text/javascript">
function preview() {
var win = window.open('#', 'preview');
win.document.open();
s = document.forms[0].elements[0].value;
s = s.replace(/\n/g, '<br>');
win.document.writeln(s);
win.document.close();
}
</script>
</head><body>
<form action="#"><p>
<textarea name="area" cols="64" rows="20"></textarea><br>
<input type="button" value="Preview" onclick="preview()">
</p></form>
</body></html>

757 名前:Name_Not_Found 投稿日:2001/08/03(金) 10:25
クリックするとテーブルのある特定のセルだけ
背景色が変えるということは可能でしょうか。
自分でいろいろやってみましたができませんでした。。。

758 名前:Name_Not_Found 投稿日:2001/08/03(金) 10:26
>>752
動く幅を小さくするとか、上下にだけ動かすようにする
とか、乱数をやめて上下に交互に動かすとか、動く時間
間隔を変えるとか、交互じゃ粗いからsin曲線に従って
動かすとか、いくらでも直せると思いますが。そういう
のは自分で気に入るように決めるのがベストだと思います
よ。こういう風に動かしたいけど書き方が分からない、
という質問は歓迎します。

759 名前:Name_Not_Found 投稿日:2001/08/03(金) 10:35
>>755
あれ、駄目ですか?

<body onunload="alert('ok?')">

とかして試してみると、ちゃんとアラートボックスが
出ますよ。ただ、IE5.5とN6/Mozillaではアラートが
出て、OKするとはじめて次のページに行きますが、N4
だとアラートが出るのと一緒に次のページへ行ってし
まいますね。だからonunloadの動作はしてるのだけど
JavaScript実行環境は消されてしまうので一見動作して
ないように見えるっていうことじゃないかなあ。確かに
それだと役に立たないといえば立たないか…

760 名前:Name_Not_Found 投稿日:2001/08/03(金) 10:41
>>757 ホレ。N6/Mozilla/IE5.5用。

<html><head><title>???</title>
<script type="text/javascript">
function chg(i) {
document.getElementById(i).style.backgroundColor = 'red';
}
</script>
</head><body>
<table border="2"><tbody>
<tr><th id="t1" onclick="chg('t1')">A</th>
<th id="t2" onclick="chg('t2')">B</th></tr>
</tbody></table>
</body></html>

761 名前:725 投稿日:2001/08/03(金) 10:45
>>738
遅レスですですみません。
どうもありがとうございました。

762 名前:Name_Not_Found 投稿日:2001/08/03(金) 12:33
age

763 名前:Name_Not_Found 投稿日:2001/08/03(金) 12:56
>>758
すいません
動く時間を5秒だけだとか指定する事は出来ますか??
5秒動いてあとは止まるようにしたいんですが・・・。

こないだ始めたばかりで
まだプログラムのどこの部分が
どういう働きをするのかが
分からないんです・・・。
本当に手を煩わせてしまってすいません。

764 名前:Name_Not_Found 投稿日:2001/08/03(金) 13:09
JavaScriptと他の言語を組み合わせて作る事って出来るんですか??
たとえば、JavaScriptで作ったボタンをクリックすると
perlやVBやCなんかのプログラムファイルを実行できるとか・・・。

765 名前:Name_Not_Found 投稿日:2001/08/03(金) 13:16
>>763
ついでにsin関数で上下に動くようにし、N4にも対応しました。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
var elt, tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt = document.getElementById('d1');
tid = setInterval(move, 30);
setTimeout(function() { clearInterval(tid); }, 5000);
}
function move() {
time += 0.03;
elt.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test.png" alt="an-image"></div>
</body></html>

766 名前:Name_Not_Found 投稿日:2001/08/03(金) 13:19
>>764
ブラウザに内蔵されてるJavaScriptだと難しいんじゃないでしょうか。
あ、Java Appletは組み合わせられます。あと、サーバ側のCGIを呼ぶ
んならそのCGIのURIからロードするだけだからできます。

WSHなんかだとローカルプログラムの起動ができるんだろうけど、私は
WSH知らないのでパス。

767 名前:Name_Not_Found 投稿日:2001/08/03(金) 14:01
関数が不定数の複数の引数を受け取って、それを関数内で使えるようにするには
どのようにしたらよいでしょうか?

768 名前:Name_Not_Found 投稿日:2001/08/03(金) 14:11
>>767
<html><head><title>???</title>
<script type="text/javascript">
function sum() {
var v = 0;
for(var i = 0; i < arguments.length; ++i) v += arguments[i];
return v;
}
</script></head><body>
<p><a href="javascript: alert(sum(1,2,3,4,5))">test</a></p>
</body></html>

769 名前:Name_Not_Found 投稿日:2001/08/03(金) 14:13
ponというところに画像を2秒間だけ
表示させたいんですけど下のようにしたらだめでした。
どうしたらいいですか??

setTimeout(function() { pon[0].src='a.gif'; }, 2000);

770 名前:Name_Not_Found 投稿日:2001/08/03(金) 14:22
>>769
まず差し替える画像は最初に全部取り寄せておいた方が無難です。
あと、このpon[0]はどっから来てるの?ソース全部示すか、長すぎ
るようなら要点が分かる程度に示して欲しいな。それで、2秒間と
いうのはページが表示されてから最初の2秒間? 最後に、表示され
なくなった時点ではそこは「別の画像」が来るの?まるきり表示さ
れないの?まるっきり表示されなくするんならvisiblityを制御する
方がいいと思いますよ。たとえばこんな感じ?N4/N6/Mozilla/IE5。

<html><head><title>???</title>
<style type="text/css">
div { position: relative }
</style>
<script type="text/javascript">
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
}
function hide() { document.getElementById('d1').style.visibility = 'hidden'; }
</script></head>
<body onload="setTimeout(hide, 2000)">
<div id="d1"><img src="test.png" alt="an-image"></div>
</body></html>

771 名前:Name_Not_Found 投稿日:2001/08/03(金) 14:32
>>765
本当にありがとうございました。
最後にもう1つ・・・。
下にもう1つ表示させる
画像を追加したいのですが
どうしたらいいでしょうか??

772 名前:Name_Not_Found 投稿日:2001/08/03(金) 15:18
>>771
そんなの…
(1)<div>...</div>追加。idは変えてね。
(2)要素を保持する変数eltをもう1つ別の名前で増やす。
(3)init()でのその初期設定も増やす。
(4)move()で好きなように動かす。
これくらいできなきゃダメじゃん。何か問題ある?

773 名前:Name_Not_Found 投稿日:2001/08/03(金) 16:03
スレ違いかもですがKW-SITEってどこ行ったんですか?

774 名前:Name_Not_Found 投稿日:2001/08/03(金) 16:24
>>760
ありがとうございました。
ところで、
<script language="JavaScript">より
<script type="text/javascript"> のほうがいいのでしょうか?

775 名前:Name_Not_Found 投稿日:2001/08/03(金) 16:45
>>774
HTML 4的にはscript要素にはtype属性が定義されているが
language属性は定義されていない。よってtype属性を使うのが
正しい。ただしJavaScript言語の版を使い分けるため(たとえば
このコードはJavaScript1.2以降用とか)には、language属性に
たよる必要がある。でもこのスレでそんなことやってる人は見た
ことがないようだ…

776 名前:732 投稿日:2001/08/03(金) 17:20
>>745

今日改めて作り直しました。
一応これで予定通りになりました、ありがとうございます。
ここからもう少し簡略化できるでしょうか?

<TITLE>ans1</TITLE>
<style type="text/css">
div { position: absolute; z-index: 5; background-color: black;
width: 1024px; height: 768px }
</style>
<script type="text/javascript">
var d = new Array(5);
function init() {
for(var i = 0; i < 5; ++i) d[i] = document.getElementById('d'+i);
if(window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove = function(e) { move(e.pageX, e.pageY); }
} else {
document.onmouseover = function() {
move(window.event.clientX, window.event.clientY); }
}
}
function move(x, y) {
d[0].style.left = (x-80)+'px'; d[0].style.top = (y-828)+'px';
d[1].style.left = (x+80)+'px'; d[1].style.top = (y-60)+'px';
d[2].style.left = (x-1104)+'px'; d[2].style.top = (y-708)+'px';
d[3].style.left = (x-944)+'px'; d[3].style.top = (y+60)+'px';
d[4].style.left = x-80;d[4].style.top = y-60;
}
</script></HEAD>
<BODY id="b1" onload="init()" bgcolor="#339933" text="#99ff66" link="#ffff66" vlink="#ffcc00" alink="#ffffff">
<div id='d0'></div>
<div id='d1'></div>
<div id='d2'></div>
<div id='d3'></div>
<div style="background-color: transparent" id='d4'><IMG src="hoo.gif"></div>
<p>test...</p>
</BODY>
</HTML>

777 名前:Name_Not_Found 投稿日:2001/08/03(金) 17:28
>>776
ほとんどそのままなんだから改めて貼らなくても…あのね、topとかleftとか
に入れる値は単位がついているべきなんで、「(x-80)+'px'」等とした方がいい
ですよ。しかし皆さんbodyタグで色指定るの好きですねえ。まあ別にいいですが。

778 名前:732 投稿日:2001/08/03(金) 17:30
すいません、肝心な事忘れていました・・・

1、このブラウザゲームは640*480で動かすつもりなんですが
  その際、黒い箱の大きさは640*480でないといけませんか?
  また、640*480よりも小さいとどうなりますか?
2、640*480指定で開いているのに、操作者がブラウザを
  最大化した時には黒い箱はどうなりますか?
3、あんまり画面の端の方(下及び右)に行くと箱の表示が変になります。
  これは箱の値を大きくしないといけませんか?

どうかよろしくおねがいいたします。

779 名前:732 投稿日:2001/08/03(金) 17:38
あの〜、重大な点が・・・

4、透過GIFから覗いてる部分をクリックできないんです。
  これができないとホントに先に進めません(泣
  リンクをクリックするにはどうすれば・・・?

780 名前:Name_Not_Found 投稿日:2001/08/03(金) 18:52
>>779
爆笑!あなたそんなこと言ってなかったじゃない〜。そりゃ
透過GIFであろうと画像があるんだから向こう側をクリック
するのは困難だよね。四角い穴で我慢するか、どうしても
丸くしたければonmousemoveだけじゃなくonmousedownも取る
ようにして自前で何をクリックしてるか判定するとかさ。
XY座標は取れるんだから、何をどこに配置とか決まっていれば
判定はできるよねえ。

またはクリックしたら数秒間画像をどけて、もっかいクリック
させる?それは嫌っぽいな…

黒い箱の大きさは指定した通りの大きさで、ブラウザ窓の大きさ
を変えようが何しようがそのまんまです。なんだから、方眼紙
に図を書いて考えましょうよ。私だってそんなに考えてない
から、そらで回答なんか思いつかないよ〜。

781 名前:暗号 投稿日:2001/08/03(金) 19:05
何となくJavascript関係のページ見てたらescapeとunsecapeを使って文字コード変換をすると言うのがありましたけど他にこのような変換⇔解読を行える方法ってあるのでしょうか?
もしあるなら教えてください。

782 名前:ともくん 投稿日:2001/08/03(金) 19:22
こんにちは(^^)/。
さっそくですが、性格診断みたいなやつの作り方を教えてください。

783 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:33
>>772

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
var elt, tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt = document.getElementById('d1');
tid = setInterval(move, 30);

}
function move() {
time += 0.03;
elt.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test.png" alt="an-image"></div>




div { position: absolute; top: 200px; left: 200px }
</style>
<script type="text/javascript">
var elt2, tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt2 = document.getElementById('d1');
tid = setInterval(move, 40);

}
function move() {
time += 0.03;
elt2.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test2.png" alt="an-image"></div>

</body></html>

と言うふうにしてみましたが
できませんでした・・・。

784 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:38
>>772

こうしたら出来ましたが
2つとも独立させて動かすには
Sinの位相をずらすしか
ありませんか??

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
var elt, tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt = document.getElementById('d1');
tid = setInterval(move, 30);

}
function move() {
time += 0.03;
elt.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test.png" alt="an-image">



<style type="text/css">
div { position: absolute; top: 200px; left: 200px }
</style>
<script type="text/javascript">
var elt2, tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt2 = document.getElementById('d1');
tid = setInterval(move, 40);

}
function move() {
time += 0.03;
elt2.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test2.png" alt="an-image"></div>

</body></html>

785 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:44
>>727
プロトタイプなんとか〜ってところを教えてください

786 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:48
>>784
位相より角速度(time*10の10)を変えたらどうです?
しっかし、ここまで2つコピーしなくてもいいような。
もーちょっと修行しましょうよ。

787 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:54
>>785
function MyObj(...) {
this.value = ...;
this.method = function(...) { ... }
}

というふうにして「new MyObj(...)」でオブジェクトを作りますよね。
このときvalueとかmethodとかはオブジェクトごとに値を保持してる
わけです。でも全部のMyObjオブジェクトで共通の定数とか、共通の
メソッドなんかは、1箇所に入れた方が美しいわけです。

MyObj.prototype

というオブジェクトは関数を作ると自動的に用意されますが、ここに
そういう共通するものを入れておけば共有されます。

MyObj.property.sharedValue = ...;
MyObj.property.commonMethod = function(...) { ... }

788 名前:Name_Not_Found 投稿日:2001/08/03(金) 19:59
>>781
escape()とunescape()はURL符号化とその解読ですね。同様のもの
として文字コードをUTF-8にしてからURL符号化するencodeURIComponent()
とdecodeURIComponent()があります。でもこれらは暗号じゃあないです
から。分かってる人なら解読するのも簡単です。解読が困難なように
するのは標準では無いです。Mugiさんのページとかに行けばいろいろ
あったと思うけど。

789 名前:Name_Not_Found 投稿日:2001/08/03(金) 20:01
>>782
もうちょっと具体的に言ってくれないとねえ。ブラウザの前に座って
いる人の性格が分かる関数なんかは、当然ないです(w

790 名前:Name_Not_Found 投稿日:2001/08/03(金) 20:16
>>786
修行不足ですいません・・・。
2つめの角速度(time*10の10)を変えたんですが
それが1つめの画像にも影響してしまいます・・・。
やっぱり、あのソースは間違いなんでしょうか・・・。

791 名前:Name_Not_Found 投稿日:2001/08/03(金) 20:39
>>790
お気の毒ですが…もしあれがコピペし損ないでないのなら、はっきり言って
ボロボロです。<body onload="init()">が2つあるわ、
function init() {... も2つあるわ…元のソースに戻って、
次の箇所「だけ」を増やすようにしましょう。

(1)<div>...</div>の1行。idは新しくする。
(2)elt2の宣言。
(3)elt2の初期設定。
(4)elt2.style.topの設定。

つまり3行とちょっとしか増えないはずです。頑張ってください。

792 名前: 投稿日:2001/08/03(金) 20:39
センセイ モシカシテ マミヤサン?

793 名前:Name_Not_Found 投稿日:2001/08/03(金) 23:11
>>791

以下のようにしてみましたが
どうしてもダイブイーグルが
飛んでくれません・・・。どうすればいいですか??


<html><head><title>飛んでる敵・2匹</title>
<style type="text/css">


div { position: absolute; top: 100px; left: 100px }
div2 { position: absolute; top: 200px; left: 200px }
</style>


<script type="text/javascript">


var elt,elt2,tid, time = 0, suf = 'px';



if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}



function init() {

elt = document.getElementById('d1');
elt2 = document.getElementById('d2');

tid = setInterval(move, 30);
}



function move() {
time += 0.03;

elt.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
elt2.style.top = (Math.floor(10*Math.sin(time*20)) + 100)+suf;

}



</script></head>
<body onload="init()">

<div id="d1"><img src="フロータイボール.gif" alt="an-image"></div>
<div2 id="d2"><img src="ダイブイーグル.gif" alt="an-image"></div>

</body></html>

794 名前:753 投稿日:2001/08/04(土) 01:09
遅レスすいません。

>>756さん

感動して目頭が熱くなりました。
本当に聞いてよかったです。

自分も少しは勉強しなくちゃいけませんね。

あらためて、どうもです。

795 名前:732 投稿日:2001/08/04(土) 01:10
>>780

はぁ、この時間までずっと頑張ってましたけどうまく解決できませんでした。
2度クリックはしんどいので、白箱の外側にgif4枚貼りつけることで円形に
する方法で解決する見込みです。2度クリックもアイデア次第では面白いかも。
(ガラスを開ける→取る みたいな)
あと、どうしても画面端に行くと箱の動きがおかしくなるんです。
これに関してなにかイイ知恵ありませんでしょうか?

今日はここまでで寝ます。御指南有難うございました。

796 名前:Name_Not_Found 投稿日:2001/08/04(土) 01:17
move cross engine for NS 4+

これってなんですか?

797 名前:102 投稿日:2001/08/04(土) 03:07
始めまして。
連想配列のクリアや要素の削除ってどうやればいいでしょうか。

var the_array = new Array("a":1, "b":2);

なんてのがあるとして、

the_array["a"]だけを削除してthe_array["b"]だけを残したい。
the_array == {}にしたい。

よろしくお願いします。

798 名前:Name_Not_Found 投稿日:2001/08/04(土) 03:43
ある画像をクリックすると、別にある
ただ文字が入っただけのブロック要素を消したいんですけど
どうしたら良いですか?

799 名前:Name_Not_Found 投稿日:2001/08/04(土) 11:03
<html>
<head>
<script type="text/javascript">
<!--
function kesu(){
test.style.visibility="hidden";
}
//-->
</script>
</head>
<body>
<a href="#" onClick="kesu()"><img src="arugazou.gif"></a>
<div id="test" style="position:absolute;left:100px;top:100px;width:100px;height:100px;visibility:visible;">あ</div>
</body>
</html>
>>798
意味が分からん。
とりあえず勝手に判断して作ってみたナー。

800 名前:Name_Not_Found 投稿日:2001/08/04(土) 11:33
>>793
惜しかったですね。まずHTMLにdiv2なんていうものはないです。
全部<div>...</div>にしましょう。ですから、スタイル指定も
1つのdivでいいのです。場所変えるのはelt.style.top/left、
elt2.style.top/leftをいじくればどうにでもなるでしょ?

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; top: 100px; left: 100px }
</style>
<script type="text/javascript">
var elt,elt2,tid, time = 0, suf = 'px';
if(!document.getElementById) {
document.getElementById = function(i) {
var e = document[i]; e.style = e; return e; }
suf = '';
}
function init() {
elt = document.getElementById('d1');
elt2 = document.getElementById('d2');
tid = setInterval(move, 30);
}
function move() {
time += 0.03;
elt.style.top = (Math.floor(10*Math.sin(time*10)) + 100)+suf;
elt2.style.top = (Math.floor(10*Math.sin(time*20)) + 100)+suf;
}
</script></head>
<body onload="init()">
<div id="d1"><img src="test1.png" alt="an-image"></div>
<div id="d2"><img src="test.png" alt="an-image"></div>
</body></html>

801 名前:Name_Not_Found 投稿日:2001/08/04(土) 11:43
>>795
なるほど、4枚貼るっていうのはアイデアですね。しかし、右/下端に
来るとおかしくなるというのがどうも分かりません。自分の手もと
(N6/Mozilla/IE5.5)では再現しないので…OSとブラウザは何ですか?
あと、目隠しのサイズを小さくしたら(たとえば100x100)、右/下端に
100、100寄るまでは正常なのですか? もしそうなら、箱のサイズを画
面から大幅に出ないように位置と一緒に制御すると大丈夫になるかも
知れませんね。幅は「要素.style.width」、高さは「要素.style.height」
です、もちろん。

802 名前:Name_Not_Found 投稿日:2001/08/04(土) 11:56
>>797
「new Array("a":1, "b":2)」っていう構文はおかしいと思う…
それを書くなら「{a:1, b:2}」でいいんでは?次に、特定の
プロパティを消去するのは、たとえば上記オブジェクトが変数
xに入っているとして

delete x.a;

なんてすればいいのでは。全部消去してbだけ残すんならforを使って

for(var p in x) if(p != 'b') delete x[p];

こんな感じ?

803 名前:Name_Not_Found 投稿日:2001/08/04(土) 12:06
長いプログラムの中で
A.src='a.png';が入っていたんですが
それを消すのに
A.src=' ';としてみると、画像は消えるんですが
画像の存在を示す×マークが残ってしまいます。
×マークも消すにはどうすればいいでしょうか??
つまり何もないようにしたいのです・・。

804 名前:Name_Not_Found 投稿日:2001/08/04(土) 12:10
>>803
せっかくのスレなんだからガイシュツかどうかくらい見ようよ。
>>770 がほぼそのまま使えるんじゃないの?

805 名前:Name_Not_Found 投稿日:2001/08/04(土) 12:11
>>804
あと、>>799 の「あ」のところに画像を入れておけばそれでも消せるし。

806 名前:らくらぶ 投稿日:2001/08/04(土) 12:15
>>803
その「長いプログラム」のどこかに、A自体を定義しているとこが
あるとおもうから、そこを消してみてん。
もしくはhtmlを記述してるとこに、Aを表示させろ!みたいな
とこがあるとおもうけん、そこを消せばよし!
ソースみないと、どこをけせばいい、とかないけん
こればっかは、 803 さんががむばって試行錯誤してね。

んぢゃー。

807 名前:803 投稿日:2001/08/04(土) 13:18
>>804-806

さっぱりわからなかったので
透明の絵に変えたら
うまくいきました!!

808 名前:732 投稿日:2001/08/04(土) 13:18
>>801
おはようございます・・・こんにちはですね・・・

http://k-free.com/javatest/javatest.htm

適当な所借りてみました、これで確認してみてください。

こちらの環境ですが、win98,ie5.5です。

809 名前:Name_Not_Found 投稿日:2001/08/04(土) 13:33
>>807
js以前にhtmlを理解しているか迷わせる文言だ‥‥

810 名前:732 投稿日:2001/08/04(土) 13:33
>>801

具体的に申しますと、ブラウザのバーを動かさないと行けない場所に
行った時点で表示がおかしくなるのです。
根本的な原因はやはり箱の大きさにあるのでしょうか?

811 名前:Name_Not_Found 投稿日:2001/08/04(土) 14:24
>>801
ああ、ようやく理解しました!まさかスクロールバーでスクロールさせる
ほど大きい画面であれをやると思っていなかったです。もちろん、スクロ
ールのことは全然考えていなかったのでおかしくなって当然ですね。で、
対策ですが、スクロール位置を取得してその分ずらせばOKだと思います。
N6/MozillaとIEで違いますのでハンドラの中でやった方が簡単かな。最初の
バージョンをそのように直してみました。IEではbody要素を取得しておく
必要がありますので、変数bの宣言と初期設定が追加になってるのに注意。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; z-index: 5; background-color: black;
width: 1000px; height: 1000px }
</style>
<script type="text/javascript">
var d = new Array(4), b;
function init() {
b = document.getElementById('b1');
for(var i = 0; i < 4; ++i) d[i] = document.getElementById('d'+i);
if(window.captureEvents) {
window.captureEvents(Event.MOUSEMOVE);
window.onmousemove = function(e) {
move(e.pageX+window.pageXOffset, e.pageY+window.pageYOffset); }
} else {
document.onmouseover = function() {
move(window.event.clientX+b.scrollLeft,window.event.clientY+b.scrollTop);}
}
}

function move(x, y) {
d[0].style.left = (x-1010)+'px'; d[0].style.top = (y-1010)+'px';
d[1].style.left = (x+10)+'px'; d[1].style.top = (y-1010)+'px';
d[2].style.left = (x+10)+'px'; d[2].style.top = (y+10)+'px';
d[3].style.left = (x-1010)+'px'; d[3].style.top = (y+10)+'px';
}
</script>
</head><body id="b1" onload="init()">
<div id='d0'></div><div id='d1'></div><div id='d2'></div><div id='d3'></div>
<p>test...</p>
</body></html>

812 名前:Name_Not_Found 投稿日:2001/08/04(土) 14:32
>>811
わー!ポカをやりました。上記の修正はIEでのみ必要で、
N6/Mozillaでは元のままのが正しいです。うーん、難しい。
ところでJavaScriptのテストにjavatestという名前をつけ
られるのはすごくもにょもにょするのですが…

813 名前:732 投稿日:2001/08/04(土) 17:58
>>812

あ、こうすればよかったのですね?
本当に有難うございました。やっと一歩前に進めそうです。

え?亀レス?この時間まで何をしていたのかと申しますと・・・
アップしていたところのパスワードを書いてあったメールを削除してしまい
右往左往していたのです。結局見つかりましたがまだあっちは直してません。

もにょもにょですか・・・よく分からないんですけど・・・
その感覚は好きな女の子の前で恥ずかしがるような感じみたいなものですか?
それとも小便したくても我慢せざるをえないような感じですか?

なんにせよ有難うございました。

814 名前:夏厨 投稿日:2001/08/04(土) 18:47
厨房です。ごめんなさい。教えてください。
a = "<IMG SRC='giko.gif'>";
b = "<IMG SRC='mona.gif'>";
と変数に文字列を入れて
document.write(a,b);
を実行するとそれぞれのイメージタグを吐き出してくれるのですが
document.write(1,2);
と書いて上と同じ結果を得るにはどうしたらよいのでしょうか。
どうしても文字ではなく数字を使いたいのですが…。

815 名前:Name_Not_Found 投稿日:2001/08/04(土) 19:06
>>814
絶対にできませんね。

a[1] = '<img ...>';
a[2] = '<img ...>';
document.writeln(a[1]+a[2]);

くらいで我慢しませんか。

816 名前:Name_Not_Found 投稿日:2001/08/04(土) 19:16
参考書を見て↓の現在の日時を表示するスクリプトをつくったのですが、
8月なのに"7月"と表示されます。どこがおかしいのでしょうか。PC内蔵時計はあってるのですが。

<html><head><title>?</TITLE>
<script language="JavaScript">
<!--
function Tadaima(){
Ima = new Date();
nen = Ima.getFullYear();
gat = Ima.getMonth();
nit = Ima.getDate();
day = new Array("日","月","火","水","木","金","土");
yob = day[Ima.getDay()];
jik = Ima.getHours();
hun = Ima.getMinutes();
byo = Ima.getSeconds();
document.form1.nichiji.value= nen +"年 "+ gat +"月 "+ nit +"日"+"("+ yob +")"
+" "+ jik +"時 "+ hun +"分 "+ byo +"秒";
setTimeout("Tadaima()",1000);
document.form1.burauza.value = navigator.appName;
}
//-->
</script>
</head>
<body onLoad="Tadaima()">
<form name="form1">
<input type="text" name="nichiji" size="50">
</form>
</body></html>

817 名前:814 投稿日:2001/08/04(土) 19:16
やっぱり無理でしたか。あきらめますー。
ありがとうございました。

818 名前:Name_Not_Found 投稿日:2001/08/04(土) 19:42
>>816
これもガイシュツなんだけど…JavaScriptのDateクラス使った
場合、月は0〜11で表わされます。だから「7」でちゃんと8月なの。

819 名前:815 投稿日:2001/08/04(土) 20:01
>>817
撤回します。次のようにdocument.writeに自分で作った関数を
入れて良ければ何とかなります。しかしふつーのdocument.write
が使えなくなるので結構困るけど。ほとんど冗談の世界ですが。

var a = new Array(3);
a[1] = 'test 1';
a[2] = 'test 2';
document.write = function() {
for(var i = 0; i < arguments.length; ++i)
document.writeln(arguments[i]);
}
document.write(1, 2);

820 名前:816 投稿日:2001/08/04(土) 20:36
>>818
vol.1から全部を見るのはたいへんなので、どの辺に出てたか教えていただけませんか。

821 名前:Name_Not_Found 投稿日:2001/08/04(土) 20:57
>>816
たとえばvol.2 の87近辺とかかな…何がガイシュツか
と言われるとちょっと困るかな。

822 名前:Name_Not_Found 投稿日:2001/08/04(土) 21:55
>>787
とってもとってもよくわかりました!!
それでですねぇ、>>727の関数リテラルの中の処理が???なんです。
alpha や vy っていう変数は何でしょうか?
プログラムを書く時はコメントを書いてくれるとうれしいのですが...
//やはり物理のおべんちょしたほうがいいかナァ 加速度がどうのこうの〜とか

823 名前:Name_Not_Found 投稿日:2001/08/04(土) 22:02
>>818
多くの言語では、月と曜は0から始まります
なぜならば、この二つは
>>day = new Array("日","月","火","水","木","金","土");
とやっているように、文字列に直すことが多く、配列の添字は0から始まるから。

(月が0から始まるというのは)既出とかではなく、
言語のかなり基本部分なので、たいていの解説書で触れているはず。
書かれてないような解説書は、日付の扱いを取り上げてないか、
当然のことだからあえて言うまでもないと省いたかのどちらか。

824 名前:823 投稿日:2001/08/04(土) 22:03
ぁぅ、818ではなく、>>816

825 名前:Name_Not_Found 投稿日:2001/08/04(土) 22:24
>>822
はい、物理のお勉強ですね。まず、文字が「落ちて」くるっていう
ことは、下に行くほど速く落ちなければ変でしょう?速さはだいたい
Vで表します。縦方向っていうのはY軸だから、Y方向の速度でvy。
そして、時間が経つほど速度が増すので、dt時間ごとに比例定数を
αとして、α・dtだけ増すことにします。つまりvy += α・dt。
そして、跳ね返る時は向きが正反対になるのだから、vyの符号を
反転する…つまり -1.0 を掛ければいいんだけど、それじゃ完全な
反射だからちょっと遅くする。つまり -0.5 とか適当にそれらしい
値を掛ける。

で、ここまではずっとvyを計算してきましたが、上下方向の位置つまり
Y座標の値をyで表すとすると、yは速度が大きいほど速く変化するわけ
ですよね。だから速さなんだもんね。で、これは y += vy・dt で表せる
わけ。距離=速さ×時間って習ったよねえ。

826 名前:Name_Not_Found 投稿日:2001/08/04(土) 22:29
>>823
月番号が0からってのは当然ですかね?だって日番号は1から
始まりますゼ。英語では月は番号で呼ばない(January, Februay, ...)
ということに思い至らないと分からないんだよね。そして思い至ると、
日本みたいに番号で呼ぶ国のことも考えてくれぇぇぇぇぇ!と叫んでしまふ。

827 名前:815 投稿日:2001/08/04(土) 22:34
>>819
わー!間違えた。

(誤) document.writeln(arguments[i]);

(正) document.writeln(a[arguments[i]]);

828 名前:Name_Not_Found 投稿日:2001/08/04(土) 23:54
ここのスレをみて、今日の夜8時からジャバスクリプトをしようと
決心したんですけど、最初はどんな本を読んだらいいですか??
ちなみにプログラム経験は全く無しです。

829 名前:Name_Not_Found 投稿日:2001/08/05(日) 00:13
>>828
本の話題 >>1-10 しかしあんまり出てませんね。
この本オススメという話題もっと出てもいいんでは…

830 名前:Name_Not_Found 投稿日:2001/08/05(日) 00:19
>>829
スマソ、>>1-31 くらいでした。

831 名前:Name_Not_Found 投稿日:2001/08/05(日) 00:24
>>828
とりあえず一番分厚い本を買え
あとなるべくまだ発売されてあんまり立ってないやつ
間違っても薄いやつにするな

832 名前:Name_Not_Found 投稿日:2001/08/05(日) 00:42
>>831
初めから分厚いの買うとやる気が消えないか??
1色刷りで字も小さいし。出来るだけ新しくて
カラフルで薄いのがいいと思うぞ!!

833 名前:Name_Not_Found 投稿日:2001/08/05(日) 01:16
>>828
例くらい上げてやれよ・・。

834 名前:823 投稿日:2001/08/05(日) 01:26
>>826
プログラミングの常識≠一般常識ではないし。
一般的かどうかはともかく、日本でも葉月とか長月とかいうものはあるから
月名に数字とは別の呼び名を持たせるという考えはわりと世界的にあるんじゃないかな
月と日と時間は意外に概念が違うと。

プログラミング初めてまず、添え字が0で始まるというところに違和感あったり
中には1から始まる言語もあるようだし

>>828
そういや、Web製作のためのリンクor図書スレッドってないですね
「JavaScriptという言語」に対してならオライリー、
HTMLを操作するためのJavaScript、ということなら解説本、
付録でリファレンスのついてない解説本(Tips本)は存在を無視すべし。

ぼくはオライリーと、良書ではないが「ホームページに今すぐ活かせる〜」

835 名前:Name_Not_Found 投稿日:2001/08/05(日) 01:35
>>834
web制作に役立つサイト
http://natto.2ch.net/test/read.cgi?bbs=hp&key=979571474&ls=50

図書スレッドは沈んで倉庫に。
推薦図書/必読書
http://mentai.2ch.net/test/read.cgi?bbs=hp&key=960120870
ダメ本スレ
http://mentai.2ch.net/test/read.cgi?bbs=hp&key=969967020

836 名前:798 投稿日:2001/08/05(日) 01:59
>>799さま
分かりづらい質問ながら答えてもらってすみません。
まったくその通りでした。ありがとう。

837 名前:id="ejiru" 投稿日:2001/08/05(日) 02:05
最近次から次へとJS本がでてるけど、
みんな同じことしか書いてないような気がしない?
で、>>5の本まだ出ないのぉ?

838 名前:799 投稿日:2001/08/05(日) 02:05
>>836
たまたまPC開いたらgoodtiming!!(マジ)
ドウイタシマシテ
寝ます。

839 名前:Name_Not_Found 投稿日:2001/08/05(日) 02:58
同じことしか書いてないと優香、ほとんどチンピラ
だと思う。

840 名前:Name_Not_Found 投稿日:2001/08/05(日) 12:00
>>837
ウーン、そろそろ本屋さんに並んでもいい頃なんですが…

841 名前:Name_Not_Found 投稿日:2001/08/05(日) 14:22
txtファイルやhtmlのソースなんかが
すごい大きなサイズの場合、例えば、その中から
a[1] = 'test 1'; と言う部分だけを探したい時
その文字の部分の色が変わって
書かれている場所を教えてくれるような
ソフトを探しているんですけど、ありませんか??

vectorなんかで検索しようにも
どういう名前で検索したら言いかが分かりません。

だれか愛の手を・・・。

842 名前:Name_Not_Found 投稿日:2001/08/05(日) 15:04
spcファイルを鳴らしたいんですが
なんかいい方法ありますか??
spcをmidに変換ってできませんよねぇ・・・・。

843 名前:816 投稿日:2001/08/05(日) 17:29
>>823,>>826
ご指摘の通り曜日と同じ処理をしたらうまくできました。ありがとうございます。

844 名前:Name_Not_Found 投稿日:2001/08/05(日) 17:33
フォームを使う処理で、たとえば
<form name="form1"></form> <form name="form2"></form>
と並べると、改行されて間が空いてしまいますね。
1つにまとめられればいいですが、どうしても2つにしなくてはならないときに
間を空けずにレイアウトする方法はありますか?

845 名前:Name_Not_Found 投稿日:2001/08/05(日) 18:25
>>841
キーワードは「テキストヴューアー,テキストエディタ,grep」といったあたりで.

>>844
スタイルシート.というか,この質問自体 JavaScript とあまり関係がない.

846 名前:Name_Not_Found 投稿日:2001/08/05(日) 19:16
>>837
激しく同意。
「これ!」といったのが無いよね。

847 名前:Name_Not_Found 投稿日:2001/08/05(日) 21:42
今日はプログラムの質問が来ないぞ!

848 名前:はうら 投稿日:2001/08/05(日) 22:48
はじめまして、はうらと言います。
よろしくお願いします。

【ページを移動すると、元のページが閉じる】
っていうのは、実現可能なのでしょうか?

窓Aがあり、窓Aから窓Bを開く。
窓Bからフォーカスを窓Aに戻すと
窓Bが閉じる。

↑こういう事がしたいのです。

JAVAスクリプトの onUnload と window.close()
を使って試してみたのですが、出来ませんでした。
JAVAスクリプトはいまいち、よく理解していない為
書き方がマズかったのかもしれませんが、根本的な所で
間違っているのかもしれません。
<body onUnload="window.close()">
↑このように書いてみたのですが・・・

<SCRIPT>
<!--
onUnload="window.close()";
// -->
</SCRIPT>
↑これをヘッダ内にも書いてみたりしました。

もしかすると、恐ろしく基本的な事なのかもしれませんが
わかる方いらっしゃいましたら、宜しくお願いします。

849 名前:Name_Not_Found 投稿日:2001/08/05(日) 22:58
>>847
フォーカスが外れた時起動されるハンドラはonunload
ではなくonblurです。body要素の属性をonblurに直し
てみては?

あと、HTMLでは属性の大文字小文字は問題にならない
のですが、JavaScript側では問題になります。で、たぶん
全部小文字で書かないと動作しないんじゃなかったかな。
うろ覚えですけど。

850 名前:はうら 投稿日:2001/08/05(日) 23:20
>>849 さん
ありがとうございます。
無事解決する事が出来ました。

使うのが違うって・・・
予感的中、恐ろしく基本的な事でした・・・(鬱

初歩的な質問にレス下さってありがとうございました。

851 名前:Name_Not_Found 投稿日:2001/08/06(月) 02:02
独習Javaという
本がありますよね。
独習Javaスクリプトという本はあるんでしょうか??

852 名前:Name_Not_Found 投稿日:2001/08/06(月) 02:22
>>851
MYCOMから出てる「1週間でマスターするJavaScript」
ってのはありますが。
まあなんとなく基本はわかりますよ。

あとはリファレンス集とか参考にしたり、
いろんなサイトからソースぱくったりしつつ精進。。

853 名前:Name_Not_Found 投稿日:2001/08/06(月) 08:57
と言うか、識者の皆様は、一番最初Javascript始める時、
どの様にして入られたのですか?本?それとも何かで
習われたとか?やっぱ習うべきですか。

854 名前:Name_Not_Found 投稿日:2001/08/06(月) 09:02
JavaScriptを専門で教えてるところなんてあるのかな。
あるんならどういう内容なのか知りたい〜。

もっとも、プログラミングに入門するのにJavaScript
ってちょっといいと思うんだけどなー。

855 名前:Name_Not_Found 投稿日:2001/08/06(月) 12:52
>>832
じゃあ、良いカラー刷りの本1冊選んで下さい。
僕を含む、ここに来てる素人衆はソレ1冊買えば、
「テキスト●ページ見て」みたいなことができますNE。名案。

856 名前:734 投稿日:2001/08/06(月) 12:53
>>725
探したらありました。

指定URLをスタートページにする
http://203.141.192.39/special/003/

857 名前:Name_Not_Found 投稿日:2001/08/06(月) 13:01
すいません、JavaScriptとDHTMLとの
関係がわかりません。初心者です。教えてください。

858 名前:Name_Not_Found 投稿日:2001/08/06(月) 13:18
>>857 激しくガイシュツだな。>>606-608

859 名前:Name_Not_Found 投稿日:2001/08/06(月) 13:49
>>857
stylesheetをjavascriptでイジリ倒すのがdhtml。
カナーリ叩かれそうだが、こう思っておけ。

860 名前:Name_Not_Found 投稿日:2001/08/06(月) 13:57
>>859
スタイルシートとまったく関係のない例。

<html><head><title>???</title>
<script type="text/javascript">
function step() {
var elt = document.getElementById('i1');
var c = elt.firstChild.data.substring(0, 1);
var s = elt.firstChild.data.substring(1);
elt.firstChild.data = s + c;
}
</script>
</head><body onload="setInterval(step,50)">
<h1 id='i1'>This is a pen....</h1>
</body></html>

861 名前:Name_Not_Found 投稿日:2001/08/06(月) 18:28
>var a = [70, 100, 70, 70, 100, 70, 100, 100], elt, count;

上の方で見つけたんですが、変数にこんな沢山値を入れれるんですか?
しかもその働きがワカリマセン。

862 名前:Name_Not_Found 投稿日:2001/08/06(月) 20:17
>>861
えー、[値, ...] というのは配列リテラルです。だからそこんところは次のと同じ。

var a = new Array(8);
a[0] = 70; a[1] = 100; a[2] = 70; a[3] = 70;
a[4] = 100; a[5] = 70; a[6] = 100; a[7] = 100;

短い方がいいでしょ?

863 名前:Name_Not_Found 投稿日:2001/08/06(月) 20:19
ただの配列

864 名前:861 投稿日:2001/08/06(月) 20:35
>>862
丁寧に書いてくれたので理解できました。
どうもですm(_ _)m

865 名前:Name_Not_Found 投稿日:2001/08/06(月) 23:59
オイッ、だから普通の配列と同じように扱えるんだってば…

866 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:07
>>865
その説明で分かると思うか?オブジェクト指向言語に慣れてないと
結構つらいと思うのだけど…

for(var i = 0; i < 7; ++i)
document.writeln(['Sun','Mon','Tue','Wed','Thr','Fri','Sat'][i]);

とかこういう例でも挙げた方がいいのかな…

867 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:10
オブジェクト指向でなくてもどんな言語にも配列はあるでしょぉ

868 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:17
>>867
その通り。しかし「変数に配列値を入れたとたんに配列として
使える」というのは型のないオブジェクト指向ならではでしょ?

Cの場合: ○int a[] = {1,2,3,4,5}; ×int i = {1,2,3,4,5} ×int a[] = 5;

JSの場合: ○var a = [1,2,3,4,5]; ○var i = {1,2,3,4,5} ○var a = 5;

気分的にだいぶ違うと思うんだけどね。まあ違わないと思う
人と論争しても決着なんかつかないから好きずきということで
いいや。>>866 は撤回しておきます。それでいいんだろ?

869 名前:868 投稿日:2001/08/07(火) 00:19
なんか誤植だらけだった。スマソ。

Cの場合: ○int a[] = {1,2,3,4,5}; ×int i = {1,2,3,4,5}; ×int a[] = 5;

JSの場合: ○var a = [1,2,3,4,5]; ○var i = [1,2,3,4,5]; ○var a = 5;

870 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:21
質問が来ないなあ!もう寝よ。

871 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:26
背景のなんでもない所をクリックすると、そこにボックス属性が!
みたいなのはどうしたらいいスか。
クリックしてALTを出す、みたいな。

872 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:29
いやいや、べつにけちつけたいわけじゃないのよ
で、型がないからできるってこと?

873 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:32
ボックス属性ってなんだろ

874 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:35
>>871
透過GIFにALT

875 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:40
ジャバスクリプトで
FFの戦闘シーン(敵複数とキャラクター複数)みたいなのは出来ますか??

876 名前:874 投稿日:2001/08/07(火) 00:45
>>874
嘘ですので信用しないで下さい。

877 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:45
>>871
こんな感じ?N6/Mozilla/IE5用。N4も直せばたぶんできる…

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; z-index: 5; border-style: ridge;
border-color: blue; border-width: 4px; visibility: hidden }
</style>
<script type="text/javascript">
var elt;
function init() {
elt = document.getElementById('d1');
if(window.addEventListener) {
window.addEventListener('click',
function(e) { pop(e.pageX, e.pageY); }, false);
} else {
document.onclick = function() {
pop(window.event.offsetX, window.event.offsetY); }
}
}
function pop(x, y) {
elt.style.visibility = 'visible';
elt.style.left = (x-3)+'px'; elt.style.top = (y-3)+'px';
}
function unpop() { elt.style.visibility = 'hidden'; }
</script>
</head><body id="b1" onload="init()">
<div id="d1" onmouseout="unpop()">Popup...</div>
<p>test...</p>
</body></html>

878 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:53
>>872
うーん、そうじゃないなあ。ふつうの言語の配列って、あくまでも
変数定義するときに「これ配列ね」って定義するじゃない。それが
int a[] とかいう形でなくてもいいんだけど。

オブジェクト指向言語で、配列もオブジェクトっていう設計のだと、
変数はあくまでも普通の(オブジェクトを入れる)変数であって、
入れる(型がある場合は入れられる)ものが配列だから配列として使
えるっていうか。もともとの

var a = [....], b, c;

なんていうの、aもbもcも普通の変数だけどaは初期設定で入れる
ものが配列オブジェクトだからそれでa[0]とか言えるようにように
なる、っていうの、やっぱり普通の言語の配列と違うっぽくない?
気分の問題だから違わんと言われたらそれまでなんだけどね。

879 名前:Name_Not_Found 投稿日:2001/08/07(火) 00:58
>>875
FFをやったことないのでパス。別スレでゲーム作ってるよ。

880 名前:Name_Not_Found 投稿日:2001/08/07(火) 01:25
>>875
無茶苦茶言うなぁ(;´д`)
それはJAVAの世界じゃないの?

881 名前:Name_Not_Found 投稿日:2001/08/07(火) 11:27
>>875
★★初心者でもできる?JavaScriptで作るRPG★★
http://natto.2ch.net/test/read.cgi?bbs=hp&key=996553119&ls=50

のなかで、それあったよ。JavaScrpitでFFの戦闘シーンつくってるの。
>> http://www5.justnet.ne.jp/~uuuu/battle/
いやあ、すごいよ。

882 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:12
他には無いJavaScript@TIPS書みたいのを、まじめにつくりたい人募集中ー!
参加希望者は jscript@mail.com までご連絡くださいー。

883 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:26
>>882
jscriptっていう名前はどうなんだろうね?MS専用みたいじゃん。

884 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:46
>>881
実はそれを知って
キャラと敵が多いのは無いかなぁと思い
>>875に書き込んだわけです・・・・。

885 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:48
背景を青にして
文字をテロップさせるのって
どうしたらいいですか??

FF3のスタート画面みたいにしたいんですが・・・。

886 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:50
>>881
そのFFってスタートすると
周りの背景が黒くなるじゃない!
それってどうしたら実行した時に
黒く出来るのですか??

887 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:52
表示した絵を
下からがけ崩れみたいに
崩したいんですが、どうしたらいいですか??

888 名前:Name_Not_Found 投稿日:2001/08/07(火) 12:52
>>884
なるほど。それを、はやくイエよ。
>>886
フルスクリーンにしてるのだ。
ええっと、どうやるのかわ、忘れた(w

質問。マイクロソフトの↓
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/behaviors/reference/behaviors/homepage.asp
にある、iframeみたいななかに、ページが表示されてるよね
あれってどうやるのか、わかるひといない?
ちょい、スレ違いかもだけど、分かるひとおしえて!

889 名前:Name_Not_Found 投稿日:2001/08/07(火) 14:03
>>885
背景青は<body style="background:#0000ff;">でいいんじゃ?
テロップってどんなんだ?
下からスクロールしてくるヤツか?フェードイン、フェードアウトか?
皆が皆FF経験者ではない。
詳細キボン。

890 名前:Name_Not_Found 投稿日:2001/08/07(火) 14:25
>>889 まったくだ。私もよく分からんがとりあえず作ってみたぞ。

<html><head><title>???</title>
<style type="text/css">
body { background-color: white }
div { color: white; position: absolute; top: 20px; left: 1024px;
font-size: xx-large; width: 2400px }
</style>
<script type="text/javascript">
var d1, b1, count = 255, xpos = 1024;
function init() {
d1 = document.getElementById('d1'); b1 = document.getElementById('b1');
step1();
}
function step1() {
b1.style.backgroundColor = 'rgb(' + count + ',' + count + ',255)';
d1.style.left = (--xpos)+'px';
if(--count >= 0) setTimeout(step1, 20); else step2();
}
function step2() {
d1.style.left = xpos+'px'; xpos -= 4;
if(xpos >= -2048) setTimeout(step2, 20);
}
</script>
</head><body id="b1" onload="init()">
<div id="d1">これはテストです。これはテストです。これはテストです。</div>
</body></html>

891 名前:Name_Not_Found 投稿日:2001/08/07(火) 14:48
>>887
とりあえず作ってみたが。もっと加速度がついて落ちる方が
よければ前にあった「はずむ」のを混ぜる。もっとランダムな
のがよければ乱数を使う。画像は当然加工して作るよね。

<html><head><title>???</title>
<style type="text/css">
div { background-color: blue; color: white; width: 100px;
height: 100px; position: absolute; font-size: xx-large }
</style>
<script type="text/javascript">
var a = new Array(), tid, time = 0;
function Panel(i, x, y, t, m) {
this.elt = document.getElementById(i);
this.elt.style.left = (this.xpos = x)+'px';
this.elt.style.top = (this.ypos = y)+'px';
this.start = t; this.max = m;
this.move = function(t) {
if(t < this.start || this.finish) return;
this.elt.style.top = (this.ypos += 4)+'px';
this.finish = this.ypos > this.max; return this.finish; }
}
function init() {
for(var i = 0; i < 4; ++i)
for(var j = 0; j < 4; ++j)
a.push(new Panel('d' + i + j, j*100+100, i*100+100, 3-i*0.5+j*0.1, 500));
tid = setInterval(step, 20);
}
function step() {
var finish = true, t = (time += 0.02);
for(var i = 0; i < a.length; ++i) if(!a[i].move(t)) finish = false;
if(finish) clearInterval(tid);
}
</script>
</head><body id="b1" onload="init()">
<div id="d00">A</div>
<div id="d01">B</div>
<div id="d02">C</div>
<div id="d03">D</div>
<div id="d10">E</div>
<div id="d11">F</div>
<div id="d12">G</div>
<div id="d13">H</div>
<div id="d20">I</div>
<div id="d21">J</div>
<div id="d22">K</div>
<div id="d23">L</div>
<div id="d30">M</div>
<div id="d31">N</div>
<div id="d32">O</div>
<div id="d33">P</div>
</body></html>

892 名前:Name_Not_Found 投稿日:2001/08/07(火) 14:49
>>888
iframeみたいなのって、iframeじゃないの?何が問題なの?

893 名前:Name_Not_Found 投稿日:2001/08/07(火) 15:27
>>889
ほんと、すいませんでした。
下から上に向かって
テロップします・・・。
ちなみに音も付けたいです・・。

894 名前:Name_Not_Found 投稿日:2001/08/07(火) 15:28
>>>893
音というのはmidiです・・・。

895 名前:Name_Not_Found 投稿日:2001/08/07(火) 15:46
>>894
<html>
<head>
<style type="text/css">
<!--
body{
background:#0000ff;
}
#mona{
position:absolute;
width:200px;
height:200px;
top:400px;
background:transparent;
color:#ffffff;
}
-->
</style>
<script type="text/javascript">
<!--
function giko(){
if(mona.style.pixelTop>-200){
mona.style.pixelTop-=10;
setTimeout("giko()",100);
}
}
//-->
</script>
</head>
<body onLoad="giko()">
<div id="mona">こんなんかナー!!!</div>
</body>
</html>

ちなみに>>890さんの方が詳しい。
当スレの神だ。

896 名前:Name_Not_Found 投稿日:2001/08/07(火) 15:57
>>895
1瞬だけ
上のほうに文字が出ますね・・・。

897 名前:Name_Not_Found 投稿日:2001/08/07(火) 17:01
>>895
最初にpixelTopを参照するのがうまく行っていないとみた。
プロパティの参照って結構問題ありだから、位置は決め打ちで
JavaScript変数側で持った方がいいと思うよ。その他いろいろ
自分流に直してしまいました…下につけます。

この1か月くらいすっかりこのスレにはまってしまい、常連の方たち
を押しのけて解答しまくったのでほとんど荒らし状態でしたが、明日
から夏休みで帰省するもんでいなくなります。我ながらやりすぎだった
と反省してますので、勘弁してくださいネ。( ´Д`) さんラクラブ
さんその他以前からの常連の皆様、あとはよろしく。ネットカフェの
蔭あたりから拝見してます(んなトコロで開発するわけに行かんもんね)。

あ、今晩、いや明日の朝まではいます(w

<html><head><title>???</title>
<style type="text/css">
body{ background-color: blue }
#mona { position: absolute; top: 400px; color: white }
</style>
<script type="text/javascript">
var elt, pos = 400;
function init() {
elt = document.getElementById('mona');
setTimeout(giko, 100);
}
function giko() {
elt.style.top = (pos -= 10)+'px';
if(pos > -200) setTimeout(giko, 100);
}
</script>
</head><body onLoad="init()">
<div id="mona">こんなんかナー!!!</div>
</body></html>

898 名前:Name_Not_Found 投稿日:2001/08/07(火) 17:43
>>897

このスレ見てたら、私もFF作って見たくなりました・・。

テロップされる文字を中央に表示して
テロップの範囲が一番下から一番上までではなく
少し上下の淵を残すには
どうしたらいいですか??
1番下より少し上から
ジワーッと文字が現れて、テロップの後
1番上よりすこし下に来たところで
ジワーッと文字が消えるように
してみたいですが
どうしたらいいですか??

899 名前:Name_Not_Found 投稿日:2001/08/07(火) 17:50
>>898
その「ジワーッと現われる/消える」が、色が変わって現われたり
消えたりするのか、見えない「枠」があってそのふちから出入り
する感じなのか、どっちですか?

あと、中央に表示というのは、下から出て来て、中央で止まって、
また動き出して上へ消えて行くということ?

900 名前:Name_Not_Found 投稿日:2001/08/07(火) 18:16
>>898
とりあえず、上下を箱で目隠しする方で作ってみました。
配列に「動かし方」を入れてあるのでそこだけ直せば色々
ヘンな動きもできます。

<html><head><title>???</title>
<style type="text/css">
div { position: absolute }
div#d1 { top: 0px; height: 40px; width: 100%; background-color: white }
div#d2 { position: absolute; top: 300px; left: 100px }
div#d3 { top: 260px; height: 240px; width: 100%; background-color: white }
</style>
<script type="text/javascript">
var a = [0, 80, -2, 80, 0, 40, 1, 5, -15, 20];
var elt, tid, ypos = 300, dy = 0, count = 0;
function init() {
elt = document.getElementById('d2'); tid = setInterval(step, 50);
}
function step() {
if(count == 0 && a.length == 0) { clearInterval(tid); return; }
if(count == 0) { dy = a.shift(); count = a.shift(); }
if(dy != 0) { elt.style.top = (ypos += dy)+'px'; }
--count;
}
</script>
</head><body onload="init()">
<div id="d2">This is a pen...</div>
<div id="d1"></div>
<div id="d3"></div>
</body></html>

901 名前:898 投稿日:2001/08/07(火) 18:56
>>889-900
本当にありがとうございます。
中央に表示と言うのは
普通、文字は左端から表示されますが
言葉では分かりにくいので・・・・。

例:りんごとみかん

//普通//

りんごとみかん

//中央に表示//

            りんごとみかん

・・・と、こうしたかったわけなんですよ。

902 名前:Name_Not_Found 投稿日:2001/08/07(火) 20:00
半角カタカナと全角カタカナの入力可のテキストボックスを作りたいのですが
入力チェックのやり方がわかりません。
教えてください

903 名前:Name_Not_Found 投稿日:2001/08/07(火) 20:49
>>902
あのー、文章の意味が不明なんですが…テキスト入力欄において、
いわゆる半角のカタカナや、全角のカタカナが入っていたら警告
するとか、そういう意味でしょうか?

904 名前:Name_Not_Found 投稿日:2001/08/07(火) 21:49
一度オンクリックで処理した関数を、ブラウザのリロードなしでもう一度動かすにはどうすれば?
関数の初期化みたいな…

905 名前:Name_Not_Found 投稿日:2001/08/07(火) 21:57
>>904
えー?別にどこからだって呼べばいいじゃないですか。「もう1度」
動くのは「いつ」であって欲しいんですか?クリックされてから
何秒後とかそういう感じ?

906 名前:Name_Not_Found 投稿日:2001/08/07(火) 22:06
>>905
クリックしたら即です

907 名前:Name_Not_Found 投稿日:2001/08/07(火) 22:15
>>906
あのー、onclickで指定された関数はもともとクリックされる
たびに何度でも実行されますが…現状のどういうところに困って
らっしゃるのか分りません…

908 名前:Name_Not_Found 投稿日:2001/08/07(火) 23:23
>>903
いちお、カタカナ(8ビット、16ビット)の判定だけ
作ってみました。Unicodeのコード番号調べるだけですけどね。

<html><head><title>???</title>
<script type="text/javascript">
function check() {
var c = document.forms[0].elements[0].value.charAt(0);
if(c >= '\uff61' && c <= '\uff9f') {
document.forms[0].elements[2].value = '8ビットカタカナ';
} else if(c >= '\u30a1' && c <= '\u30fe') {
document.forms[0].elements[2].value = '16ビットカタカナ';
} else {
document.forms[0].elements[2].value = 'カタカナ以外';
}
}
</script>
</head><body>
<form action="#"><p>
<input type="text"><input type="button" value="check" onclick="check()"><br>
<input type="text">
<p></form>
</body></html>

909 名前:Name_Not_Found 投稿日:2001/08/08(水) 00:28
リンクの場所にマウスを置くと、右側に右向きの矢印が現れるというものは、
どうしたら出来るのでしょうか?
いろいろ調べてみたのですが、わかりません。
すみません。。。教えてください。よろしくお願いします。

910 名前:Name_Not_Found 投稿日:2001/08/08(水) 00:46
<Script Language="JavaScript">
<!--

var pakaWi61=".html";
var paMeWi61="パスワードを入れて下さい。";

function adWi61() {
var pa=prompt(paMeWi61,"");
if (pa!=null) if (pa!="") location.href=pa+pakaWi61;
}

// End -->
</Script>

上のjavascriptは入力した言葉+.htmlでファイル名になり、
そのページがあればそこへジャンプする。
適当に入力した場合(パスがあってない)は指定したページ
(例えばend.html)とかに飛ばすようにはできないかな?
どなたかお願いします。

911 名前:Name_Not_Found 投稿日:2001/08/08(水) 02:37
>>909
<html>
<head>
<script type="text/javascript">
<!--
function mieru(){
cursor.style.visibility="visible";
}
function mienai(){
cursor.style.visibility="hidden";
}
//-->
</script>
</head>
<body>
<a href="#" onMouseOver="mieru()" onMouseOut="mienai()">りんく</a>
<div id="cursor" style="position:absolute;visibility:hidden;">→</div>
</body>
</html>
ゴメソ、これくらいしか解らぬ。

912 名前:Name_Not_Found 投稿日:2001/08/08(水) 02:52
>>910
webmonkey(検索してね♪米鳥にあった筈)にprompt使って飛ばすやつ、あったよ。
そのアイデア凄くいいね!

913 名前:Name_Not_Found 投稿日:2001/08/08(水) 03:03
>>909
CSS使うんだよ〜。

914 名前:001 投稿日:2001/08/08(水) 03:58
go liveでウィンドウcloseのアクションを付けたのですが、
やたらソースコードが長いんです。まず、
<!-- #EndEditable -->
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<csactions>
<csaction name="end" class="Close Window" type="onevent">
</csactions>
<csscriptdict>
<script><!--
function CSClickReturn () {
var bAgent = window.navigator.userAgent;
var bAppName = window.navigator.appName;
if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
return true; // dont follow link
else return false; // dont follow link
}
これは多分UAでアクションを分けてると思うのですが、
この次..

915 名前:002 投稿日:2001/08/08(水) 04:01
CSStopExecution = false;
function CSAction(array) {
return CSAction2(CSAct, array);
}
function CSAction2(fct, array) {
var result;
for (var i=0;i<array.length;i++) {
if(CSStopExecution) return false;
var actArray = fct[array[i]];
if (actArray == null) return false;
var tempArray = new Array;
for(var j=1;j<actArray.length;j++) {
if((actArray[j] != null) && (typeof(actArray[j]) == "object") && (actArray[j].length == 2)) {
if(actArray[j][0] == "VAR") {
tempArray[j] = CSStateArray[actArray[j][1]];
}
else {
if(actArray[j][0] == "ACT") {
tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
}
else
tempArray[j] = actArray[j];
}
}
else
tempArray[j] = actArray[j];
}
result = actArray[0](tempArray);
}
return result;
}
CSAct = new Object;
これは良く分からないです。
さらに..

916 名前:003 投稿日:2001/08/08(水) 04:06

function CSCloseWindow() {
if (self.parent.frames.length != 0) {
self.parent.close()
} else {
window.close()
}
}

// --></script>
</csscriptdict>
<csactiondict>
<script><!--
CSAct[/*CMP*/ 'end'] = new Array(CSCloseWindow);

// --></script>
</csactiondict>
</head>
となって
<a href="#" onclick="CSAction(new Array(/*CMP*/'end'));return CSClickReturn();" csclick="end"><img src="close.gif"></a>
これがボタンなのですが、javascriptであるという宣言
が見あたらないんですがなぜでしょうか?出来ればもっと短くしたいのですが。

917 名前:001-003 投稿日:2001/08/08(水) 04:08
長々と申し訳ないです。

918 名前:Name_Not_Found 投稿日:2001/08/08(水) 04:14
>>910

いいアイデア! 誰か改造して!
俺も使いたいかも(w

919 名前:Name_Not_Found 投稿日:2001/08/08(水) 04:19
>>001-003
GoLiveってそんなにイイかな?
GoLive使うより手書きの方が全然シックリ来る。
adobeのモノは勝手に色々付け加えるので有名。
pagemill然り。
返答になってないな...

920 名前:Name_Not_Found 投稿日:2001/08/08(水) 06:54
>>910

<TITLE>パスワードで他のページに飛ぶ</TITLE>
<SCRIPT LANGUAGE="JavaScript">
<!--

function getPassword() {
pw = prompt("パスワードを入力してください:","")
if(pw) {
location = pw + ".html"
} else {
alert("パスワードが入力されていません")
}
}
// end of JavaScript -->
</SCRIPT>
</HEAD>
<BODY>
<A HREF="javascript:getPassword()">秘密のページ</A>
</BODY>
</HTML>

同じような内容だけど、パスが空白だったらアラートがでるようになってる。
不正解パスだったら・・・ってのはどうやればいいんだろう?
誰か頼む(^人^)

921 名前:Name_Not_Found 投稿日:2001/08/08(水) 07:47
>>921
こういうのはネ、「正しいパス」をモロに入れたらソース見られて
バレちゃうじゃない。だから、正しいパスにMD5みたいなハッシュ
関数を掛けたものを計算しといて、その答えを保持しといて、打ち
込まれたパスワードにも同じ関数を掛けて、計算した値が保持して
る値のどれかと一致したらOK、というふうにするわけ。デタラメな
入力でたまたま一致してしまう確率は極めて低い。MD5の計算は、
たとえばこちら。

http://pajhome.org.uk/crypt/md5/md5src.html

もちろん、予め計算するのにも同じ関数を使う必要があるので、
計算用のJavaScriptプログラムも別途作らないとね。

922 名前:Name_Not_Found 投稿日:2001/08/08(水) 08:31
>>909
N6/Mozilla/IE5.5で作ってみました。N4はマウス位置をうまく取れない…

<html><head><title>???</title>
<style type="text/css">
div { position: absolute; visibility: hidden }
</style>
<script type="text/javascript">
var img, elt;
function init() {
img = document.getElementById('d1');
elt = document.getElementById('a1');
if(elt.addEventListener) {
elt.addEventListener('mouseover',
function(e) { pop(e.pageX, e.pageY); }, false);
elt.addEventListener('mouseout', unpop, false);
} else {
elt.onmouseover = function() { pop(window.event.x, window.event.y); };
elt.onmouseout = unpop;
}
}
function pop(x, y) {
img.style.left = (x-40)+'px'; img.style.top = (y-5)+'px';
img.style.visibility = 'visible';
}
function unpop() { img.style.visibility = 'hidden'; }
</script>
</head><body onload="init()">
<div id = "d1"><img src="test.png" alt="a pointer"></div>
<p>test.....<a id="a1" href="#">test...</a></p>
</body></html>

923 名前:Name_Not_Found 投稿日:2001/08/08(水) 08:35
>>919 に賛成。なんで窓を閉じるだけでこんな長いの? 自分で考えた方が楽。

924 名前:Name_Not_Found 投稿日:2001/08/08(水) 08:56
>>921

僕はよく解らないのですが、>>910>>920もパスワードはソースには
書かれてないですよね? それなのにソースを見られたらバレちゃうと
はどういう意味なんでしょうか?
例えばランダムにiejfan.htmlっていうファイルを作って、パスワード
にiejfanって入力しない限り進めないんじゃないんですか?
違うのかなぁ。ちょっと疑問に思ったもので。(^^;

925 名前:Name_Not_Found 投稿日:2001/08/08(水) 12:23
カリスマさんがいなくなっちゃうのぉ...(涙)

926 名前:Name_Not_Found 投稿日:2001/08/08(水) 13:27
>>924
920が最終、且つ限界形。
パスを間違っている場合は放置。
javascriptで正誤判断をするとなると、‘どれが任意のページに逝けるパスか’
又は‘どれ以外が任意のページへ逝けないのか’を条件式にカキコせねばならないと思われ。
  ↓
ソース見る
  ↓
パス解る
  ↓
マズー(゜д゜;

927 名前:Name_Not_Found 投稿日:2001/08/08(水) 14:37
同じフォーマットのページが続くので、共通部分のHTMLを外部jsファイルから
書き出しているのですが、その中にonMouseイベントなどのJavaScriptが入ると
どうにもうまくいきません。

document.write("
ソース
")

なんて横着してちゃダメですか?
どなたか知恵を貸してください。

928 名前:Name_Not_Found 投稿日:2001/08/08(水) 14:41
http://www2.sala.or.jp/~uuu/rpg/rpg.lzh
のプログラムって
変な関数多いんですけど
これって本当にジャバスクリプトなんですか??

929 名前:Name_Not_Found 投稿日:2001/08/08(水) 16:30
http://natto.2ch.net/test/read.cgi?bbs=hp&key=994168119&st=583&to=583&nofirst=true
のスクリプトで、
onMouseoverしたときに、visibleだったらhiddenに、hiddenだったらvisibleに...
というように、判定をして可視・不可視を変更させたいのですが、
これって、難しい事なのでしょうか?

930 名前:Name_Not_Found 投稿日:2001/08/08(水) 17:34
>>929
>>911に書いてあんのがそうじゃねぇの?( -"-)

931 名前:Name_Not_Found 投稿日:2001/08/08(水) 17:49
>>929
<html>
<head>
<script type="text/javascript">
<!--
var m="visible";
var n="hidden";
function DQN(m,n){
cursor.style.visibility=m,n;
}
//-->
</script>
</head>
<body>
<a href="#" onMouseOver="DQN(m)" onMouseOut="DQN(n)">りんく</a>
<div id="cursor" style="position:absolute;visibility:hidden;"><img src="test.png"></div>
</body>
</html>

932 名前:929 投稿日:2001/08/08(水) 18:31
ごめんなさい...
>>594 の間違いでした。
ここに書かれているスクリプトをマウスオーバーで動作させるのではなく、
マウスクリックで表示・非表示できるようにしてみたいのですが、

function show() {
if(document.getElementById('d1').style.visibility == 'visible'){
document.getElementById('d1').style.visibility = 'hidden';
}else{document.getElementById('d1').style.visibility = 'visible'; }
}

のように付け足してみたんですけど、IE5.5では動いても、NN4.7ではhiddenに
なってくれないんです。

933 名前:929 投稿日:2001/08/08(水) 20:16
なんとか自己解決できそうです。
まだまだやりたい表示にはなっていないのですが、
とりあえず、MacNN4.7で表示・非表示の切替えができました。
<html>
<head>
<style type="text/css">
div { position: absolute;visibility: hidden }
</style>
<script language="javascript">
<!--
function sh(idName){

if(document.getElementById) { //NN6,Mozilla,IE5用
iObj = document.getElementById(idName);
if(iObj.style.visibility == "visible"){
iObj.style.visibility = "hidden";
}else{ iObj.style.visibility = "visible";
}
}

else if(document.all) { //IE4用
iObj = document.all(idName);
if(iObj.style.visibility == "visible"){
iObj.style.visibility = "hidden";
}else{ iObj.style.visibility = "visible";
}
}

else if(document.layers) { //NN4用
iObj = document.layers[idName];
if(iObj.visibility == "show"){
iObj.visibility = "hide";
}else{ iObj.visibility = "show";
}
}
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF">
<a href="#" onClick="sh('a0')">tes1</a>
<div id="a0">123</div><br>
<a href="#" onClick="sh('a1')">tes2</a>
<div id="a1">123456</div>
</body>
</html>

934 名前:Name_Not_Found 投稿日:2001/08/08(水) 20:35
macか・・・お互い苦労しますな・・・

935 名前:Name_Not_Found 投稿日:2001/08/08(水) 21:28
>>917
<a href="javascript:window.close();">Close Window</a>
これ足して終わり。
訳の分からないのは削れ。

936 名前: 投稿日:2001/08/08(水) 22:57
>>933 もっとスマートにやろうヨ。WinIE5.5、N4.7、N6確認
<html><head>
<style type="text/css">
div { position: absolute;visibility: hidden }
</style>
<script language="javascript">
<!--
var iObj,vi="visible",hi="hidden";
function sh(idName){
if(document.getElementById)//NN6,Mozilla,IE5用
iObj = document.getElementById(idName).style;
else if(document.all)//IE4用
iObj = document.all(idName).style;
else if(document.layers){//NN4用
iObj = document.layers[idName];
vi="show";hi="hide";}
iObj.visibility = iObj.visibility==vi?hi:vi;
}
//-->
</script></head>
<body bgcolor="#FFFFFF">
<a href="javascript:sh('a0')">tes1</a>
<div id="a0">123</div><br>
<a href="javascript:sh('a1')">tes2</a>
<div id="a1">123456</div>
</body></html>

937 名前:929 投稿日:2001/08/09(木) 00:10
>936
うわ!ホントにスマートになりましたね!
個別に対応させて、その中でチマチマ...ってことぐらいしか、頭にありませんでした。
iObj.visibility = iObj.visibility==vi?hi:vi;
は、こういう書き方もあるんだーと感動。
ありがとうございます。
表示・非表示は結構使う場面多いと思うので、さらに精進いたします。

938 名前:Name_Not_Found 投稿日:2001/08/09(木) 00:19
このスレ以外、この板は氏んでおる
言わば良スレはこれだけと言える
あげておくか…

939 名前:Name_Not_Found 投稿日:2001/08/09(木) 01:39
<script>
xx="x";
~これがいんぷっとをいれてるつもり。
document.write('<input id="x">')
[xx].value="a";
~~~~ここを変数にしたいの。
</script>

いんぷっとの中にどうやったら文字をかける?
だれか、おしえてーー

940 名前:Name_Not_Found 投稿日:2001/08/09(木) 01:39
<script>
xx="x";
document.write('<input id="x">')
xx.value="a";
</script>

941 名前:Name_Not_Found 投稿日:2001/08/09(木) 01:43
変数にシテ、もじをかきたいのね、つまり。

942 名前: 投稿日:2001/08/09(木) 02:09
>>939-941
意味わからないヨ。ボタンをクリックするとその「いんぷっと」の中の文字が
変わるっていうのかな?タグをdocument.writeで書き出してるところも
意味わからないし...具体的に何がやりたいのかおせーてね

943 名前:Name_Not_Found 投稿日:2001/08/09(木) 06:11

サイト内に商品の選択肢&個数入力フォームを作って、「購入」ボタンを押すと
次のページで品物の数と合計金額が出てくるような、
ネット通販みたいなサイトを作りたいのです。

他スレで、javascriptを使えばできると聞いてやってきました。
またまた舐めるように過去ログ読んだんだけど載ってないようなので
カキコした次第です。。。

944 名前:Name_Not_Found 投稿日:2001/08/09(木) 11:46
>>909 です。
できました!!ありがとうございました。
ちなみに、左側に出したい場合はどうするのでしょうか?
初心者すぎてすみません。

945 名前:Name_Not_Found 投稿日:2001/08/09(木) 12:29
>>943
誰に聞いたのか知らないけど、それはCGIの仕事。
そういう大事なことにJavascriptを使うのは控えた方が無難です。

946 名前:Name_Not_Found 投稿日:2001/08/09(木) 12:33
>>944
>>931

<div id="cursor" style="position:absolute;visibility:hidden;">←</div>
 <a href="#" onMouseOver="DQN(m)" onMouseOut="DQN(n)">りんく</a>

こういう風に書き換える。
全角スペースで調整してる所が痛々しい・・・(鬱

947 名前:Name_Not_Found 投稿日:2001/08/09(木) 14:37
>>943
フレームや別ウインドウを使う場合はケースバイケースだが、おおむね
ページを移動せずに合計金額等を計算したいというのならJavaScriptで
ページを移動するならCGIで計算する。
最終的に注文を受け付けるためにはCGIを使う(メールで受け付けても良いけど)

CGIとcookieとJavaScriptを効率的におり混ぜて使いましょう

948 名前:Name_Not_Found 投稿日:2001/08/09(木) 16:39
はにゃーん

949 名前:Name_Not_Found 投稿日:2001/08/09(木) 16:51
ドロップダウンメニューを2つ置き、
一方を選択すると、もう一方の選択肢
(とそのとき選ばれている値)を
書き換えること出来ますでしょうか?

950 名前:Name_Not_Found 投稿日:2001/08/09(木) 17:21
>>949
できます。

951 名前:Name_Not_Found 投稿日:2001/08/09(木) 18:42
ボタンをクリックすると
wavを再生するようにするには
どうすれば・・・。

952 名前:Name_Not_Found 投稿日:2001/08/09(木) 22:10
>>951
geocitiesの助け合い広場へ逝きなさいね、ボクちゃん♪

953 名前:Name_Not_Found 投稿日:2001/08/09(木) 22:35
>>951
midiもwavもやることは同じなので>>675-680あたりを参照

954 名前:Name_Not_Found 投稿日:2001/08/09(木) 23:19
新しいスレ立ててちょ

955 名前:Name_Not_Found 投稿日:2001/08/09(木) 23:40
>>954
オマエガナー

956 名前:Name_Not_Found 投稿日:2001/08/10(金) 02:19
javascript ポケットリファレンス
の74ページに背景色の変更のサンプルが載ってるのですが、
<html>
<head>
<body bgcolor="ffffff">
<form>
<input tpe="button" value="red"
onClick="document,bgcolor=" 'red' ">
</form>
</body>
</html>
こんなんです、変なのは分かるのですが、どういう
変数を宣言するとかわかりません。javascriptの宣言すら書いてないです。
ちなみに全く変化無しです。これを画像にonMouseover
で変更出来るようにしたいのですが、お願いします。

957 名前:956 投稿日:2001/08/10(金) 02:21
附属のCDが掲載されてるサンプルと全然関係ないので
少し、凹みました。

958 名前:Name_Not_Found 投稿日:2001/08/10(金) 02:43
しかし検索してもどれもフォームばかりですね。
困った。

959 名前:Name_Not_Found 投稿日:2001/08/10(金) 03:24
サブウィンドウを出すときにtoolbar=falseと書くのと、
=0と核のでは結果は同じですが、何か違いはあるのですか?

960 名前:Name_Not_Found 投稿日:2001/08/10(金) 03:29
>>959
結果オーライ

961 名前:Name_Not_Found 投稿日:2001/08/10(金) 03:44
false=0
true=-1
言語でと定義されているだけじゃないの?

962 名前:Name_Not_Found 投稿日:2001/08/10(金) 05:09
サブウィンドウでgifアニメーションを表示させてるのですが、
ウィンドウが読み込まれる前に始まってしまいます。
ウインドウが表示されると、3コマぐらい進んでるのですが、
これを改善するには、どうすればいいでしょう?
そもそも無理でしょうか?

963 名前:< 投稿日:2001/08/10(金) 06:50
JavaScriptで
【曜日ごとに セルの背景色 を 変える】
ことはできるでしょうか?

964 名前:Name_Not_Found 投稿日:2001/08/10(金) 08:29
メインウィンドウでツールバーやボタンを消したいのですが、
できるでしょうか?

965 名前:Name_Not_Found 投稿日:2001/08/10(金) 10:01
>>962
アニメーションの種類にもよると思うけど、
1コマ目の表示時間を長くして調節するのはダメなの?

966 名前:Name_Not_Found 投稿日:2001/08/10(金) 12:14
>>956
<html><head>
<body bgcolor="ffffff">
<img src="hoge.jpg"
onMouseOver="document.bgColor='red'"
onMouseOut="document.bgColor='white'">
</body></html>

967 名前:Name_Not_Found 投稿日:2001/08/10(金) 12:16
>>961
0,null,undefined,空文字->false
それ以外->true

968 名前:Name_Not_Found 投稿日:2001/08/10(金) 14:24
>>956
onClick="ほげほげ"やonMOuseOver="ほげほげ"等のイベントは指示された内容「ほげほげ」がJavaScriptと解釈されます。
ちなみに、netscapeだとimgに対して直接mouseoverやclickは機能してくれないので
aやilayerで囲む。このへんの互換性が辛いからボタンを使うサンプルが多い。

969 名前:956 投稿日:2001/08/10(金) 21:15
>>966 >>968
ありがとう。助かりました。
もう970近いし、区切りも良いので、新スレ立てさせてもらいました。
+ JavaScript の質問用スレッド vol.4 +
http://natto.2ch.net/test/read.cgi?bbs=hp&key=997445548&ls=50

以降こちらでお願いします。


戻る

偽Dat2HTML LO v1.0b13 Converted.
ナスカ無料ホームページ無料オンラインストレージ