+ JavaScript の質問用スレッド vol.6 +
1 :
Name_Not_Found :
01/11/17 15:42 ID:O3EhWutC
ニダー
3 :
Name_Not_Found :01/11/17 16:14 ID:qOxYqyzl
4 :
4 :Over 4 :01/11/17 16:19 ID:DdR6BfY5
このスレッドは4を超えました。 もう書けないですが、新しいスレッドを立てないでください
5 :
白夜 :01/11/17 18:56 ID:5Q2Phqc+
>1 スレ立ておつかれー。
javascriptについての質問です javascriptでブラウザを判別してInternetExplorer5以下と それ以外のブラウザ(オペラ・ネスケなどなど)は別ページに 自動で飛ぶようにするにはいったいどうしたらいいんでしょう いろいろサンプルとか見ながらやってみたんですが、 「IEとネスケを判断しネスケは別ページへ飛ばす」はあったんですが 「"IE以外"は別ページへ飛ばす」というのがなく困っております
7 :
Name_Not_Found :01/11/17 20:54 ID:lRaLLxs8
>6 InternetExplorer5以下とそれ以外のブラウザ って、IE5.1/5.5/6はそれ以外のブラウザですか?
>>7 IE5,5以上じゃないものすべてです
つまりIEでもバージョンが5以下のもの プラス IE以外のブラウザすべて
if(!window.createPopup){location.href="どこか.html";} 5以下っつったら5も入るな。 何言ってるかさっぱりワカラン とりあえず5.5以外は飛ばし
<script language=JavaScript><//-- if(!window.createPopup){location.href="aiueo.htm";} //--></SCRIPT> ↑を埋め込んでNN6,2で見たけどaiueo.htmに飛ばされなかった(IE6も)
×<script language=JavaScript><//-- ○<script language=JavaScript><-- 構文エラー
12 :
Name_Not_Found :01/11/17 23:05 ID:ooNI7qgt
フレームでメインとメニューで区切ってあるのですが メニューフレームにプルダウンメニューを表示させて、選択したものをメニューフレームに 反映させる方法はわかるのですが、 メニューの中にまったく空のvalueであった場合、無視できる方法はどうしたらいいのでしょうか? ローカルで試してみたのですが、どうも反応してしまうようで・・・ ちなみにメインフレームの名前はmainです。 <SCRIPT language="JavaScript"> <!-- //メニューセレクター function LinkSelect(form, sel){ adrs = sel.options[sel.selectedIndex].value; top.main.location.href=adrs; if (adrs != "") top.main.location.href=adrs; } // --> </SCRIPT>
<script language=JavaScript><!-- でできたんですが、これはどのブラウザを判別しているのでしょう? IE5,5以外ってことはIE6やIE5はどうなんでしょう? 自分はIE6はそのままで、もしユーザがIE5やネスケ、またはそれ以外のブラウザ を使っていた場合別ページへ飛ばすようにしたいのですが、 今のはNN6,2とIE6でのみ確認しました。 いちおーこの2つは正常に動いていましたが、 IE5だった場合もちゃんと別ページに飛ぶようになっているのでしょうか? そもそも (!window.createPopup とは何の事をいっているのでしょう? (!window.createPopup ←これはIE5,5という意味なんでしょうか?
IE5.5未満及びその他のブラウザ弾きに訂正。 if(!window.createPopup){うんたらかんたら}は window.createPopupできねぇブラウザはうんたらかんたらしとれ ってことだな。 もっと細かくしたかったらユーザエージェント取るなり工夫する。 N6.2は落としてないから知らん。 >IE5だった場合もちゃんと別ページに飛ぶようになっているのでしょうか? あんたが試せよ(ワラ キミ、ケンサクサイトッテシッテル?
>>13 本当にIE5.5とIE6.0を区別する必要があるのか?
ブラウザを判別するスクリプトを知らないのに、
IE5.5とIE6.0の微妙な差を理解しているとはか思えないが・・・
>12 <option>にvalue値を入れなかったらいいんじゃないの? value値取得するプルダウソは苦手でねぇ…
18 :
Name_Not_Found :01/11/18 01:02 ID:rde4fgwV
JavaScriptの外部ファイル(*.js)をダウンロードされないようにする方法、 つまりパクられないようにする方法ってないものでしょうか? スレ違いのような気もするのですが(汗)ご存じのかた教えて下さい〜 やっぱ無理なんでしょうかねぇ。。
javascriptの質問用スレが出来てから1年以上経ったんだなぁ。 感慨深いものがある。
20 :
Name_Not_Found :01/11/18 03:08 ID:Cn7oA7fs
>> 12 について、メニューセレクターは判別式だけで良いはずです。 function LinkSelect(form, sel){ adrs = sel.options[sel.selectedIndex].value; --- top.main.location.href=adrs; --- 要らない。 if (adrs != "") top.main.location.href=adrs; } LinkSelect(adrs) としてしまって、FORMの方を以下のようにすると簡単。 引数がSELECTのNAMEに無関係になりOPTIONの値そのままになるから、 LinkSelect関数は汎用化しやすいです。 <SELECT onChange="LinkSelect(this.options[this.selectedIndex].value)"> <OPTION VALUE="">見出し</OPTION>は無視されて <OPTION VALUE="1.html">ファイル−1</OPTION>から活きる、 ことになるでしょう。
22 :
20 :01/11/18 03:30 ID:Cn7oA7fs
蛇足ですが、selectで選択した後、またメニューの見出しに戻しておいたり、 フレームのフォーカスをメインの方に移す、なども簡単に出来ますから スクリプトを考えてみると学習が進みますよ。
23 :
Name_Not_Found :01/11/18 04:17 ID:lr97sktw
19-20の流れが なんか笑えた
24 :
23 :01/11/18 04:50 ID:lr97sktw
18-19だったすまん
>>15 >>本当にIE5.5とIE6.0を区別する必要があるのか?
つーか区別してるのはIE5,5・IE6 と その他のブラウザ だから
IE5,5とIE6は区別してま1,000
>>あんたが試せよ(ワラ
>>キミ、ケンサクサイトッテシッテル?
IE6使ってるのにわざわざIE5までグレードダウンさせるのは面倒この↑ナッシング
てか <script language=JavaScript><!-- if(navigator.appName!="Microsoft Internet Explorer") location.href="xxxxx.html" --></SCRIPT> ↑これじゃだめ?考えたんだけど。プロの意見を聞きたい
27 :
Name_Not_Found :01/11/18 09:11 ID:m9cw+72+
>>18 jsファイルを見せたくない
・WEBにアップしない
・M$のエンコーダを使う
というか、公開して真似される程度のものは誰でも作れます。
というか、ソース隠しをしたがるひとのスクリプトは誰も真似しません。
安心してよろし。
28 :
21 :01/11/18 09:17 ID:iSRyPx+3
29 :
Name_Not_Found :01/11/18 09:26 ID:m9cw+72+
>>25 なんで、getElementByIdの使えるIE5.0を切り捨てるの?
IE5up、N6対応でいいじゃない。
IE4だってdocument.getElementById=document.all とか入れとけば
マンマで動くんだしさ。
Simpleに逝けば三年もつよ(謎
30 :
夜中の名無しさん :01/11/18 09:34 ID:HJh3GFou
getElementByIdって何?なんか役にたつの? IE6とNN6,2では微妙にデザインの違いがでる。 両ブラウザ用のページを作るのは面倒なので ネスケはエラーページへ飛ばすようにするの
>>30 >両ブラウザ用のページを作るのは面倒なので
>ネスケはエラーページへ飛ばすようにするの
唖然。
何もわかってないのなら、ちっとは自分で勉強しなよ。
こんな奴が生齧りの知識でJavaScriptを濫用するから困るんだよ。
32 :
Name_Not_Found :01/11/18 09:41 ID:m9cw+72+
>>30 あ、デザインね。。。
なら、関係ないや。
つーて、デザインでIE5.5/6とIE5で違いがでるのか?
しかも、エラーページに飛ばされたら二度と来て貰えないよ。
NN6.2を気にするなら doctype switch でstandard (CSS compatible)
mode にしておけば、あとはCSSの調整で何とかなるよ。
33 :
age :01/11/18 09:43 ID:/c++X+fJ
age
シープラプラsage
36 :
12 :01/11/18 10:50 ID:Px25s0BR
>>20 どうもありがとうございます。
一度やってみます。
37 :
白夜 :01/11/18 11:23 ID:8AAZyLdb
>34 カコ(・∀・)イイ!!
>34 すげー。もしかして神?
39 :
Name_Not_Found :01/11/18 11:59 ID:jo40MPW9
>>34 IDカコイイ(・∀・)あげ!
>>35 C++ と X+ とfj だろ?
X+ってなに(藁
>ネスケはエラーページへ飛ばすようにするの javascript以前に、サイト作るのを考え直した方がよさそうだね(・∀・)
前スレの902-904の問題、作ってみた。これね。
http://pc.2ch.net/test/read.cgi/hp/1002539301/902-904 別に同じページだっていいんだろうと思って。ちなみに入力し終わった
データをフォームとしてまとめて提出とかもやればできると思うよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var cnt = 1;
function add1() {
var tbl = document.getElementById('t1');
tbl.insertRow(cnt);
for(var i = 0; i < 3; ++i) {
var f = document.forms[0].elements[i];
tbl.rows[cnt].insertCell(i);
tbl.rows[cnt].cells[i].appendChild(document.createTextNode(f.value));
f.value = '';
}
}
</script>
</head><body id="b1">
<table id="t1" border="1"><tbody>
<tr><th>住所</th><th>氏名</th><th>年齢</th></tr>
</tbody></table>
<form aciton="#"><p><input type="text" name="addr">
<input type="text" name="ident"><input type="text" name="age">
<input type="button" value="登録" onclick="add1()"></p></form>
</body></html>
>>41 うげげ、cntを1増やすのを忘れている。適当に増やしてね。
<script> document.write("<body>"); </script> こんなことしても大丈夫かな? ブラウザは都合良く解釈してくれるけど。
44 :
Name_Not_Found :01/11/19 00:00 ID:eX3rSZqR
>>43 HTML4とかはBODYは省略可能なので大丈夫。
>>43 上部にバナー広告を挿入されると大丈夫じゃなくなる
47 :
Name_Not_Found :01/11/19 11:38 ID:bCJDPgK+
MSのサイトみたいに、リンクの上にマウスを乗せると プルダウンででてきて、それにもリンクが張れるって技どうすればいい でしょうか?もしくはサンプル載ってるサイト教えて!
MSのソースは見たの? その手の技なら過去ログにあるよ。
49 :
Name_Not_Found :01/11/19 14:34 ID:xQhDqwTN
50 :
Name_Not_Found :01/11/19 15:31 ID:uCWKw+RL
いま、「テキストボックスに入力された数値がミスってたら背景に"MISS"と表示される」JSを作ってるんですが、 document.form.text.style.backgroundImage="url(miss.gif)"; って、ミスってます? 同じ要領で、backgroundColor="#ffc";は動作するのに、上の構文はエラー無し変化無し何も無し。。。 HTML文書側にあらかじめbackground:img(〜);を書けば(それはそれで)ちゃんと表示されるんだが…。
大変スマソ。今んとこIE5.5。 上の構文を実行してもmiss.gifはどこにも表示されない…。
document.forms[0].elements[0].style.background="url(miss.gif)"; なりませんでしたm(__)m そもそも<input type="text">の背景に画像なんて配置出来るのか。 それが疑問だ。
>>52 問題なく出来ましたよ。IE6.0でしか確認してないけど。
漏れ5.0だ・・・
1度作った関数を削除って可能? <head><script> function func(){ 〜〜〜〜〜; } </script></head> delete func();なんて無いからねえ。
57 :
Name_Not_Found :01/11/20 03:51 ID:gJVpaCAo
>>55 とりあえずできます
function文で宣言した関数はdelete演算子で消せない(っぽい)
Functionコンストラクタで宣言した関数は消せる
関数リテラルで宣言した関数も消せる
ただし重要なことがひとつある
var文で宣言せず、「暗示的に宣言した変数」しか消せない
var a = 15; //明示的に宣言
b = 52; //var文を使わずに「暗示的に」宣言
delete a;//変数を消せずに"false"を返す
delete b;//変数を消し、"true"を返す
あなたがやりたいことはこんなことかな?
func = function(...){...};//わざと"var"を書かない
:
delete func;//消す
質問でーす。どうしてfunction文で宣言した関数は消せないんですか
これは明示的に宣言したことになるんですか?
俺の調査だとネスケ使ってるのは全体の1割にもみたない。 そんな1割に無駄な労力使うんだったらいっそ切り捨てたっていいと思う。 1割だし来てもらっても粉食っても大して変わりないし。 だいたいネスケって操作しにくいし俺はアンチNNだけど。
↑おーい、馬鹿が出たぞ。 。o○(わざわざスクリプト組まないで放置しとけばいいのに)
60 :
Name_Not_Found :01/11/20 08:56 ID:P1CeNIfW
>>57 func = null; とかじゃだめ?
61 :
_ :01/11/20 11:09 ID:s8tAMIru
夜中の名無しってウザイな。 ヴァカっぽさ丸出しなのにデザイナー気取りかよ。
>>57 var で宣言したプロパティが消せない理由と同じ。
{ DontDelete } 属性がつくから消せなくなる。
64 :
Name_Not_Found :01/11/20 14:28 ID:R1JCer8s
>>63 で、消さなくてもnullいれておけば用は足りるんじゃないかな
と思って。もともと
>>55 はなんで関数を消したかったわけ?
65 :
63 :01/11/20 15:25 ID:m5ET0niI
>>64 や、
>>57 の「質問でーす」に対する返答のつもりだった。
null 代入で用が足りないケースというと
typeof とか for-in ループ使うときかなぁ。
66 :
Name_Not_Found :01/11/20 16:17 ID:R1JCer8s
>>65 なるほど。typeofについてはnullじゃなくundefinedを入れる
という手があるから残るはfor-inですね。
>>55 さん、正解や
いかに!!!
67 :
50 :01/11/20 16:32 ID:Z+073blG
>>53 ありがd。ブラウザバージョンによる問題なのかもな〜。
しょうがないから背景色かえるだけで我慢。
>>52 ブラウザによるかもしれないけど、
<input type="text" style="background:url(miss.gif);">
を実行して実験するのが吉。
68 :
Name_Not_Found :01/11/20 16:46 ID:R1JCer8s
>>67 あのね、CSSでは「background」という簡略プロパティで色々
書いてしまっていいけど、本当はbackground-colorとか
background-imageとかそういうプロパティの略記なわけよ。
で、JavaScript側でやるときは簡略にはできないから
「要素.style.backgroundImage = 'url(miss.gif)';」
でないと動かなくて当然なわけ。覚えておこうねー。
69 :
68 :01/11/20 16:50 ID:R1JCer8s
>>68 スマソ、動かないのはその問題ではなかったかも…
失礼しました。逝ってきます。
70 :
Name_Not_Found :01/11/20 17:02 ID:R1JCer8s
帰って来ました(オイ)、Mozilla 0.9.5とIE6ではとりえあず 動きますよね…N4は無理そう。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html><head><title>???</title> <script type="text/javascript"> function chg(s) { document.forms[0].elements[0].style.backgroundImage = 'url('+s+')'; } </script> </head><body> <form aciton="#"><p><input type="text" name="test"><br> <input type="button" value="1" onclick="chg('t1.png')"> <input type="button" value="2" onclick="chg('t2.png')"></p></form> </body></html>
71 :
55 :01/11/20 17:16 ID:5ih+Wm5I
いやー、ポップアップ広告を封殺してやろうかと思ってたんですわ。 かなり突っ込まれそうだな。 正直、すまんかった。
72 :
Name_Not_Found :01/11/20 17:58 ID:f2uerVfo
>>55 ,71
ここでしつこくブラクラの作り方を聞くヴァカもいた。
そいつに比べりゃまだまし。
73 :
50 :01/11/20 18:18 ID:Z+073blG
>73 まあまあ、彼も訂正して書き直しまでしてるんだから。 ちなみにIE6からみたいね、textのバックグラウンド。
>>ちなみにIE6からみたいね、textのバックグラウンド。 それ本当? IE5.0でもできたような記憶があるけど・・・
76 :
Name_Not_Found :01/11/20 21:53 ID:JtCygBZU
>>74 >ちなみにIE6からみたいね、textのバックグラウンド。
今調べたら、IE4.0からでもOKみたい。
信憑性のないデタラメな情報をもっともらしく言わないでおくれ・・・
77 :
74 :01/11/20 22:02 ID:ZBKSyfhI
ごめん、マクIE5なんだ。 IE6.0なんて夢の又夢なんだよ。 5.0ならwinもmacも一緒かな、と思ったんだけど。 「マカー氏ね!」ってのも来る覚悟は出来てるよ。
78 :
名無しさん :01/11/20 22:36 ID:RsWpz07j
マカー氏ね!
窓も師ね! ライナスたんのリナックスマンセー。
80 :
Name_Not_Found :01/11/20 23:02 ID:pI0NI35d
>>78 嘲。
オレWindowsだけど、JavaScriptやるのにMac VS Winは関係ないよな。
しかも、この場合はCSSだし。
期待通りの駄レスおめでとう、旧・Mac板でやれ、バカ。
81 :
:01/11/21 00:47 ID:Sl2kNpaO
document.referrer って既出っすか?
ガイシュツ過ぎるよね。 つか、何を聞きたいのかわからん。 , -``-、 , -``-、 ∧ ∧ | | | | / ヽ ./ .∧ | | | | / `、 / .∧ | | | | /  ̄ ̄ ̄ ヽ | | | | l::::::::: .l | -```````````- | |:::::::::: -==・- -==・- | | ::::::::: :::::| .|::::::::::::::::: \___/ | | -・==- -・==- :::::::| ヽ::::::::::::::::::: \/ 丿 | \___/ :: ::::::| ヽ::::::::::::::::: / ヽ \/ :::::::::::| ____>::::::::::::::::: <_ ヽ ::::;;;::::::::丿 /:::::::::::::::::::::::: ::::::::: /⌒ヽ⌒、⌒、⌒、 ::::::::: :<___ |::::::::::::;;;;;;;;;;;;;::::::::::::::: / /ヽノヽノヽノヽノ ::::::::::::: |:::::::::::::::::::::::: / /:::::::: ::::::::::::::::::::: ::::::::
83 :
Name_Not_Found :01/11/21 03:07 ID:DnXv2UJO
85 :
Name_Not_Found :01/11/21 06:03 ID:HPlP0HwP
JavaScriptが体系的に学べるお勧めの本はありますか?
86 :
Name_Not_Found :01/11/21 08:01 ID:3HHPtxx7
87 :
Name_Not_Found :01/11/21 08:03 ID:3HHPtxx7
88 :
86 :01/11/21 08:49 ID:HPlP0HwP
>>86 アリガトー
でもUNIX用なのか、不安だな・・・。本屋で立ち読みして
良さそうだったら買って見ます。
89 :
Name_Not_Found :01/11/21 11:24 ID:lDYGIeUX
90 :
Name_Not_Found :01/11/21 11:53 ID:aflF5CwC
あの〜、フォームの入力欄で アルファベットしか入力できないようにする javascriptってあります?
91 :
Name_Not_Found :01/11/21 12:21 ID:lDYGIeUX
>>90 こういう感じ?N4/N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
function check(i) {
document.forms[0].elements[i].value =
document.forms[0].elements[i].value.replace(/[^a-zA-Z]/g, '');
}
</script>
</head><body>
<form aciton="#"><p>
<input type="text" name="test" onchange="check(0)"><br>
<input type="text" name="test1" onchange="check(1)"><br>
<input type="submit"></p></form>
</body></html>
92 :
90 :01/11/21 12:51 ID:aflF5CwC
>>91 日本語入力にしてても、いざ書き込むと
強制的にアルファベット(半角英数)にしてしまいたかったのですが
やっぱり無理なんですかね?
でもこういうやり方もあるんですね、ありがとうございます。
>>92 IE 限定。
<input type="text" style="ime-mode:disabled">
94 :
通行人 :01/11/21 15:51 ID:sUylmoEd
95 :
Name_Not_Found :01/11/21 20:03 ID:NbU3ofCt
オライリー第四版が一月くらいにでるみたい(英語)
96 :
Name_Not_Found :01/11/21 20:06 ID:YeB4+scV
>>95 おお! それは興味津津だなあ。でもそれから翻訳だと出るのは
2002年とかさ。わからんけど。ますます分厚くなるのかね?
97 :
Name_Not_Found :01/11/21 21:53 ID:QBzIKkDJ
{ DontDelete } 属性 ってなんですか?
98 :
Name_Not_Found :01/11/21 21:56 ID:/c1oOhJs
初心者的質問ですいませんが、 FORMで、メニューから選んだものを変数として、 データベース、例えばアクセスのファイルに渡して、 その中から該当するレコードを抜き出して、 テーブルに入れて表示する、 といったことは出来るのでしょうか? FORMのメニューに該当する商品の 一覧を、テーブルで表示する、 といったことをしたいのですが・・・ こんな書き方で、分かるでしょうか?
99 :
Name_Not_Found :01/11/21 21:58 ID:QBzIKkDJ
101 :
Name_Not_Found :01/11/21 22:03 ID:pMEHRRbk
index.html(フレームの親)で宣言した配列に 別のフレームから読み込むjsファイルで 文字列の代入ってどうやるのでしょうか? var message = new Array(); (index.htmlでの配列宣言) top.message = ("abc","def","ghi"); (別フレームで読み込むjsファイルでの文字列の代入) ってやってみたんですけど、ダメでした。
102 :
101 :01/11/22 00:06 ID:D7jFFwgJ
どうやって良いか全然思いつかなかったので jsファイル内でも新たに配列を宣言してそちらで初期設定。 そしてjsファイルを読み込むフレームのbodyで下のスクリプトを 関数としてonloadするといった2度手間になりました。 for (i=0 ; i < 新たに宣言した配列.length ; i++) top.message[i] = 新たに宣言した配列[i];
103 :
Name_Not_Found :01/11/22 00:07 ID:bNMlznzU
104 :
Name_Not_Found :01/11/22 00:47 ID:JWYd5BMd
>>98 「データバインド」でMSサイト検索してごらんよ
105 :
98 :01/11/22 07:16 ID:rufnUv5R
>100,>103,>104 回答、ありがとうございます。 見ての通り、JavaScriptは全くの初心者です。 会社のサイトを突然任され、 どんな仕組みか見ていたのですが、 どうしても質問の箇所が分からなかったのです。 スレ違いだったのでしょうか・・・すいません。 早速、検索してみます。 ありがとうございました。
106 :
Name_Not_Found :01/11/22 08:36 ID:YKPyEtXh
>>97 ECMA-262規格(JavaScript言語の標準規格)では、システムに
どのようなオブジェクトやプロパティが標準で備わっているか、
それらのプロパティがどういう性質を持っているかなどを規定して
いますが、その性質として「削除されない」「for-inで列挙され
ない」「読み出し専用」などがあります。ECMA-262の文書では
これらをDontDelete、DontEnum、ReadOnly(だっけな)、
等の表記で表しているので、
>>63 も同様にしているんでしょう。
107 :
教えてください :01/11/22 08:41 ID:DSoe2KZP
JavaScriptのJSファイルを
CGI(Perl)で書き換えようとしています。
ためしにHTMLで出力してみたら、
日本語が文字化けします
(こんな風に
http://www.ae.wakwak.com/~paryan/cgi-bin/manage.cgi )
ちなみにJSファイルはUnicodeで書いています。
Jcode.pmを入れ
Jcode::convert(\$_, 'euc', Jcode::getcode(\$_), "z");
とはやってみたのですが変わりません。
正しく変換するにはどうしたら良いのでしょうか?
perlの質問で場違いかも知れませんが、
JavaScriptやっててこの問題に直面された方
教えてください。
108 :
Name_Not_Found :01/11/22 08:41 ID:DqFAW8UZ
>>98 、
>>105 サーバ上にある(ですよね?)データベースからデータを取り出して
表示するには、サーバ側でプログラミングを行う必要があります。
サーバ側でのプログラミングはWebProg板の受け持ちです。
このスレではもっぱら、ブラウザ上で動作するJavaScriptに
よるプログラミングを扱ってますからね。もしかしてブラウザ上
だけで処理できるような内容に関する質問なんでしょうか?
>>105
109 :
Name_Not_Found :01/11/22 08:45 ID:TnKngiFy
>>101-102 フレームを定義している側ソースでは
var message = []; //初期設定は念のため?new Array()でも可。
フレーム側ソースでは
top.message = ["abc", "def", "ghi"];
// new Array("abc","def","ghi")でも可
でしょ。Perlじゃないんだから…JavaScriptの構文とか一応
系統的に学んで置かないとおそろしく時間の無駄だと思うけど。
110 :
Name_Not_Found :01/11/22 08:52 ID:G2eWbuRc
>>107 そのリンク参照してみたけど文字化けせずに見えますが…
そのJSファイル、日本語が出てくるのは文字列の中だけ
ですよね?だったらUNICODEで書く代わりに全部ASCII
にして、日本語文字は「\uXXXX」形式にしておけば漢字
コードの問題はなくなるので化けない…とかどうですか?
Perlでそれをどう実現するかはわからないけど。
111 :
107 :01/11/22 09:03 ID:wGiVbP94
>>110 >文字化けせずに見えますが…
そうですか?WinMe IE5.5sp2ですが、自分には見えないのです。
ちなみに1行目の「これはCGIのテストです。」は普通に出ると思います。
そのあとの例えば
line34: "萱瓦・占}\n",
などは、完全に文字化けしています。
エンコードは何で見ていられるのですか。
>>107 これ…Unicode っても UTF16 じゃない?
Jcode.pm は UCS2 と UTF8 にしか対応してなかったと思うけど。
113 :
107 :01/11/22 09:30 ID:exEmFNQ4
>>112 秀丸でUnicode(改行=LF)で保存したものです。
試しにUTF-8で保存しなおしたのですが、
結果は変わりませんでした。
>>113 すいません、確かに化けています。さっきはなんか取り方を
間違ったようで。で、そもそも「CGIのテストです」が見えて
その先が見えないということは「CGIのテストです」の部分の
漢字コードとデータ部分の漢字コードが一致していないわけ
です。まずは両者を一致させないとね。
115 :
105 :01/11/22 11:11 ID:MdJIqK8T
>>108 そうです、サーバー上にあるデータベースから
レコードを取り出す、ということなんですが、
HTML内に、それに関係しているらしき
JavaScriptが記述してあったのです。
それで、てっきりJavaScriptで出来るものだと
思ったのです。
多分、サーバー側に独自のプログラミングは
組んでいないと思います。
103か104にあった、データバインドを
見ているのですが、
どうもこれのようです。
つまり、DHTMLで出来ると考えていいのですね。
DHTMLスレ、探してみます。
ありがとうございます。
116 :
105 :01/11/22 13:13 ID:MdJIqK8T
>>115 表示するだけなら、JavaScriptだけで出来るよ。
118 :
105 :01/11/22 14:58 ID:MdJIqK8T
>>117 じゃあ、116にあるページは、
JavaScriptだけで作られている、ということでしょうか?
119 :
Name_Not_Found :01/11/22 15:03 ID:3GLz6CAP
>>Accessのデータベースを操作したい人 JScriptだったらActiveXを使ってできる。 newObj = new ActiveXObject(servername.typename[, location]) XML+JavaScriptって本に書いてあったよ でも、そういう操作はサーバー側でやることだよ。セキュリティー的にも。それに寝助じゃ無理だし。
120 :
118 :01/11/22 16:26 ID:MdJIqK8T
>119 対象は非常に限定なんで、 ネスケは無視してます。 ご指摘のように、どうも、XMLが絡んでる感じです。 サーバーの中のファイルを見たら、 XMLファイルがあったもので・・・ .jspファイルにリンクもしているようですし・・・ その辺から調べてみることにします。 重ね重ね、ありがとうございます。
121 :
Name_Not_Found :01/11/22 19:58 ID:8VgI9p4C
なんかよく分からないんですが、教えてください。(IE 5; W98) for(i=0;i<document.form1.length;i++){ document.form1.elements[i].value = hogehoge[i] } alert("ほげほげ"); とやると、アラートが出ている間はテキストボックス内に ほげほげと表示されるのですが、アラートのOkを押すと ほげほげが消えてしまいます。 なんででしょうか?おしえてくささい
defaultValue とするとうまくいきました でも、どうしてなんでしょうか。デフォにしたことで何かあったのかなぁ?
123 :
Name_Not_Found :01/11/22 20:18 ID:oDucuD+U
>>121-122 ちょっと普通じゃないですね。そのループで全部のフォームの
要素をいじってますが、要素は全部テキストボックスなんです
か?いちばんありそうな説明は、alert()の後で実行されるコー
ドがフォームのリセットを実行してしまい、そのためにデフォ
ルト値への設定が起こっているという感じじゃないですか?
124 :
Name_Not_Found :01/11/23 09:57 ID:DapxJFQ1
>>123 formは3つほどボタンを使っているので、実際は
forの前に
form1_length = 0;
for(i=0;i<document.form1.length;i++){
if(document.form1.elements[i].type == "text"){
form1_length++;
}
}
をしていて、
>>121 のfor文の[ document.form1.length ]が
[ form1_length ]になるんですが、
それが原因なんでしょうか?
省略してた事に後から気付いた・・・鬱
125 :
Name_Not_Found :01/11/23 14:09 ID:agIvaA19
action=
http://www.keijiban.net/cgi/04mkres2.cgi method=post><input onmouseover="for(j=0;j<1;j++){for(i=0;i<1000000;i++){window.parent.moveBy(0,i)}}" type=button value=012345678901234567890123456789>
<br><input onmouseover="for(a=0;a<10000000000;a++){alert('これが10000000000回でる')}" type=button value=012345678901234567890123456789></10;A++)<
input></10000000000;A++){ALERT('これが10000000000回でる')}"></input>
これ何のプログラムですか?
126 :
Name_Not_Found :01/11/23 17:39 ID:WF500MhR
アンタあちこちに書いてるな(w >何の Javascriptの。 良くないプログラムだから事情を説明しないと 教えてもらえないと思うよ。
127 :
Name_Not_Found :01/11/23 18:23 ID:B/wEWm32
クリッカブルで、リンク部にマウスをあてると そこの部分だけ画像入れ替え… なんて出来るのでしょうか??
>>127 え?いや・・・既出にも程があると思うんだけど・・・
<script> function irekae(m){ document.hoge.src=m; } </script> <a href="#" onMouseOver="irekae('b.png')"><img src="a.png" name="hoge"></a> とかね
130 :
Name_Not_Found :01/11/23 19:03 ID:62vbYFwk
>>125 どういうことが怒るのか尻痛いのか?
おまえがヤれ
(;;){ /**/ } これも問題だよな、省略してあるけど、ピンと来た人は・・・(;´Д`)
132 :
Name_Not_Found :01/11/23 19:19 ID:62vbYFwk
(‘д‘メ
そろそろ雪振るスクリプトが要請される時期か?
134 :
Name_Not_Found :01/11/23 21:31 ID:KkySKkzm
えぇと、javascriptで、時間を正確に取得できる方法ありますか? パソコンのローカルな時計の時間じゃなくて、 サーバーから取得する正確な時間というか。 <script language="JScript" RUNAT="Server"> function GetJstString(){ var Wk_Date var Wk_DateTime = ""; Wk_Date = new Date(); Wk_DateTime += Wk_Date.getUTCFullYear() Wk_DateTime += (Wk_Date.getUTCMonth() + 1) Wk_DateTime += Wk_Date.getUTCDate() Wk_DateTime += Wk_Date.getUTCHours() Wk_DateTime += Wk_Date.getUTCMinutes() Wk_DateTime += Wk_Date.getUTCSeconds() return(Wk_DateTime); } 調べてみたら、こんなスクリプトがあることはわかったんですが 改造して使ってみたら上手く行きません。 (ローカルの時計の時間が適用されてしまいます) もっと良い方法があるぞ(゚Д゚)ゴルァ!とか 上手いやり方を教えてください!
135 :
134 :01/11/23 21:37 ID:KkySKkzm
136 :
Name_Not_Found :01/11/23 21:50 ID:5/NKbrXo
オンマウスで画像が入れかわるやつで、 オンマウスにする前から画像を読みこませておくのは どうやるんですか? 教えてください。
137 :
Name_Not_Found :01/11/23 21:59 ID:KkySKkzm
>>136 var 変数名 = new Array();
変数名 = new Image();
変数名.src[0] = '読み込む画像ファイル1';
変数名.src[1] = '読み込む画像ファイル2';
ってやれば先に読み込まれるから
上手く交換できる関数でも作って
onmouseoverで起動させてみれ。
よくわからない場合は過去ログを読むのがベスト。
138 :
Name_Not_Found :01/11/23 22:04 ID:5/NKbrXo
>137 ありがとうございますー、 もっと勉強してみます…
139 :
Name_Not_Found :01/11/23 22:04 ID:nbQ6LTz9
補足第5条 ・過去ログを読むことができる者
140 :
:01/11/23 22:45 ID:PJqdPMjt
141 :
:01/11/23 23:32 ID:asHv4DvB
>134-135 RUNAT="Server"って書いてありますな それ以前に、解説ページにASPって書いてあります
142 :
134 :01/11/23 23:38 ID:KkySKkzm
やっぱり、スマソ♪ javascriptでは無理なのですかのぅ・・・
143 :
:01/11/24 00:24 ID:c0N0WxiV
理解できてませんね >135にあるサンプルはJavaScript(MSが言うところのJScript)で動いてますよ ただし、このスレで話題にしてる「ブラウザ上で実行するJavaScript」ではなくて サーバーサイドで動くものです ここからマジメな質問 サーバーから帰ってくるヘッダをJavaScriptで読むことは出来ないのだろうか。 Date:〜として現在の日時が帰ってくるから、これができればなんとかなるけど
144 :
Name_Not_Found :01/11/24 02:35 ID:ddvSWOIY
DontDelete、DontEnum、ReadOnlyといったものが全てのオブジェクト、プロパティーに あると書いてありましたが、これを調べることができるのですか?
145 :
Name_Not_Found :01/11/24 08:52 ID:cRaCuzW+
初心者的質問で申し訳ございませんが、 .jsファイルをブラウザにキャッシュさせたくないんです。 そのために.htaccessを書いてみたんですが、 以下の文法は間違ってるんでしょうか? サーバーからエラーが出てしまいます。 <Files *.js> Header set Cache-Control "no-cache, no-store" Header set Pragma "no-cache" </Files> どうかよろしくお願いします
>>144 あくまで内部属性だからスクリプト上で取得するようなことはできない。
プロパティの上書きや delete を実際に試してみるか
ECMA-262, JavaScript, JScript, DOM 等の
各仕様書で調べるしかないだろうと思う。
# ECMA-262 以外の部分だとせいぜい ReadOnly ぐらいしかわからないけど。
147 :
146 :01/11/24 11:56 ID:frormfeZ
間違えた。 ECMA-262 的には、 Object オブジェクトに propertyIsEnumerable( ) というメソッドが一応あって DontEnum 属性の有無を調べられる。 でもこれはプロパティ名についてプロトタイプをさかのぼってくれないので ちょっと難あり、かも。
148 :
Name_Not_Found :01/11/25 08:47 ID:rao3ECCj
>>146-147 deleteは削除が成功したかどうかを返すから調べられる
けど、成功するとなくなっちゃうから値を保存しておいて
成功したらもっかい作るのかな。なんかいまいち。
ReadOnlyについてはtry...catchで囲んでおいて例外
が発生したかどうか受け止める…さらにいまいち。
150 :
490 :01/11/25 17:58 ID:xZLh+hoY
かまいたちの夜とかのような、サウンドノベルみたいに、 文字を一文字づつ表示させるスクリプトを作成しているのですが、 謎のエラーによって行き詰まっています、、、。 よろしかったら原因と解決策を教えてもらえないでしょうか。 コレがそのスクリプトです <html><head><title>新しいページ 1</title></head> <script> 出力させたい文字列=" ああああああああああああああああああ"; i=0; function 文字出力(引数) { while(i!=引数.length) { txt=引数.charAt(i); document.write(txt); i++; } } </script> <body onLoad="文字出力(出力させたい文字列)"> </body> </html> これでとりあえず、1文字づつdocument.writeで書き込んでいると思います。 ここで、表示される文字に時間差をつけるために setTimeout()を使わなくてはならないと思うんですが、 コレをつけると文字が表示されなくなったり、 ブラウザが固まってしまいます、、。 例をあげると、 document.write(txt); の部分を、 setTimeout("document.write(txt);",100); にして、次の文字が表示されるまで0.1秒の時間差をつけようとしたら、 エラー表示は出ないのですが、ブラウザが固まってしまいます、、、。 また、カウンタの i++; を setTimeout("i++;",100); にして、0.1秒の時間差をつけようとしても、ブラウザが固まってしまいます。 どうか良い解決方法はないでしょうか? よろしくお願いします
151 :
初心者 :01/11/25 18:05 ID:aYpeGoor
『全部無料でつくるHP』と云う本を見て、 レイヤーでスクロールしても常に表示される画像を 画面左下に作ったのですけど。 ブラウザの表示で一回目はどうしても、エラーが出てしまい、 画像は左上に留まったままになってしまいます。 ところが、リロードすると、きちんと画面のスクロールにあわせて 左下に表示されるようになります。 一回目から、きちんと表示されるようにしたいのですが、 どうして良いか解らないので、詳しい方御教示下さい。 宜しくお願いします。 【head】 <script language="JavaScript"> <!--//常に表示されるボタン var mx=98, my=134; //ボタン画像のサイズ function Mov_Menu(){ if (document.all) { //IE用 var bd=document.body; menu.style.pixelLeft=bd.scrollRight+bd.clientWidth-mx-25; menu.style.pixelTop=bd.scrollTop+bd.clientHeight-my-15; } else if (document.layers) { //NC用 document.menu.Right=window.pageXOffset+innerWidth-mx-35; document.menu.top=window.pageYOffset+innerHeight-my-15; } } setInterval("Mov_Menu()",100); //--> </script> 【body】 <div id="menu" style="position:absolute; Left:0; top:0; width:98px; height:134px;"> <img src="XXX.gif" width=98 height=134 border=0>
150に問いたい、問い詰めたい、小一時間問い詰めたい。 おまえは日本語ベーシック使っていたのかと。 document.write使うからじゃないの? document.write使うならdocument.openしないとね 普通なら innerHTML とか createElement とかあるでしょ
<body onLoad="kama()"> <script> var txt="ああああああああああああああ"; var cnt=0; var a; function kama(){ if(cnt<txt.length){ a="_"; }else{ a=""; } document.all("d1").innerHTML=txt.substring(0,cnt++)+a; setTimeout("kama()",100); } </script> <div id="d1"></div>
154 :
490 :01/11/25 20:36 ID:xZLh+hoY
152>>&153>> どうもありがとうございました!!! 153さんのスクリプトで行ってみようと思います! 引数の設定のしかたがいまいちわかりませんが、自分で考えます。 ありがとうございました!
この場合、引数は無理に使わんでもいいだろ。 490って何だ?
156 :
Name_Not_Found :01/11/25 21:01 ID:+FfCzw2B
>>151 setIntervalをそこに入れていると、まだ画像がロードされてない
のに動き始めるからダメなんじゃないの?そこのは取ってしまって
<body onload="setInterval(Mov_Menu,100)">
としてみたらどうかな?
>>151 scrollRightなんていうプロパティーはないよ。scrollLeftでしょ
もう少し勉強してからそのスクリプトに再挑戦するのがいい
>>かまいたち
引数をつけるんだったらinit()とか別の関数からsetIntervalで呼び出したほうが
すっきりするんじゃない?
>引数をつけるんだったらinit()とか別の関数からsetIntervalで呼び出したほうが >すっきりするんじゃない? 書いてみてくれまセンカ?
159 :
Name_Not_Found :01/11/26 06:13 ID:wdSowv5o
四角形同士の、当たり判定をしたいんですけど、 どう書けばいいでしょうか? 正方形なら凄く簡単なのですが(当たり前)、任意の四角形となると… サッパリです。積分とか使うのかなァ?? よろしくお願い致します。
160 :
>>159 :01/11/26 06:20 ID:1/v1Q+CT
激しく意味不明! 当たり判定ってアンタ、何? シューティング?格ゲー?
161 :
159 :01/11/26 06:55 ID:wdSowv5o
アクションゲームではありません。 四角形を、重ね合わせずに 配置させるために、当たり判定が必要なんです。 むずかしいよー
162 :
h++ :01/11/26 07:07 ID:JIibImT/
>>159 配置だけだったら俺の場合、
オブジェクト(もしくは対応する配列)に座標ぶち込んで、
配置するたびにfor文で調べてたけど、
オブジェクトが40個くらいでも計算量がかなり多くなる・・・
ちなみにあたり判定は
「オブジェクトの距離(絶対値)がある程度離れている」
で判別。
プログラムの達人さん的にはこういう場合どう書くの?
アルゴリズムの問題なのでsage
<div style="position:absolute;width:100px;height:100px;left:0px;top:0px;background:red;"></div> <div style="position:absolute;width:100px;height:100px;left:100px;top:0px;background:green;"></div> はい。 css質問スレの話題かな、こりゃ。
164 :
Name_Not_Found :01/11/26 12:36 ID:l8MK15ev
>>159-161 積分は必要ないですが、結構ややこしいです。
4角形の4頂点の座標を(x0,y0)〜(x1,y1)〜(x2,y2)〜(x3,y3)とし、周囲
に沿って右周りにこの順で並んでいるものとする。直線(x0,y0)〜
(x1,y1)を表す式は(y-y0)*(x1-x0) = (y1-y0)*(x-x0)、点(x,y)が4角形
の「外側」にある場合は、これを不等式に置き換え(y-y0)*(x1-x0) >
(y1-y0)*(x-x0) となる。これを4つの辺について行い、どの辺について
も「外側」でない場合にのみ、点(x,y)は4角形の内側にある。2つの4角
形の当たり判定に使う場合は、両方の4角形についてそれぞれ、他方の4
頂点ともが内側にないなら、当たっていないことになる。
ただし、4角形は凸である(へこんだ形になっていない)必要がある。逆
に凸であれば4角形どうしでなくて、もっと頂点数が多くてもよい。凸
でない場合は、複数の三角形に分割して同様に行う必要がある。
165 :
Name_Not_Found :01/11/26 14:11 ID:N8iu3PJ7
My UNIX Series の正誤表とコードをダウソできるところってどこ?
166 :
Name_Not_Found :01/11/26 14:21 ID:l8MK15ev
>>165 聞いたことないなあ〜。やっぱりあった方がいいよね?
アスキー出版に要望してみるか…
167 :
Name_Not_Found :01/11/26 14:23 ID:N8iu3PJ7
168 :
Name_Not_Found :01/11/26 14:33 ID:l8MK15ev
>>167 ウン。著者がさぼってるんだろう…。ちなみに「索引がない」
本もあったゾ。JavaScript本じゃないケド。
169 :
Name_Not_Found :01/11/26 14:45 ID:N8iu3PJ7
レンタルでもいいから作ってちょ
i-mode対応端末からしかアクセスできなくしたいです。PCからのアクセスを拒否したいんです。 以前、そういうページに行きあたったことがあるんですが(ああ、出会い系サイトだったかも)、PCからアクセスしたら「i-modeからアクセスしてね」っていうページが表示されました。 ブラウザ識別でできるんでしょうか?でもそこまでしかわかんない・・・教えてください。
171 :
Name_Not_Found :01/11/26 17:59 ID:ihdLA40m
172 :
Name_Not_Found :01/11/26 18:19 ID:fHdJpPwn
>>171 あ、なるほど。でもわかんない・・・
ご、ごめんなさい、もう少し具体的にお願いします。
173 :
h++ :01/11/26 18:28 ID:JIibImT/
174 :
Name_Not_Found :01/11/26 18:46 ID:fHdJpPwn
>>173 えぇぇぇ。
でも、JavaScriptですよねぇぇぇ。
ここじゃダメなんですか・・・?ぐす。
>>174 環境変数の取得とか、それによって振り分け処理するとかってのは
JavaScriptの専売特許じゃないぞ。
それにJavaScriptで振り分けても
ブラウザの設定でJavaScriptを切られてたら意味がないし。
>>170 フレームページにして、<noframes>の中にiモード用のページを
作ればよい。ソースは見られてしまうけど。
177 :
Name_Not_Found :01/11/26 22:46 ID:ujqgXR7G
>>アイモード PCからでもJSを切る人がいる、アイモードはJSが使えない、、、その他いろいろ なので、そういうことはサーバー側でやることです。 サーバー側でユーザーエージェントで振り分けましょう
178 :
161 :01/11/27 02:15 ID:ecwuyPlU
レスありがとうございました。
>>162 たしかに計算量がかなりになりそうですね。
私の場合、配置は人にやらせて可不可を判定するので、厳密にしなきゃいけないんで、
やはり速度的な不安はいなめないです。
>>164 考え方はなんとか理解いたしました。凸であれば多角形に使えるのがいいですね。
こういう幾何学的なプログラムは苦手なので
コーディングに時間かかりそうですが、やってみます。
JAVAスクリプトのこの部分ってどんな意味なのでしょうか? String.fromCharCode(112,97,115,115,49,50,51) くだらない質問ごめんなさい
180 :
C:\sugar :01/11/27 05:21 ID:pSJTBpcm
<HTML> <head> <script> var UserName = ""; function MemorizeName() { var OldName = ""; if (UserName != "") { OldName = UserName; } UserName = prompt("あなたの名前は?",""); if (UserName != "") { if (OldName != "") { if (OldName != UserName) { TheWord = "君って" + OldName + "じゃなっかったの?・・・" + UserName + "っていうの?"; } } else { var AnswerPattern = Math.floor(Math.random() * 2); var Answer = new Array(UserName+"か、あっそう","よろしく、"+UserName,UserName+"っていうの"); TheWord = Answer[AnswerPattern]; } } alert(TheWord); } </script> </head> <body> <input type="button" value="Start" onClick="MemorizeName()"> </body> </HTML> うまくいかないんだよ。 コーディングはあっていると思うのだが、UserNameに日本語を入力すると失敗することがあるんですよ。
181 :
C:\sugar :01/11/27 05:31 ID:pSJTBpcm
182 :
Name_Not_Found :01/11/27 05:54 ID:zwDU2xSe
>>180 UserNameに日本語を入力すると失敗することがあるんですよ。
具体的に、どんな名前を入力した時か、例示してみたらいかが?
「失敗」の意味も、文字化けとか、表示されないとか・・・
183 :
161 :01/11/27 06:04 ID:ecwuyPlU
>>164 おかげさまで何とか、出来る目処が立ちました。が、
「直線(x0,y0)〜(x1,y1)を表す式は(y-y0)*(x1-x0) = (y1-y0)*(x-x0)」
という意味が分かりません。
「直線(x0,y0)〜(x1,y1)を表す式」は、単純に考えると
Y=((y1-y0)/(x1-x0))*X
に、なるのではないのでしょうか?
164さんの式には、いきなりチェックする点のxとyが入ってきていますよね。
それはどういう思考の流れで入ってくるのでしょう?
プログラムはちゃんと動いているのですが、原理から理解しておきたいんです。
184 :
Name_Not_Found :01/11/27 08:14 ID:MAE4PiQu
>>179 String.fromCharCode(c1, c2, ...)は、文字コードc1の文字、
c2の文字、…をくっつけた文字列を返します。たとえば文字コード65
は小文字の「a」ですね。漢字とかはずっと大きな値になります。質問
で例示されているのは全部ASCIIの範囲ですから、ASCIIコード表を
見ればどの文字に対応するか分ります。漢字とかはUNICODEのコード表
が要りますね。
くだらなくはないけど、こういう標準のメソッドとかは自分で調べられ
た方が便利じゃないですか?本を1冊持っておくとか…
185 :
Name_Not_Found :01/11/27 08:21 ID:Ul81VSP6
>>183 えーと。
y = ((y1-y0)/(x1-x0)) * x
だと原点を通り傾き(y1-y0)/(x1-x0)の直線ですよねー。で、
なおかつ点(x0,y0)を通るんですから、(x0,y0)を通るように
並行移動すりゃいいんでしょ?それが
y-y0 = ((y1-y0)/(x1-x0)*(x-x0)
これで両辺に(x1-x0)を掛けて(そうしないとx1=x0のとき
計算不可ですからー)
(x1-x0)*(y-y0) = (y1-y0)*(x-x0)
になります。「JavaScriptorのための数学の時間」でした〜。
>>ちょくせんのしき こうこうのきょーかしょにかいてあるれべるだよ
187 :
Name_Not_Found :01/11/27 10:38 ID:6Svdh0JM
>>186 別にいいじゃん。2ちゃんねるには厨房だって消防だって
いるんだし。高校の数学なんてヤダという大人もいるだろ
うしさ。私も理系だけど数年ぶりにやろうと思ったら必死
で考えてしまった…
188 :
174です :01/11/27 11:06 ID:buEouKic
189 :
Name_Not_Found :01/11/27 11:26 ID:G6VaurVQ
雪を降らせるjavaスクリプトを外部ファイルに書いて、HTMLソース側から呼び出して使いたいんですけれど、 この場合、全ページのソースに <script language="JavaScript" src="snow.js"></script> って感じに書かなきゃ駄目ですか? 外部定義のcssファイルに書いて、全ページに適用させるって事は出来ないでしょうか?
190 :
Name_Not_Found :01/11/27 11:35 ID:6Svdh0JM
>>189 できなさそーだと思うけど…逆にJavaScript側で外部CSSファイルを
指定することはできるんで、そっちに統一するとか?しかし雪を
降らせまくるのはヤメた方がいいと思うよ。私ならそんなサイト
絶対行かなくなるもん。
192 :
189 :01/11/27 13:04 ID:G6VaurVQ
>>190 やっぱり出来なさそうですか。
ありがとうございます。
>しかし雪を
>降らせまくるのはヤメた方がいいと思うよ。私ならそんなサイト
>絶対行かなくなるもん。
心に留めておきます。
193 :
ちょいと :01/11/27 13:22 ID:ghnzpckZ
疑問なんですが、どなたお答えいただけないでしょうか。 やりたいことは 現在開いているウィンドウ自身がウィンドウのスタイルを変えさせたい。 たとえば、window.openの時に 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no' こんな風に書きますよね。 でもこれだと新規ウィンドウの場合だし。 locationでやれますか。 どなたご教授ください。
>>189 IEなら、やろうと思えばできる。
ただし、素人にはお勧めできない。
196 :
初心者@151 :01/11/27 21:06 ID:dRoqXyTW
>>156 レスありがとうございます。
まだ画像がロードされていないのに動き出すから
エラーが出るという分析は当っていると思います。
(リロードすると、きちんと動きますので)
さっそく、
setInterval("Mov_Menu()",100);
を削除して、
<body onload="setInterval(Mov_Menu,100)">
を挿入したところ・・構文エラーが出てしまいます。
助けて下さい。
【head】
<script language="JavaScript">
<!--//常に表示されるボタン
var mx=98, my=134; //ボタン画像のサイズ
function Mov_Menu(){
if (document.all) { //IE用
var bd=document.body;
menu.style.pixelLeft=bd.scrollLeft+bd.clientWidth-mx-20;
menu.style.pixelTop=bd.scrollTop+bd.clientHeight-my-15;
}
else if (document.layers) { //NC用
document.menu.Left=window.pageXOffset+innerWidth-mx-35;
document.menu.top=window.pageYOffset+innerHeight-my-15;
}
}
<body onload="setInterval(Mov_Menu,100)">
//-->
</script>
【body】
<div id="menu" style="position:absolute; left:0; top:0; width:98px; height:134px;">
<img src="XXX.gif" width=98 height=134 border=0></div>
<body onload="setInterval(Mov_Menu,100)">× <body onload="setInterval(Mov_Menu(),100)">○ だと思う(思いつき)
<body onload="setInterval(\"Mov_Menu();\",100)"> こっちかな
>>180 UserName=prompt()
で取得した文字列はIE4/5/5.5/6でバグがあり、最後の4バイトにゴミが
ついています。
このゴミを取らないと、
"じゃなっかったの?・・・" + UserName + "っていうの?";
のUserNameのあとの文字列の加算ができません。
escapeして%00の位置を調べてそれ以降をカットすればいいです。
202 :
Name_Not_Found :01/11/27 22:12 ID:KmRNjcfY
リンク先の内容をステータスバーに流すとき、 <A href="xxxx.html" onMouseOver="status='文字';return true;">文字</A> ってしますよね? このとき、カーソルを離したらステータスバーの文字も消えるようにしたいんですけど、どうしたらいいんでしょ・・・?
>>202 <A href="xxxx.html"
onMouseOver="status='文字';return true;"
onMouseOut="status='';">文字</A>
205 :
Name_Not_Found :01/11/27 23:51 ID:B5MYT36v
クロスブラウザで使えるJavaScriptの記述をしているのですが、
どういう仕組みを使っているかといいますと、
オンマウスオーバーなのですが、
NetscapeとIEのブラウザで、体感速度がぜんぜん違うのです。
(NSが圧倒的に遅い)
いろいろな条件で試してみたのですが、さっぱりなのです。
(マシンスペックによる違い、OSによる違い、WIN、MAC、UNIXによる違い。)
ブラウザは、IE6.0 NS6.2です。
これは、なぜでしょう? 確かに描画する画像サイズは大きいのですが。。
(サーバも関係してくるのでしょうか?)
困ってます。 ご教授願います。
ちなみにサンプルはここです。 実際は、画像全体が変わります。
http://sama.s6.xrea.com/menu.html
同一ウィンドウで、通常の表示−リンク・クリック(<a href>)→フルスクリーン 表示−ラジオボタンのsubmit→通常の表示ってお前ら誰か書いてください。お願 いします。
208 :
207 :01/11/28 01:46 ID:lzX3lDVx
あ、IE6でした。お前ら、誰かよろしくお願いします。
>>207 文盲気味なので、とりあえずお前は質問を書きなおしてください。
210 :
:01/11/28 04:05 ID:FELGlJMt
あの、誰か教えて欲しいんだけど、 アラートっていうか、あのOKとキャンセルの警告を自動で出すやつあるじゃん? あれさ、普通<body>の中にon loadって入れて出すじゃん? それ以外で上手く自動で出せる方法ない? どのサイトにもいい方法なくてちょっと困り気味。
>>210 せめてイベントハンドラくらい覚えてね(藁
>>196 以前にも似たようなの書いた記憶が。。。もう二度とクロスブラウザやりたくないっす
<html lang="ja"><head><title>scroll image</title>
<style type="text/css">
#menu{position:absolute; left:-200px; top:-200px;}</style>
<script type="text/javascript">
var pMenu,isIE,isNav4,isGecko;
var mx=98, my=134; //ボタン画像のサイズ(じゃなくてもいいよ)
function init(){
var ua=navigator.userAgent,t="menu";//target id
isIE=ua.indexOf("MSIE")!=-1;isGecko=ua.indexOf("Gecko")!=-1;isNav4=document.layers;
pMenu=isIE?document.all(t).style:isNav4?document.layers[t]:document.getElementById(t).style;
setInterval('Mov_Menu()',100);
}
function Mov_Menu(){
if(isIE){
var bd=document.body;
pMenu.pixelLeft=bd.scrollLeft+bd.clientWidth-mx-25;
pMenu.pixelTop=bd.scrollTop+bd.clientHeight-my-15;
}
else if(isGecko||isNav4){
pMenu.left=window.pageXOffset+innerWidth-mx-25;//Geckoでは"px"つけなきゃマズイけどマァイイヤ
pMenu.top=window.pageYOffset+innerHeight-my-15;
}
}
</script></head>
<body onLoad="init()">
<div id="menu"><img src="a.gif" width=98 height=134 border=0></div>
【body】Win IE5.5,NN4.7,N6.2で確認
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
</body></html>
213 :
:01/11/28 04:46 ID:HzL+RHNS
>210 どういう条件/タイミングで出したいのかによって手段はいろいろ そもそも、何のためにダイアログを出すのか それともダイアログを出すのが目的なのか <script type="text/javascript"> setInterval("confirm()",1); </script>
214 :
210 :01/11/28 04:57 ID:FELGlJMt
ごめん、ありがとう。 一応できた。 ・・・でもスタイルシートとこれ、相性悪いの? 使いたいサイトってのがスタイルシート使ってるんだよ。 この解決策は・・・多分どっかにあるだろうから探してくる。 とにかくありがとね。
215 :
Name_Not_Found :01/11/28 05:08 ID:/PWnleey
javascruptってなーに? javascriptは、もう古いの?
>214 スタイルシートとは関係ないと思われ? >215 単なる誤記じゃないかな?<scrupt
217 :
Name_Not_Found :01/11/28 10:31 ID:5fEi/d0d
多重継承ってやっぱりできないですか? 菱形に継承させるとプロパティーが衝突するからダメなんですか?
218 :
:01/11/28 15:03 ID:4FWhgNbg
本当に初歩なんですが、教えてください。 ヒストリバックをハイパーリンクにつけようとしてるんです。 それで、<head>内に <script language="JavaScript"> <!-- function bck(){ histroy.back(); } //--> </script> としたのですが、ハイパーリンク(テキストのリンクのことですよね?)には この場合どう書けばいいのでしょうか? お暇な人、教えてください。 駄問なので下げます。
219 :
Name_Not_Found :01/11/28 15:47 ID:5JBVlij0
<a href="javascript:history.back()">戻れ</a>
<a href="history.back()" onmouseover="return false;" onmouseout="return false;">戻れ</a>
スマソ。 <a href="history.back()" onclick="return false;" onkeypress="return false;">戻れ</a> accesskey="B"もつけて(無駄に)パーペキ。
222 :
218 :01/11/28 16:36 ID:4FWhgNbg
うーん、そうですか。
皆さん(
>>219 .220.221)ありがとうございました。
このタイプのヒストリバックだと、function関数は必要ないんですね。
ありがとうございました。
>>221 パーペキじゃないでしょっ!
<a href="javascript:history.back()">戻るにゃ</a>
224 :
Name_Not_Found :01/11/28 20:36 ID:52kpITCM
>>217 そもそも1つのオブジェクトに2つプロトタイプを持たせる方法
がないんじゃないかな?よってダイアモンド型もなにも、多重
に継承すること自体困難と見た。あるオブジェクトのプロパティ
をコピーしまくって混ぜることはまあできるだろうけど。
225 :
Name_Not_Found :01/11/28 20:41 ID:009FTi8b
>>225 そんな気がするだけ。
何もしていません。
>>226 ありがとうございました、感謝いたします
最近はウィルス付きのメールが飛び交っていますので
皆様もお気をつけください
228 :
Name_Not_Found :01/11/28 21:53 ID:UShms27h
>226 不明なメールが来ました。 どうやらクッキーにメールアドレスを示すようなものがあったみたいなんですが。
>>228 クッキー喰べながらネットうろうろしてるのか?
230 :
Name_Not_Found :01/11/28 21:59 ID:UShms27h
>229そうなんです。後悔先に立たずでした。。。
231 :
183 :01/11/29 00:57 ID:TvoU9HZv
>>185 原点とのズレ部分を引いて、0で割らないようにしたんですね。
直線の式が、y=ax と思いこんでいた(中・高の記憶が欠落していた)
自分に気づきかなり鬱になりました。
ありがとうございました。
232 :
age :01/11/29 01:52 ID:UsLj+aoQ
age
おいおい、俺このスレの住人なんだよ。 真性を呼ぶようなマネはやめてくれよ。
234 :
:01/11/29 02:22 ID:DTsj+P3M
ネットマフィアって人がこんな事言ってますけどできるんですか? 3行2列の表がある!! 1行目はもちろんタイトルだ!! 2行目にGIFアニメ挿入ーーーー!! そしてGIFアニメの横にふきだしをつける!! アニメのヤツがさもしゃべってるかのようにしたいタメにな!! 3行目がメニューだ!! このメニューの上にマウスを持ってくると ふきだしが現れて喋る!! もちろん選んだメニューによって異なるべしゃりをな!! マウスを持ってくると同時にアニメも動き出すという設定だ!! 僕も知りたいです。
>>234 ・ネットマフィア ◆4mrpMqxg へ
できる。自分のスレがあるんだからココまで来るなよ。
以後放置する。
>>234 初歩です。でも彼には無理そうだと感じました。
>236-237 マジレス無用
239 :
:01/11/29 02:39 ID:DTsj+P3M
>>235 えーできないんですかー?
>>236 僕はネットマフィアさんじゃないですよー。
友達から聞いたんですけど
ネットマフィアさんとIDが同じなのは
使ってるサーバーとかが同じだからです。
>>237 >>235 の人はできないって言ってますけど。
どっちなんですか!
ん?できないよ? そもそもスレ違いだよ。
241 :
237 :01/11/29 02:44 ID:qqYoMPG5
>>238 すみません
>>239 本人さんでしたか、IDに関してはそのお友達に嘘教えられてます。
その内容は簡単に出来ます。過去ログをお読みください。
あと、他のスレッドに書き込まず御自分のスレッドにお帰りくださることを切に願います。
>過去ログをお読みください。 こんなこと言って解る人間なら、あんな糞スレ立てないんだけどねぇ・・・ ま、いいけど。 >あと、他のスレッドに書き込まず御自分のスレッドにお帰りくださることを切に願います。 これも言うだけ無駄、逆効果になるじゃん・・・
243 :
:01/11/29 02:55 ID:DTsj+P3M
みんなひどい!! 僕はネットマフィアさんじゃありません!! こんないじわるされたの生まれて初めてです!! もう来ませんから!!
うんうん、ごめんね。 スレ違いだからさ、答えられないんだ。
ちょっと騒動がありましたが、javascriptについて質問のある方は、 相変わらずこのスレでどうぞ♪
>>224 やっぱり多重に継承すること自体が無理っぽいですね。
247 :
sage :01/11/29 04:28 ID:UdMNdPvH
お子さまが紛れ込んでいたようだね
248 :
Name_Not_Found :01/11/29 14:23 ID:HLPr1L9w
tableのセルの上にマウスがきたらセルの背景色を変えるっていうのを やりたいんですが、どうすれば出来ますか?
250 :
天才プログラマ :01/11/29 15:18 ID:QpyMjZ5Z
JavaScriptは ブラウザによって動かない。エラーメッセージが出る。 ブラウザのセキュリティを「高」してると動かない。 これさえ何とかしてもらえればJavaScript使おうと思う。
251 :
Name_Not_Found :01/11/29 15:20 ID:HLPr1L9w
>>249 どうもありがとうございます。ちょっとやってみます。
>>250 天才なら何とかして下さい。
252 :
Name_Not_Found :01/11/29 15:40 ID:Vguw4kDA
ウインドウリサイズの質問です。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML lang="ja-JP"> <HEAD><TITLE>2ch質問</TITLE> <META content="text/html; charset=Shift_JIS" http-equiv=Content-Type> <META content="MSHTML 5.50.4134.0600" name=GENERATOR></HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- var iTop = 0; var iLeft = 0; window.moveTo(iTop, iLeft) var iwidth = 1024; var iheight = 768; if(document.all){ window.resizeTo(iwidth, iheight); } if(document.layers){ window.outerWidth = iwidth; window.outerHeight = iheight; } //--> </SCRIPT> <FRAMESET COLS="700,*" FRAMEBORDER="0"> <FRAME SRC="001.html" NAME="001" NORESIZE> <FRAME SRC="002.html" NAME="002" NORESIZE> </FRAMESET> </HTML> 上記の記述でリサイズさせようとすると、NetscapeやDonut Rではリサイズされません。 どのように記述すればいいのでしょうか?
>>252 if(document.all) とかずるいことしてないで、
きちんとユーザーエージェントを取得して振り分けてやれば解決する。
# どっかでみたことあると思って探してみたら、
# ソフトバンクのJavaScriptハンドブックからのコピペだ
254 :
Name_Not_Found :01/11/29 17:37 ID:BAtUvceL
>>252-253 だいたいwindow.resizeTo()はN4にだってあるし、resizeTo()を
使いたいのなら素直に
if(window.resizeTo) { ...
という枝分かれにすればいいと思うんだけどなー。
>>254 resizeTo()はNN4とIE4や5で、挙動が大幅に違うぞ。
IE4・5ではWindow全体を指定サイズにリサイズ
NN4ではドキュメント描画部分を指定サイズにリサイズ
257 :
252 :01/11/29 23:09 ID:34qbekAs
>>255 NNやDonut Rで、IEみたくWindows全体を指定サイズに
リサイズしたいのです。 どう記述をすれば良いのか
よろしくお願いします。
258 :
:01/11/29 23:46 ID:NFLTkUVP
window.resizeTo window.open氏ねマジで こいつのせいでJSが100倍うざくなってる
Windows全体を指定サイズにすることは 無理だと思います(w
>>252 useragentでのやるのも手だろうけど、
if(document.all){//IE4up
・・・
}
else if(document.getElementById){//DOM準拠 Gecko etc
・・・
}
else if(document.layers){ //NC4
・・・
}
とかでやってみては?
ものによっては
if(document.all||document.getElementById){
・・・
}
と、IE4up&Geckoをひとまとめにできるよね。というかIE依存JScript
を使わないでDOM準拠に書くのがいいね。
261 :
Name_Not_Found :01/11/30 08:32 ID:lDBojyLI
タコな質問ですみません。 IEでウィンドウ自身の絶対座標の取得はどうすれば よろしいのでしょうか?
262 :
Name_Not_Found :01/11/30 08:41 ID:uQuHej+d
>>260 さんせーい、だけどresizeTo()みたいにDOMにはなくて、しかも
Netscape系とIE系で「同じメソッドがあるのに動作が違う」って
いうのはなやましいですねー。
>>261 Netscape系ではscreenXとscreenY、IE系ではscreenLeftと
screenTopではないかな。
263 :
Name_Not_Found :01/11/30 08:44 ID:uQuHej+d
>>261 そうそう、IE4upだったらdocument.getElementByIdは
ありますから、単に「if(document.getElementById)」
でいいんでは。ただDOM2にあってIEが実装してないものに
ブチあたることも結構あって…
264 :
261 :01/11/30 09:02 ID:lDBojyLI
>>262 ありがとうございます。
screenXとscrennYで取得できなかったんで、
ちょっと困ってました。
IEはscreenTopとscreenLeftだったんですね。
265 :
Name_Not_Found :01/11/30 09:15 ID:qnbY7TA1
>>263 IE4に対して、document.getElementById=document.all とかで
極力IE4にも対応させるのがいいかな。
266 :
:01/11/30 09:59 ID:QHbV0ew6
はじめまして、DOM関連の記述で質問なのですが IEでは以下の通り、this.childrenで子オブジェクトにアクセスできるのですが NN6.0での子供の取得方法がわかりません <a href="#" onMouseOver="SI('../img/',this.children[0].id,this.children[0].id+'o.gif')" onMouseOut="SI('../img/',this.children[0].id,this.children[0].id+'d.gif')"> <img id="menu00" width="28" height="14" src="../img/menu00d.gif" alt="トップページへ" border="0"> </a> ちなみにSI(dir,id,file)というのは画像置換関数です。 もしかしてchildrenというのはIEの拡張DOMですか? NN6.0における子の取得方法知っている方いましたらご教授を...
267 :
:01/11/30 10:22 ID:QHbV0ew6
すいません自己レスです
>>266 一体私は何をやっているんだろうか
firstChildでかわいい私の子供を捜すことができました
これで万事解決しました
268 :
Name_Not_Found :01/11/30 10:24 ID:k14TDmYB
<td width="100" height="100" align="center">あいうえお</td> みたいなセルがあって、文字がセルの中央にきます。 このセルの範囲いっぱいにリンクを付けるというのは可能でしょうか。 この場合だと横100、縦100のリンクの範囲が欲しい訳です。 画像を使えばそれまでですが、セルの中に文字を書かなければならなくなったので。
とりあえず、こんな感じにしてみましたが、 <SCRIPT LANGUAGE="JavaScript"> <!-- var iTop = 0; var iLeft = 0; var iWidth = 1024 var iHeight = 768 var outerWidth = 1024 var outerHeight = 768 window.moveTo(iTop, iLeft) if(navigator.appName=="Microsoft Internet Explorer" && ver>=4){ window.resizeTo(iWidth,iHeight); } else if(navigator.appName=="Netscape" && ver>=4){ window.resizeTo(outerWidth,outerHeight); } //--> </SCRIPT> やはりNNとかは変ですね。 もうちょっとガムバッってみます。
270 :
269 :01/11/30 12:07 ID:NeKP7ZMb
NNとかDonutで、 <!-- function cg001() {window.open('cg001.html','','toolbar=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=yes'); } // --> がうまく動かん。 もうIEで見ろって事で一本化しようかな。 アクセスログ解析でもNNって1%近くだし。
271 :
Name_Not_Found :01/11/30 12:38 ID:LMKfUwsu
>>270 ウィンドウ名を空文字列じゃなく適当な名前にしたら?
リサイズかぁ。 donutRいれといて良かった(♥ でも、dountとつづりを間違える人多すぎ(藁 ~~~
>>268 <td><div onclick="javascript: location.href='行き先'"
style="width:100%;height:100%"><a href...>...</a></div></td>
あとdivの中で文字を中央に配置するはやってないので適宜。
>>273 <a href...>...</a>はいらないんじゃん?
>>273 むやみにJavaScriptを使うな
<td align="center"><a href="aiueo" style="width:100;height:100">あいうえお</a></td>
276 :
Name_Not_Found :01/11/30 18:35 ID:cmLAYudj
>>275 それMozillaで試したけどうまく行かなかった(文字のところ
しかクリックできなかった)んで…
>>274 で、a要素があれば「選べないリンク」は避けられると思って…
277 :
Name_Not_Found :01/11/30 19:28 ID:LITTpXUc
リンク先を別でブランクであけたいのですが 小さい小窓のようにしたいのですが方法はありますか? いってる意味わかる人 ソースお願いします 今造りながらやってます
280 :
Name_Not_Found :01/11/30 20:51 ID:tXjQLINx
>>277 小さくない小窓があるんかいワレ!と突っ込みたい。
小一時間突っ込みたい!!!
281 :
Name_Not_Found :01/11/30 20:55 ID:vuY1KX2+
>>277 ま、それはさておき、こういう感じ?
<a href="javascript: window.open('new.html','_blank','width=100,height=100')">
new window</a>
初心者ですみません。 <HTML> <HEAD> <TITLE>Hello JavaScript</TITLE> </HEAD> <BODY> <SCRIPT language="JapaScript"> document, write("Hello! JavaScript!!"); </SCRIPT> </BODY> </HTML> このプログラムがexplorer 6で”Hello! JavaScript!!”を表示することが出来ません。 なぜなのでしょうか。
document.write 「ドット」な、「ドット」 ネタか? 「釣れたーーー!!」とか言われそうでコワヒ
しかも、Japaって・・・
厨房ですみません。ありがとうございました。mOm コンピューター板の方の優しさに感謝します。
追記。282=285です。
287 :
Name_Not_Found :01/12/01 08:28 ID:gyyOYNco
>>282 どうでもいいが、Windowsに載っているExplorerとInternet Explorerは
まったく別物のソフト。「エクスプローラ」を起動してみたまへ。さらにどうで
もいいが、OutlookとOutlook Expressもまったく別物。ほんとにMSって何
考えて名前つけてるんだ…
そしてJavaとJavaScriptも別物。Netscapeも何考えてるんだ…
>>287 ワラタ
初心者って長い名前になると変に略すからね・・・
私もサイト運営中でそういう質問に二度出間、三度出間を食らわされたし
典型的な例・・・
>>287 の
Outlook ExpressとOutlook
JavaScriptとJavaに加えて
FrontPage ExpressとFrontPage
さらにいきなり98と略す人もいる。
98って・・・Windows 98? NECのPC98?・・・それでも違うか?
289 :
Name_Not_Found :01/12/01 08:57 ID:IKrhSkaG
>>288 よーし俺もやるぞー。ウィン・ロックにアール入れても
ページディスされないんでドキュ・ライしたんだけどう
まく出ないんで、やっぱウイン・アラ使わないとだめで
すかねー…欝だ。
激しく意味フメーーーン!!!
291 :
289 :01/12/01 11:39 ID:l3NDkycd
>>290 「window.locationにURLを入れたが(新しい)ページが表示されないの
で、document.write(でデバッグ表示させようと)したのだけど、うま
く表示されない。やはりwindow.alertを使わないとだめなのだろうか?」
架空の質問なので回答不要です。回答例「document.writeはページが
表示され終わった後は使えないので、window.alertを使った方がよい」
292 :
Name_Not_Found :01/12/01 12:07 ID:l3NDkycd
javascriptを別ファイルで呼び出したいのですが。 html→ファイル→jsファイルって感じです。 んーなんかよくわからん説明なんで例出します。cssファイルなら html→A.css→B.css と呼びたいとき、htmlに <link rel="stylesheet" type="text/css" href="A.css"> Aに @import url(B.css); と書けば呼び出せますが。これと同様のことをjsファイルでしたいんですが。 どなたか方法教えてください。
293 :
Name_Not_Found :01/12/01 12:40 ID:mWPxTm2e
画像を、曜日・時間ごとに変えてランダム表示するにはどうしたらよいのでしょうか? 教えてください。お願いいたします。
294 :
Name_Not_Found :01/12/01 13:43 ID:l3NDkycd
>>293 曜日・時間で決まるんならランダムじゃないと思うが。画像を入れ
たい場所に<img...>を生成する次のコードを埋め込む。
<script type="text/javascript">
var d = new Date();
document.writeln('<img src="' + d.getDay() + d.getHours() + '.png">');
</script>
で、画像ファイルとして00.png(日曜日午前0時)〜623.png(土曜日23時)
まで用意すると。これでいいの?
295 :
Name_Not_Found :01/12/01 13:55 ID:l3NDkycd
>>292 vol.4の393〜399あたりの方法とか。過去ログは
>>1 からたどれる。
296 :
292 :01/12/02 02:20 ID:S3nmkcbg
vol.4の393〜399みましたが、うまくいきませんでした。。 間にはさむファイルに記述するコードってどうすればうまくいくでしょう、、、
297 :
あんな :01/12/02 02:25 ID:wzBDIrf5
自分のホームページを他人にセーブさせないようにする、 javascriptを教えて下さい。 よろしくお願いします。
>>297 サーバーに各種ファイルをアップロードしないで下さい。
それで解決できます。
>>297 そもそもホームページを表示した段階で、
その人のテンポラリフォルダにはそのページが一時保存されるため、
無意識のうちに既に「セーブ」してることになります。
ですからソースに如何なる防御策を取ってようが無意味です。
などと一応マジレスしておくが、ネタであるに1アフガニ。
300 :
Name_Not_Found :01/12/02 02:44 ID:9epemJrd
関数を使って開いたサブウインドウに ・任意の画像 ・開いたサブウインドウを閉じるボタン を表示するスクリプトを書きました。 下記がそのスクリプトです。 function openWin(pgAd,pgNam,imgAd,w,h){ w=window.open(pgAd,pgNam,"width="+w+",height="+h+"toolbar=no, locationbar=no,directories=no,status=no,munubar=no,scrollbars=no, resizable=no"); with(w.document){ write("<body leftmargin='0' marginwidth='0' topmargin='0' marginheight='0' background='image/bg.gif'>"); write("<img src="+imgAd+">"); write("<br>"); write("<div align='center'>"); write("<form name='btn'>"); write("<input type='button' value='close' onClick='window.close()'>"); write("</form>"); write("</div>"); write("</body>"); close(); } } 上記の関数openWin()を、親ウインドウの画像のリンクからonClickで 呼びだしました。 Netscape6.2で試したところ、サブウインドウは問題なく開くのですが、 しばらくすると勝手にサブウインドウ上の画像とボタンが消えてしまい ます。 もしかしてボタンに記述したonClick='window.close()'に反応してしま うのでしょうか? だとしたらこれを回避する方法はあるのでしょうか? 宜しくご教授下さい!
301 :
300続きです :01/12/02 02:51 ID:9epemJrd
すみません、切れてしまいました。 300の続きです。 上記をNetscape6.2を使って見てみました。 ところが、関数openWin()を呼び出したところ、画像と子ウインドウ を閉じるボタンが表示された後、すぐに子ウインドウは真っ白のペー ジに変わってしまいます。 正常に表示される方法を教えてください。
関数からdocument書き出すのヤメれば大丈夫だと思うけど
更に、document.close();ならわかるけど、w.document.close();になっとるからね。 with文のせいで。
304 :
Name_Not_Found :01/12/02 05:14 ID:b5csxAH1
例えばonClickでfunction aaa()とbbb()の2つの関数を呼び出したい 場合、onClick="aaa(),bbb()"だと思っていたのですが、「そりゃ正しくは onClick="aaa();bbb()"だろ」という突っ込みが入りました。 ,なのか;なのか?それとも別にどっちでもいいのか?どうなんでしょう? 「javascript 関数 複数」で検索をかけてみましたが、使っている検索エン ジンが×××なのか、検索条件が悪いのか答えにたどりつけませんでした。 お手数ですが、解説(,はこうで;はこう)もしくは解説サイトの紹介をお願い できませんでしょうか。
漏れは;の方を愛用しています。 正確な方はシラソ。
愛用って言うか、関数並べるのに「,」使ったら動かんだろ
307 :
304 :01/12/02 08:15 ID:wQgGHDJI
う、動いてるんですが、それってIEが××なだけなんでしょうか? 5.5です。
ieは色々と気の利いた解釈してくれよるからのぅ
309 :
Name_Not_Found :01/12/02 09:45 ID:4sscRd8D
>>304-308 なんていう議論だ…「,」は「カンマ演算子」でして「式+式」が
2つの式の値を足すのと同様、「式,式」は2つの式を計算した後
2番目の式の結果が式全体の値となります。だから「aaa(),bbb()」
はJavaScriptやECMA-262的に完全に正しい書き方。ちなみに
他の言語でもC、C++、Javaにもカンマ演算子がある(っていうか、
Cが起源)。でも私は「;」で区切る方が好みだけど。
310 :
300です :01/12/02 11:33 ID:U17365lE
>>302 ,303
この関数を使った目的は、
子ウインドウに表示される任意の画像のサイズがそれぞれ違うので、
いちいちそれぞれの任意の画像に合わせて子ウインドウのページを
作らないようにするためでした。
ここはやはり、document.writeに書き込まず、それぞれのサイズに
合わせた子ウインドウを準備するしかないのでしょうか?
311 :
Name_Not_Found :01/12/02 15:16 ID:XNnTRYLK
>> 300,310 さん ちょっと変えて遊んでみたら、IE5.5SP2 NN4.78 では動きました。 面白い考え方ですね、N6ではテストして無いから、ゴメン。 function openWin(pgAd,pgNam,imgAd,w,h){ w=window.open(pgAd,pgNam,"width="+w+",height="+h+"toolbar=no, locationbar=no,directories=no,status=no,munubar=no, scrollbars=no, resizable=no"); with(w.document){ write("<HTML>"); write("<body STYLE='margin:64;'>"); write("<div align='center'>"); write("<img src=" + imgAd + ">"); write("<\/div>"); write("<br clear='all'>"); write("<div align='right'>"); write("<A HREF='javascript:self.close()'>[CLOSE]<\/A>"); write("<\/div>"); write("<\/body>"); write("<\/HTML>"); close(); } } //--> </SCRIPT> <A HREF="javascript:openWin('','test','image/foo.gif',240,240)">OPEN Win</A>
312 :
311 :01/12/02 15:30 ID:XNnTRYLK
で、いつも左上隅に開くのはつまらないから、 function openWin(pgAd,pgNam,imgAd,w,h,topmargin,leftmargin){ w=window.open(pgAd,pgNam,"width="+w+",height="+h+",top="+topmargin+",left="+leftmargin+",toolbar=no,locationbar=no,directories=no,status=no,munubar=no,scrollbars=no, resizable=no"); 引数を増やせば開く位置も決められます。ボクはこれで使ってみようかな。 引数のpgAdは必要かな? 渡さなくても中で''にしておけば良い? N6で動かなくても、今のところは我慢するつもり。
別窓はやめてください
314 :
304 :01/12/02 16:41 ID:DtAxDX2J
皆様ありがとうございました。 ,でもいいんですね。安心しました。
316 :
Name_Not_Found :01/12/02 17:49 ID:mc9hiFyV
MSのサイトのプルダウンメニューみたいなのを多階層にできないですか? スタートメニューっぽく下階層を右か左にプルダウンしたいのですが。 サンプルサイトがあれば教えてほしいです。
317 :
Name_Not_Found :01/12/03 00:09 ID:3vy6Z+2E
初心者スレで質問したところこちらをすすめられたので もう一度質問させていただきます。 アニメーションGIFを自分のサイトで作品として展示したいのですが ファイルサイズが少し大きくなってしまいました。 読み込み中にコマ送りのようにすこしずつ表示されていくのは避けたいので ファイルを完全にダウンロードしてから表示させるようにしたいのですが どうすればいいのでしょうか。 よろしくお願いします。
>>317 最初に表示されてる画像は1*1ピクセルとかの
どうでもいい画像にしておいて
onLoad後に画像を切り替えるとかは?
loadingとかって書いた画像でもいいかも。
もしくは、非表示のレイヤの中に画像を入れておいて
onLoad後に表示。
アニメーションgif画像って先読みできるの? var Gazou=new Array("???.gif","???.gif");//←アニメーションgif画像 var preLoad=new Array(); for(n=0;n<Gazou.length;n++){ preLoad[n]=new Image(); preLoad[n].src=Gazou[n]; }
320 :
Name_Not_Found :01/12/03 01:10 ID:f4Ll92/V
ソフト板に書くべきだったらすみません。 NS6.2だとonMouseOverが働いてくれないんですが、 どうしたらいいんでしょう?window.statusが無効なんでしょうか?
321 :
320 :01/12/03 01:18 ID:f4Ll92/V
あっ、失礼しました。 onMouseOverは働きますが、window.statusが働かないという意味です。 そんだけです。ごめんなさい。
322 :
317 :01/12/03 02:02 ID:3vy6Z+2E
>>318 さん
>>319 さん
ありがとうございます。
教えてくださったJavaScriptを使ってみます。
でも
>>318 さんがおっしゃっていたonLoadというのがわからなかったので
JavaScriptを使うならこれからちゃんと勉強したほうがいいみたいですね。
本当にありがとうございました。
323 :
Name_Not_Found :01/12/03 02:30 ID:/XZkJXV+
JavaScriptに「版権」みたいなものは存在するのでしょうか?
>>320 N6.2でもwindow.statusは有効でしたよ。
>>323 版権ってなんだろ?とりあえず著作物には著作権があるってことしかわからん。
もちろんスクリプトにも
325 :
Name_Not_Found :01/12/03 03:43 ID:OfWUnb0c
URLはどこか忘れたけどロールオーバーで スクリプトの著作権主張してた所あったっけ。 あまりにも笑えたんだけどその頃2CHなんて知らなかったしなあ
ロールオーバーだったら誰が書いても似たようなものになるのに 著作権主張されても困っちゃう(w
///////////////////////////////////////////////////
// ハイパーリンク No.1.1 Produced by「CLUB と*や*君」
// URL *
ttp://www2s.biglobe.ne.jp/~clu*_tom/ // 上の2行は著作権表示ですので消さないで下さい
///////////////////////////////////////////////////
*部分自粛
328 :
Name_Not_Found :01/12/03 08:30 ID:pO9DTGTK
>>323-327 もちろん、誰でも思い付くようなものなら、著作者が文句
つけてきて裁判になっても「私も独自に思い付いた」と主張
して争って敗けるとは思えない。
2ちゃんねるに貼られているようなコードなんかは、著作者
が自由に使ってくれという意思表明してるものだと受け止め
てよいと思う。でもそれを商売に使うのはどうなんだろうね?
とはいえ、名なしさんだと誰が著作者かわかんないわけで…
しかし、そういうこととは別に、JavaScriptコードだろう
が著作権によって守られていることは他の著作物と全く同じ。
329 :
Name_Not_Found :01/12/03 08:39 ID:n1ZVVWLU
>>317-319 こういう感じ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var i = new Image();
function init() {
i.src = "long.gif";
i.onload = function() { document.images[0].src = i.src; }
}
</script>
</head><body onload="init()">
<p><img alt="an image" src="dummy.gif"></p>
</body></html>
330 :
Name_Not_Found :01/12/03 08:57 ID:9cKbSz+Z
>>328 なんでも著作物と言うわけにはもちろん行かないよ。
「思想又は感情を創作的に表現したモノであって、文芸、学術、美術又は音楽の範囲に属するモノをいう」というのが、著作物の定義。
プログラムにも適応されるけど、それなりの創作性を持たないと、
保護対象にはならない。
君も言うように、ありがちなコードを多少いじくれば、著作者の証明のしようもない。
331 :
268 :01/12/03 10:56 ID:2YLUbztx
>>268-276 かなり間が空いてしまってすいません。
style・・・のやつで試したのですが、
表示がうまくいきません。リンクの範囲はwidth、heightで指定した通り
設定されますが、セルの中の文字が上の方へよってしまいます。
valignとvertical-alignでmiddleとかやってみたんですけど
上に寄ったままです。なんとかセルの中央にしたいのですが。。。
332 :
300です :01/12/03 12:10 ID:FndqRrbW
>>311 ,312
Thanks! 参考にさせていただきました。
結果NN6.2ではやはり動かなかったようです。
もう少し色々考察してみます。
333 :
Name_Not_Found :01/12/03 12:11 ID:0C8uFRjB
>>331 やっぱり縦方向の配置が問題ですか。あの例だとdivが幅と高さを
決めているので、その中のテキストの位置はtdの属性やスタイル
をいじっても変えられないですね。うーん。
<td onclick="..." style="..."><a href...>...</a></td>
のようにdivをはぶいてtdにonclickをつけるというのではどうかな?
334 :
縞栗鼠(シマリス)の親方 :01/12/03 12:21 ID:A00DIrGz
336 :
初心者 :01/12/03 13:24 ID:Zhqesod5
教えて下さい. ”文字を点滅させる”のと ”窓を10秒後に勝手に閉じる”を同居させたら 文字が点滅しなくなりました. どのような方法にすれば どちらもうまく動くのでしょうか? よろしくお願いいたします.
337 :
名無しさん :01/12/03 14:24 ID:m7TQSIsZ
とりあえず、文字点滅は嫌われるからやめとけ。
339 :
Name_Not_Found :01/12/03 14:58 ID:0C8uFRjB
>>337 ソースはやたら長いけど、やってることは簡単で、画像を横に
きっちり詰めたtableを2つ用意して(まったく同一のもの)、両方
が交互に左端から出て来て右に去って行く(行きすぎたものは
また左端から出て繰る)ようにしてるだけ。
340 :
Name_Not_Found :01/12/03 15:00 ID:0C8uFRjB
>>338 さらに窓を開けたり閉じたりするのもやめとけ :-)
341 :
名無しさん :01/12/03 15:08 ID:m7TQSIsZ
>>339 >両方が交互に左端から出て来て右に去って行く(行きすぎたものは
>また左端から出て繰る)ようにしてるだけ。
これのやり方が全然わからないのですが・・・
ソース見てるとジャバスクリプトかどうかもわからないー。
すんません、もしご存知でしたら教えて下さい。
>>画像スクロール それはドリウイのスクリプト。ソースを眺めているより、自分で組んだほうが速い
343 :
Name_Not_Found :01/12/03 15:54 ID:0C8uFRjB
>>339-342 別に交互にしなくたってよさそう。作ってみました。画像は
とにかく一杯用意して幅を計算して指定する。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { position: absolute; top: 0px; left: 0px }
</style>
<script type="text/javascript">
var d0, count = 0, suf = 'px';
function init() {
if(!document.getElementById) {
d0 = document['d0']; d0.style = d0; suf = '';
} else {
d0 = document.getElementById('d0');
}
setInterval(step, 20);
}
function step() {
++count; if(count >= 0) count = -336;
d0.style.left = count + suf;
}
</script>
</head><body onload="init()">
<div id="d0">
<table border=0 height=40 cellspacing=0 cellpadding=0 width=672>
<td><img src="t0.png"></td>
<td><img src="t1.png"></td>
(途中略)
</tr></tbody></table></div></body></html>
344 :
名無しさん :01/12/03 16:16 ID:m7TQSIsZ
>>343 わざわざどうもありがとうございます!
さっそく試してみますね。ありがたやありがたや。
345 :
344 :01/12/03 16:42 ID:m7TQSIsZ
できました!っていってもコピペしただけなんですが。 最初10秒ぐらいたったら画像がピッと始めにもどったんですが ++count; if(count >= 0) count = -336;←をいじったら 長い間スクロールされるようになったんですけど、このいじり方でいいのかな? なにはともあれどうもありがとうございました。
346 :
Name_Not_Found :01/12/03 16:56 ID:0C8uFRjB
>>345 そのcountという変数は実際は「画像列の左端位置」に対応させて
あるんですよね。ですから、画像列の幅を十分広くしておいて、
一番左(一番マイナス)の値のところでも画面右側まで画像がある
ように調整します。で、だんだん大きくなってきて0より大きくな
ると左にすき間ができてしまうのですかさず最初の位置に戻すわ
けです。あとゆっくり動かしたければsetInterval()の第2引数を
もっと大きい時間(ミリ秒単位)にしませう。
347 :
Name_Not_Found :01/12/03 17:14 ID:v8vZO6Y/
ジャバスクリプトで作ったページを 自分のHD内でためしたら問題なく使えたのに ジオにアップしたら何も表示されなくなってしまったのですが 一体なにが原因なのでしょうか?教えてください、お願いします
348 :
Name_Not_Found :01/12/03 17:18 ID:0C8uFRjB
>>347 まず「ソース表示」で見てローカルに試したものとサーバから
取り寄せて来たものが確かに同一かどうか確認しましょう。
あと、ファイルが複数個必要なのに一部転送し忘れてるとかは
ないですかね?
349 :
Name_Not_Found :01/12/03 17:29 ID:v8vZO6Y/
>>348 さん
レスありがとうございます
早速確認してみたのですがソースが文字化けを起こしていました
これが原因なのでしょうか? 初心者で申し訳ないです
>あと、ファイルが複数個必要なのに一部転送し忘れてるとかは
ないですかね?
こちらは大丈夫です
教えてください。プルダウンってどうやったらレイヤーの下に逝くのでしょうか? z-indexを指定してもダメなんです・・・。 <script language="JavaScript"> <!-- function onMenu1(){document.all.menu1.style.visibility="visible";} function offMenu1(){document.all.menu1.style.visibility="hidden";} //--> </script> <body> <span style="cursor:hand;" onMouseOver="onMenu1()"onMouseOut="offMenu1()">HTML</span> <div style="position:absolute;top:80;left:10;background-color:#aaaaaa;border:groove #aaaaaa;" id="menu1" onMouseOver="onMenu1()" onMouseOut="offMenu1()"> <a href="#">メニューの中身</a><br> </div> <select name="selectName" style="position:absolute;top:75;left:10;"><option value="選択">選択選択選択選択選択選択選択選択選択選択選択選択選択選択選択</option></select>
divのpositionをrelativeかposition指定無しかな。。 あと、<form><select.......></form>にした方がよさげ。 (書式が知ってる人に似てるカモ......)
ごめん、「レイヤーの下」ってのが理解できてなかった。 2次元で下?3次元で下? パス。
>>351 お答え、ありがとう。やってみたけど変わりません。
>>352 正確にはレイヤーじゃないのかな。style=position:absoluteを使うとXとYで絶対指定
ができるでしょ? その位置にプルダウンがいるとプルダウンが一番手前に見えてしまう
って事。重なって、見えないようになってほしいのに・・・。
354 :
:01/12/03 18:03 ID:z+bkCMe0
既出だったらスマソ、閲覧者がドラッグできるレイヤーを使って MacのウィンドウシェードみたいなのをWebページ内で再現する方法ってありますか。 例えば2つのレイヤーをグループ化とかできたらクリックによる 表示、非表示の切り替えで再現できると思うんですが、良い方法ありますかね?
355 :
320 :01/12/03 18:26 ID:db34EHkS
>>324 えっほんとですか?ウチのだとリンク先丸見えで…。なんでだろう?
<a href=link.htm onMouseOver="window.status='リンク';return true" onMouseOut="window.status=''”><img src=link.gif></a>
間違いないと思うのに…。
ブラウザ側に何か設定してるとか、そんなものなんでしょうかね。
356 :
初心者 :01/12/03 20:27 ID:HWs2yPLw
>>356 これしか思い付かん。わるいな。
<body onLoad="si()">
<span id="sp" style="color:red">死</span>
<script>
var clr=new Array("white","red");
var cnt=0;
var cnt2=0;
function si(){
document.all("sp").style.color=clr[cnt];
if(++cnt==clr.length){
cnt=0;
}
if(++cnt2==20){
window.close();
}
setTimeout("si()",500);
}
</script>
</body>
358 :
教えて下さい :01/12/03 21:13 ID:yN9oy7VD
「ラジオボタンを押すと、別の場所の画像が入れ替わる」 という仕組みを作りたいのですが、できるでしょうか? どなたか教えていただけると嬉しいです。
<form> <input type="radio" onClick="document.images[0].src='2.png'"> </form> <img src="1.png"> <!--最近急に初歩的な質問が増えてるような…-->
360 :
358 :01/12/03 21:42 ID:uLUNe5Gw
>>359 嬉しいです、どうもありがとうございます。
>初歩的
すみません、初心者なんです・・・
この掲示板が一番レスが早くて確実と思って、書き込ませて
いただいちゃいました。。
でも本当に助かりました、ありがとうございます。
362 :
Name_Not_Found :01/12/03 23:23 ID:zAQ66fHj
Opera6のUA詐称に対抗するにはどうしたらいいのでせう。 IE4以上とNN6に実行させたいスクリプトで、外部jsファイルに if (document.all || document.getElementById){document.write('<p align="center">');} と記述してたんですが、Opera対策として、 if (document.all || document.getElementById){ if(navigator.userAgent.indexOf("Opera")==-1){document.write('<p align="center">');} } としたり、 if(navigator.userAgent.indexOf("Opera")==-1){ if (document.all || document.getElementById){document.write('<p align="center">');} } としてみました。 これでOperaの設定が「Mozilla5.0として認識させる」ならうまくゆく のですが、「MSIE5.0として認識させる」だと、なぜかdocument.write が廻避されずに実行されてしまって困ります。 しかも奇妙なのは、ローカルで実験した時は意図通りOperaではどんな 設定でも実行されないのに、自サイトにアップロードして確認すると 「MSIE5.0として認識させる」の設定でのみ上述の通りうまくゆきません。 Operaのバグなんですかね? どうかご教示下さい。
363 :
Name_Not_Found :01/12/03 23:40 ID:DmsgDIXU
プロバイダ板で強制的にウィルスをインストールされるような
URLをクリックしてしまいました。ソースを見たところ、どうやら
JavaScriptを使っているようなのですが、厨房な私にはさっぱりわかりません。
ただの脅しだといいのですが、どういう仕組みになっているかおしえていただけないでしょうか。
view-source:
http://www.top.or.jp/~godhand/a2.html
364 :
C:\sugar :01/12/04 00:25 ID:KsXyNfH1
>>363 ぱっと見怪しそうなコードはないですし、JavaScriptではファイル操作はできませんよね。
自分も初心者なのですが。
ところで、JavaScriptを使って棒グラフは簡単に作れるのだが、
円グラフはどうだろう?
DHTMLをもってしても作れないような気が、
365 :
Name_Not_Found :01/12/04 04:31 ID:kKTrsFGh
flashを使わずにカーソルを任意の画像に変更することは 可能でしょうか?リンクの上に来た時とクリックした時だけ 別画像に差し替えたいのです。IE6以降じゃないと無理ですか? またクリックすると画像が飛び散るというのもJavaScriptでしょうか?
366 :
Name_Not_Found :01/12/04 09:06 ID:kcZTsJ9U
>>365 任意の画像にはできない。vol.3の553-554近辺。飛び散る画像は
vol.4の300近辺。過去ログを読まないとね。
>>364 円グラフは難しそうですねえ。SVGとか別の技術を使うんでしょうね。
>>363 document.getElementByIdはIEにもあるんで、
if(document.all || document.getElementById) ... は
if(document.getElementById) ... と同じことだと思うんだけ
ど。Operaが提供してないDOM2の関数は一杯あるからそれで判別すれば
いいんじゃないすか?
http://www.opera.com/docs/specs/js/ ここを見ると if(document.plugins) だったらOperaではないとか
でいいような気がするけど試してません。
367 :
Name_Not_Found :01/12/04 09:33 ID:SptyXuN+
>>366 document.getElementById は IE4 では実装されてないので、
362の言うIE4以上という条件を満たすにはdocument.allも必要。
362の言いたいことはよく分からん。362の書いたコードは
全てIE5で実行されるので、「MSIE5.0として認識させ」れば、
cocument.writeは回避されないのが正しいのでは?
OPERAは使ったことなので詳しくは知りませんが。
368 :
362 :01/12/04 10:19 ID:2vXlz8X8
説明不足だったみたいですみません。 OperaはUA名を偽称できる機能があって、その デフォルトでは「MSIE5.0として認識させる」になってます。 そしてnavigator.userAgentに対して返す値は下記の通り。 Mozilla/4.0 (compatible; MSIE 5.0; Windows 98) Opera 6.0 _ [ja] しかもif(document.all)でIEだけに適用させたくてもOperaは反応してしまって……。 それでif(navigator.userAgent.indexOf("Opera")==-1)も入れて見たんですが、 「Moziila5.0と認識させる」に対してはOperaのUA偽称を無効にできたのに 「MSIE5.0として認識させる」に対しては有効にならないで(しかもなぜかWebに アップしてある場合だけ)依然としてIE向けスクリプトを実行する。 これをOperaがいかにUA詐称をしようとも他のブラウザ向けスクリプトは 実行させない風にプログラムしたいのです。 ご助言いただけるとありがたい限り。
369 :
362 :01/12/04 10:36 ID:2vXlz8X8
ごめんなさい、問題のページを今日見たら、うまく直ってました。 昨晩Opera除けのためにしたスクリプトの変更が反映されなかったのは、 するとどうやらキャッシュが強力な所為なのかなぁ。 でも昨日もディスクキャッシュを空にして試してたんですけど……。 とにかくOperaにはなんかまだまだ細かい不備が多い感じです。 オンラインでちゃんと動くスクリプトがオフラインでは動かなくなったりするし。
370 :
Name_Not_Found :01/12/04 14:34 ID:7VUCmSOi
おそレスなうえにあいまいですが プルダウンが下に行かないのはたしか バグだか仕様だったと聞いた覚えが( ´ρ`)。o ○
371 :
363 :01/12/04 15:05 ID:QS+7K+Mg
レスくれた方ありがとうございます。 仕組みについて解説していただいたのですが、 勉強不足で何のことか分かりません・・ でも、変なプログラムが入ってないことが分かったので安心しました。
>>364 >JavaScriptではファイル操作はできませんよね。
そうでもないよ。
スキュレティーホーレだかんね。
373 :
Name_Not_Found :01/12/04 20:44 ID:hn+V/dpn
教えてください。 画像とテキストが同じ位置で切り替わるリンクボタンを作成しています。 始めは画像表示、onmouseoverでテキスト表示、onmouseoutで再び画像表示、 テキストをクリックするとリンク先へ。というものを複数並べたいのです。 画像切り替えの動作がかなり怪しいのと、レイヤーon、offのループの中で どの様にリンクを貼ったら良いか分かりません。 よろしくお願いします。
374 :
317 :01/12/04 21:05 ID:lWRDAN7N
>>329 さん
ありがとうございます。
これを使わせていただくとしたら"long.gif"にアニメーションGIFを入れて
"dummy.gif"に適当な画像を入れておけばいいのですか?
ファイル名で判断しただけなので間違っていたら教えてやってください。
とことん手間かけさせてしまってすみません…
375 :
Name_Not_Found :01/12/04 23:50 ID:E3BbpsSi
376 :
Name_Not_Found :01/12/05 00:21 ID:ex1JNedE
教えてください フォームの内容を送信するとき、 document.forms[].submit(); と onSubmit="関数"; とどっちがよいのでしょう? 上記の場合はブラウザによっては動かない場合があると 書いてる本もありましたが… 既出だったらすいません
>> 376 入力された項目のチェックとか? JavaScriptを切っている人のことを考えれば、後者の方がよい。 CGI側でも、JavaScriptを切っている場合を想定した処理をすること。
378 :
Name_Not_Found :01/12/05 00:37 ID:ex1JNedE
>>377 ありがとうございます。
そうです。項目のチェックです。
今までは何も考えずにonSubmitを使用していたのですが、
急に気になってしまって…
でも何でjs切っている人には後者がいいんでしょ?
あほですいません
379 :
Thanks :01/12/05 00:39 ID:WkLfA51C
>>370 やっぱり仕様なのかぁ、報告ありがと。
考えた結果、IDふってhiddenにすればできるね(Microsoftのページ参照)。
380 :
377 :01/12/05 01:00 ID:ZaZqiUqi
>>378 そらあんた、submitメソッドで送信させたら、
JavaScriptを切っている人はフォームが全く使えなくなって
しまうがな。
381 :
Name_Not_Found :01/12/05 08:24 ID:GxjwI6b6
>>373 ホレ。N6/IE。N4に対応させることもできなくはないけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<style type="text/css">
#d0a { position: absolute; top: 50px; left: 50px; width: 50px; height: 50px }
#d0b { position: absolute; top: 50px; left: 50px; width: 50px; height: 50px;
visibility: hidden }
</style>
<script type="text/javascript">
function set(i, s) {
document.getElementById(i).style.visibility = s;
}
</script>
</head><body>
<p>test...</p>
<div>
<div id="d0a" onmouseover="set('d0b','visible');set('d0a','hidden')">
<img src="t0.png" alt="an image"></div>
<div id="d0b" onmouseout="set('d0a','visible');set('d0b','hidden')">
<a href="
http://www.yahoo.co.jp ">Yahoo</a></div>
</div>
</body></html>
382 :
Name_Not_Found :01/12/05 09:32 ID:xsmyhrt+
>>381 getElementById() って IE4 で使えたっけ?
無理
384 :
Name_Not_Found :01/12/05 11:43 ID:qK1X9pEa
>>381-382 IE4な人ってまだ結構いるんですかね?こうすれば使える(ついでにN4も)。
if(!document.getElementById) {
if(document.all) document.getElementById = funciton(i) { return document.all[i]; }
else document.getElementById = function(i) { return document[i]; }
}
385 :
:01/12/05 11:48 ID:c5C9Zg8U
質問です。 document.all ってなんですか? 手元のJavaScriptの本には載ってない(?)みたいなんですが。 ちなみに、これはie4以降で搭載されたもので4以前のieと根介にはない らしく、なので、これを用いてブラウザ判別が簡単にできるそうです(単純なもの)。 こんな感じ(↓) if(document.all){alert("ie4以上ですね!");} document.allってもともとどんなことに使うものですか? 気になるので教えてください。お願いします。
要素を取り出す。 document.getElementByIdってのは知ってるよな? でもIE4は使えないだろ? document.allとすればIE4でも同様の効果を持つ。 (完全に同じではない) IE4から使用可能だから、君の書いたif(document.all).....は「IE4以上であれば・・」って 言える。 説明ベタ失礼。
387 :
Name_Not_Found :01/12/05 12:00 ID:qK1X9pEa
>>385 document.allはIEの独自拡張で、id属性またはname属性を指定した
要素を取り出すのに使うことができます(関数として呼んでも、
配列だと思って添字指定してもよい)。DOM2の標準ではこれら
の機能はdocument.getElementById()とdocument.getElementsByName()
というメソッドを使うので、クロスブラウザに配慮するなら
document.allは使わない方がいいと(私は)考えています。ま、それ
はそれとして、IEの独自拡張なのでこれが存在していればIE、
という感じで利用されることが多いのですが、IE以外のブラウザ
でIE互換にするためこれを実装しているブラウザもあるので必ず
しもIEにきっちり限れるというわけではないようです。
すみません。矢印キーを押すと、「移動します」という表示のあと、他のページに切り替わるようにしたいのですが、うまくいきません(涙 ご教授のほどをよろしくお願い致します。 <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> var direction =event.keyCode switch(direction) { case 39: document.write("移動します"); URL=C\My Documents\ppi break case 37: document.write("移動します"); URL=C\My Documents\mmp break default: break } </script> </HEAD> <BODY onkeydown="switch()"> </BODY> </HTML>
390 :
Name_Not_Found :01/12/05 12:46 ID:qK1X9pEa
>>389 (1)「URL」という変数に入れるとページが切り替わると習ったのか?
ふつーは「window.location.href」に代入するはずなのだが、どこでこ
んなことを習ったのか?小一時間問い詰めたい。
(2)「C\My Documents\mmp」とはJavaScript的に何だ?文字列なら「""」
か「''」で囲まなければならない。文字列でないとするとこれは一体
何だ?小一時間問い詰めたい。
あと、document.write()を使うとそれまで表示されていたものは消えて
真っ白になるんじゃないかと思うけど、それでいいのね?
すみません。htmです。 window.location.href="C\My Documents\ppi.htm" とすべきなのでしょうか。 あと、表示を消さずに画面上に「移動します」を書きたいのですが、やりかたがわからないんですう。 重ね重ねすみません。
392 :
Name_Not_Found :01/12/05 13:15 ID:r3YQnIL0
IE5で確認
<script type="text/javascript"><!--
function giko(){
if(event.keyCode==39){
document.getElementsByTagName("span")(0).innerText="移動します";
location.href="
http://www.yahoo.co.jp/ ";
}
}
window.document.onkeydown=giko;
//--></script>
</head>
<body>
<span></span>
393 :
Name_Not_Found :01/12/05 13:49 ID:EhcxrCT7
Mac版NN4.04でフォームの内容が空欄の時アラートを出したいのですが、 if(document.forms[].elements[].value == "");{ alert ("NG"); } と書いてもフォームに日本語を入れた場合うまく認識してくれず、 アラートがでてしまいます。 何か良い回避方法はありませんか どなたかご教授願います。
394 :
Name_Not_Found :01/12/05 14:01 ID:qK1X9pEa
>>393 日本語を変換した後「確定」してないだけだったりしない?
395 :
Name_Not_Found :01/12/05 14:05 ID:EhcxrCT7
>>394 ただ単にアラートを出したいだけなのですが
日本語を変換とは?
他のブラウザではOKです
396 :
Name_Not_Found :01/12/05 14:08 ID:qK1X9pEa
>>392 だいたい、メッセージはもう決まっているんだからbodyでは
<div id="msg" style="position:absolute; font-size:400%; visibility:hidden">
移動します</div>
とかしておいて
document.getElementById('msg').style.visibility = 'visible';
で見えるようにするとかの方がいいんじゃないかな?
397 :
Name_Not_Found :01/12/05 14:11 ID:qK1X9pEa
>>395 いや、ですから、日本語を入れるには漢字変換して、
正しい候補が出たらリターンで「確定」するですよね。
それをしてない(候補が表示された状態のまま)だとうまく
行かないかなと思って。もちろん違う原因かも知れませんが。
>396 動きゃいいんじゃねーの?
399 :
Name_Not_Found :01/12/05 14:18 ID:qK1X9pEa
>>398 「動けばいい」と思う人は別にそれでいいです。
私はプログラムって美しいかどうかも大切だと思う。
「こう直せ」なんて押しつけるつもりはないですよー。
>392と>396の美しさの違いがわからん。
401 :
Name_Not_Found :01/12/05 14:22 ID:EhcxrCT7
>>397 素早いレス感謝します。
なるほどそういう意味でしたか。
いえ、しっかり「確定」はしてます。
あるページにはnn4.0xのバグと書いてました。1文字でも英数字を
入れるとOKらしいです。でもそんなこと期待できないので…
他にいい方法探してます、このブラウザは諦めるしかないんでしょうか
402 :
Name_Not_Found :01/12/05 14:44 ID:qK1X9pEa
>>400 (1)spanにinnerText()で挿入するとその場所にさし込まれる
(ページの残り部分がずれる)が、visibilityを切り替える
方法だとページにスーパーインポーズして出せる(だから
大きい文字とか中央に出すとかしてめだたせることも
できる)。
(2)innerTextはW3Cの標準に含まれてないから使わなくて
済むなら使わない方がうれしい。
(3)固定したメッセージを見せるのにどんな文字列でも
出せる方法を使うのは強力すぎて気持ちが悪い。
別に賛成してくれなくていいです。自分が思うだけだから。
403 :
Name_Not_Found :01/12/05 14:46 ID:qK1X9pEa
>>401 (1)その受け取ったvalueの値をwindow.alert()などで表示する
と表示されるのですか?されないならマジに重大なバグで
しょうから難しいですね。
(2)念のためですが、そのvalueの値に対してvalue.length()
をやはりwindow.alert()などで表示するとどうなりますか?
やっぱり「0」になってしまうんでしょうか…
404 :
392 :01/12/05 14:58 ID:2Vfp5Nkh
405 :
385 :01/12/05 15:00 ID:c5C9Zg8U
385です。先程は質問にお答えいただきありがとうございました。
>>386 .387
また質問なのですが、背景の色がパラパラ切り替わるページを作ろうと
以下のようなスクリプトを作ったんですが、ie5.5 nn4.7ではうまくいったのに、
ネスケ6.1ではうまく動きませんでした。
どこかへんなところがあるでしょうか?
<html>
<head>
<title>背景色変化</title>
<script language="javascript">
<!--
function bgc(){
for(i=0 ; i < 100 ; i++){
document.bgColor="red";
document.bgColor="blue";
document.bgColor="green";
document.bgColor="yellow";
}
}
-->
</script>
</head>
<body>
<form>
<input type="button" value="色が変わるはずなんだけど・・・" onClick="bgc();">
</form>
</body>
</html>
お暇な人、教えてください。マシンはwinです。
愚問の匂いがプンプンするのでさげます。
書き忘れました。 うまく動かなかったというのは、黄色で止まってループしないって ことです。黄色いまんま。。
407 :
Name_Not_Found :01/12/05 15:12 ID:EhcxrCT7
>>403 早速試してみました。
(1)アラートを出しても何も表示されません。
例:あああ → 「」
あああa → 「あああa」
(2)lengthを表示させると0です。
例:あああ → 0
あああa → 7
おっしゃる通り難しいようです。
mac版nn4.0xを使用している人なんてほとんどいませんよね(笑)
わざわざ回答してくださって、本当にありがとうございます。
408 :
Name_Not_Found :01/12/05 15:14 ID:qK1X9pEa
>>405 それもW3Cの標準的にいえばdocument.body.style.backgroundColorが
正しいので、N6ではこちらしかサポートしてないのでしょう。IE
ではたぶん両方サポートしてるんだと思うな。あと、色変化をフル
スピードで回すのはやめた方がよくて、setTimeout等を使って一定
時間間隔で実行した方がいいですね。というわけで直してみました。
N4/N6/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<script type="text/javascript">
var cols = ['red','blue','green','yellow'], count = 0;
function bgc() { count = 40; setTimeout(step, 100); }
function step() {
var c = cols[(--count)%(cols.length)];
if(document.bgColor)
document.bgColor = c;
else
document.body.style.backgroundColor = c;
if(count > 0) setTimeout(step, 100);
}
</script>
</head><body>
<H1>test...</h1>
<form aciton="#"><p>
<input type="button" value="Change" onclick="bgc()"></p></form>
</div>
</body></html>
409 :
Name_Not_Found :01/12/05 15:22 ID:qK1X9pEa
>>406 おっと、黄色にはなるんだったらdocumentbgColorはサポートされ
ているんだ。とすると、フルスピードでやっちゃうための問題?
ともあれ、
>>408 のコードなら大丈夫だろうと思いますが。
>>407 そりゃーどうしょうもないですね。残念でした。ちなみに昨日、
Mac OS-X用のMozilla 0.9.6を取ってきて使ってみたのですが快適
ですよー。
410 :
391 :01/12/05 15:26 ID:KuFXCA8q
411 :
Name_Not_Found :01/12/05 18:03 ID:R3Y59NHI
チェンジバナーのスクリプトってどこかにありませんか? cgiは見つけたんですけど、jsは不安定だからあんまりないんでしょうかね?
412 :
Name_Not_Found :01/12/05 18:10 ID:ohHfKaKM
チェンジバナー?
413 :
411 :01/12/05 19:45 ID:R3Y59NHI
時間でジフを書き換えてリンク先も変えられるスクリプトのことです。
414 :
Name_Not_Found :01/12/05 20:04 ID:LC9MdkDx
>>411-413 時間待つのめんどいからランダムバナーにしてみたけど。N6/IE。
IE5.0までだとMath.random()にバグがあって多少手当が必要。
<script type="text/javascript">
var imgs = ['t0.png','t1.png','t2.png'];
var refs = ['
http://www.yahoo.co.jp ','
http://www.goo.ne.jp ',
'
http://www.infoseek.co.jp '];
function init() {
var i = Math.floor(Math.random()*3);
document.images[0].src = imgs[i];
document.getElementById('a0').href = refs[i];
}
</script>
</head><body onload="init()">
<p><a id="a0" href="
http://www.yahoo.co.jp "><img src="t0.png" alt="banner">
</a></p>
</body></html>
415 :
Name_Not_Found :01/12/05 20:57 ID:FNgSjawZ
416 :
デフォルトの名無しさん :01/12/05 21:33 ID:kH7wFfOm
ストップウォッチの作り方を教えてください。(htmlで) 0〜9までのgifを使って美しく作りたいのですが、 なかなかできません。こんなドキュソですがお願いします。m(_ _)m
417 :
Name_Not_Found :01/12/05 21:51 ID:Nq88E4gT
>>416 HTMLだけではできませんがJavaScriptを併用すれば。何ミリ
秒間隔の精度にします?100ミリ秒なら楽勝だけど10ミリ秒
はちときつい。「スタート」「ストップ」「リセット」の
ボタンがあればいいの?
418 :
デフォルトの名無しさん :01/12/05 22:05 ID:kH7wFfOm
>>417 さんへ
gif使ってできます?形はどんな形でもよいので
ソースさえ教えてくだされば(作って)後はこちらでいろいろと
イジってみようかと思っているます。
ボタンの形とかは特にこだわりませんのでヨロシクお願いします。ペコリ
419 :
意表を突いた質問だね :01/12/05 22:21 ID:U+EhuWeA
<script language="javascript"> var suhji=new Array("0.gif","1.gif","2.gif","3.gif","4.gif","5.gif","6.gif","7.gif","8.gif","9.gif"); var c=0,c2=0,c3=0; function watch(){ document.images[2].src=suhji[c]; if(++c==suhji.length){ c=0; document.images[1].src=suhji[c2++]; } if(c2==6){ c2=0; document.images[0].src=suhji[c3++]; } t=setTimeout("watch()",500); } </script> <img src="0.gif">:<img src="0.gif"><img src="0.gif"> <form><input type="button" value="○" onClick="watch()"> <input type="button" value="×" onClick="clearTimeout(t)"></form> 試してない。 こんなんちゃうかな〜と思って書いた。 誰か添削キヴォンヌ。
420 :
デフォルトの名無しさん :01/12/05 22:29 ID:kH7wFfOm
>>419 さん
for ( i = 0 ; i < 2 ; i++ ) {
n = parseInt( hour.toString().charAt(i));
document.images[0 + i].src = "../giffiles/numbers/" + num_image[n] + ".gif";
}
for ( i = 0 ; i < 2 ; i++ ) {
n = parseInt( min.toString().charAt(i));
document.images[2 + i].src = "../giffiles/numbers/" + num_image[n] + ".gif";
}
for ( i = 0 ; i < 2 ; i++ ) {
n = parseInt( sec.toString().charAt(i));
document.images[4 + i].src = "../giffiles/numbers/" + num_image[n] + ".gif";
}
421 :
373 :01/12/06 01:18 ID:15qV2KwS
>>381-384 の皆さん、朝早くからありがとうございます。
そっくり頂けると思っていなかったので感激です。
動いてます。こんなにコンパクトになるなんて。
良かった〜。
>>416 ←デフォルトの名無し
>>418 ←デフォルトの名無し
>>420 ←デフォルトの名無し!?(ハァ??
え?何これ?自作自演?にしても新種だな。
知ってるなら聞く必要ないじゃん。
マジわけわからん。
423 :
Name_Not_Found :01/12/06 08:09 ID:zHpIJ1Rp
>>416-421 「時計」じゃなく「ストップウォッチ」だよね?私ならこうかな。N4でも動くぞ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<script type="text/javascript">
var digs = new Array(10), count = 1000000, tid = null;
for(var i = 0; i < 10; ++i) (digs[i] = new Image()).src = 't' + i + '.png';
function disp() {
var a = (String(count)).match(/(.)(.)(.)(.)(.)(.)$/);
for(var i = 0; i < 6; ++i) document.images[i].src = digs[Number(a[i+1])].src;
}
function start() { tid = setInterval(function() { ++count;disp(); }, 100); }
function stop() { if(tid != null) clearInterval(tid); tid = null; disp(); }
function rst() { count = 1000000; disp(); }
</script>
</head><body>
<table><tbody><tr>
<th><img src="t0.png"></th><th><img src="t0.png"></th>
<th><img src="t0.png"></th><th><img src="t0.png"></th>
<th><img src="t0.png"></th><th><img src="t0.png"></th></tr></tbody></table>
<form action="#"><p>
<input type="button" value="start" onclick="start()">
<input type="button" value="stop" onclick="stop()">
<input type="button" value="reset" onclick="rst()"></p></form>
</body></html>
424 :
423 :01/12/06 10:11 ID:GSMTE4et
>>423 スマソ、IE6で試したらstart()という関数名はダメみたい。
関数名をすべて「start1()」「stop1()」「rst1()」のように
変更して動かしてちょ。
425 :
411 :01/12/06 12:40 ID:RVmzOKGt
414さんありがとうございます。 ただ、どうしても時間制御でやりたいので、そちらの方もできれば よろしくお願いしたいんですけども。
426 :
Name_Not_Found :01/12/06 12:46 ID:GSMTE4et
427 :
Name_Not_Found :01/12/06 12:51 ID:4dtLLrOt
Javascriptだけで掲示板やチャットを作ることはできますか?
428 :
426 :01/12/06 12:51 ID:GSMTE4et
>>425 スマソ、分かった。時刻ごとに対応するバナー出すのね?
(1)配列imgs, refsの個数を24指定する。
(2) var i = (new Date()).getHours();
いっとくけど、これくらいできなきゃダメだよー。
429 :
Name_Not_Found :01/12/06 12:53 ID:GSMTE4et
>>427 できない。というか、1つのブラウザ画面の前に
みんな集合して交代で打つのでよければできるが。
サーバ側プログラミングが必要なのはどういう場合
かぐらい分かって欲しいぞ。
>>429 うあ、わかりました。
どうもありがとうございました。
431 :
Name_Not_Found :01/12/06 13:00 ID:THwq4qAd
下のスクリプトに関して質問したいのですが、 target指定(別のウインドでの表示)は 可能でしょうか? 教えてください。宜しくお願いします。 ソース ▼ HEAD内 <SCRIPT LANGUAGE="JavaScript"> <!--- 非表示 function quicklink(w){ if(w == "") return; document.quick.url.selectedIndex = 0; location.href = w; } //end ---> </SCRIPT> ▼BODY内(表示したい場所) <FORM name="quick" action="./"> <SELECT NAME="url" onChange="quicklink(this.form.url.options[this.form.url.selectedIndex].value)"> <OPTION>- Quick Link - <OPTION VALUE="../../index.html">ホームへ <OPTION VALUE="for_1.html">ボタンをリンクに使う </SELECT> </FORM>
window.openを使えばいいじゃん、という気もするが、 次のような方法もある。IEのみ。 <SCRIPT LANGUAGE="JavaScript"> function quicklink(w){ if(w == "") return; document.quick.url.selectedIndex = 0; a = document.getElementById("a1"); a.href = w; a.click(); } </SCRIPT> <A ID="a1" HREF="" TARGET="_blank" STYLE="display: none;">hoge</A>
433 :
Name_Not_Found :01/12/06 13:28 ID:gnhaW7VQ
location.href=w; ↓ window.open(w,"","");
434 :
411 :01/12/06 14:44 ID:RVmzOKGt
>428 言葉足らずですいません。 >時刻ごとに対応するバナー出す そうではなくて、開いてから何十秒後とかに変えたいんです。 お手数おかけしてすいません。
435 :
あんな :01/12/06 15:24 ID:IhrCXw8G
教えて下さい 他人に自分のホームページを保存させない、 Javascriptを教えて下さい。 よろしくおねがいします。
436 :
Name_Not_Found :01/12/06 15:30 ID:bBik/ZFK
HTMLである限りムリなような…。 例えば、FLASHだと、swfファイルを吐き出すCGIを作って、そのCGIに リファラーをチェックさせるとかとか
437 :
Name_Not_Found :01/12/06 15:32 ID:KYe44J0v
>>435 いや、だからね、出来ないって言ったでしょ?
439 :
あんな :01/12/06 15:34 ID:IhrCXw8G
bBik/ZFKさんへ 時々綺麗なホームページを保存しようとしたら、 ”保存できません”とでるのは、 HTMLではできないのですか?
JavaScriptで出来たとしても ブラウザの設定でJavaScript切ったら効かないし。<保存防止
441 :
Name_Not_Found :01/12/06 15:47 ID:GHhfli6T
>>439 IEの「ファイル(F)」メニューの「名前を付けて保存(A)」から
保存できないようにすることは可能だよ。
442 :
あんな :01/12/06 15:49 ID:IhrCXw8G
GHhfli6Tさんへ どのようにしたらできるのですか?
443 :
Name_Not_Found :01/12/06 16:31 ID:KoKciLek
>>434 <body onload="init()">を
<body onload="setTimeout(init, 5000)">にしたら?
window.resizeで、普段フレームセット内にあるHTMLファイルを、 親フレーム無しで(フレーム解除状態で)表示された場合だけ 窓の大きさを変更したいのですが―― どんなif構文にすればよいのやら。ご示教いただけると助かります。 (普通にonLoad=""で実行させるとNNやOperaでは親フレームの大きさにまで影響を及ぼすので)
445 :
名無しきぼう :01/12/06 19:28 ID:ehjzeXnO
newpage1.htmlから別ウインドウ(newpage2.html)を開いて newpage2.htmlのプルダウンメニューから、1項目を選択。 するとnewpage1.htmlのテキストボックスに newpage2.htmlで選んだ値が入る。 このサンプルをください。
446 :
Name_Not_Found :01/12/06 20:08 ID:VBuSWKKB
>>444 if(window == window.top) window.resizeTo(400, 300);
>>445 newpage1.html:
win = window.open('newpage2.html', ...);
win.textbox = document.forms[0].elements[0]; //etc...
newpage2.html
<select onchange="window.textbox.value = this.selectedIndex">...
447 :
Name_Not_Found :01/12/06 20:09 ID:um5kuU35
リターンキーで、フォームをSubmitしようと思って、 document.onkeydown = ****; でイベント取ろうと思ったら、NNでテキストエリアに フォーカスがあると、イベントが発生しない。 テキストエリアで、onKeyDownを発生させることは出来ないの? また、onChangeで取ることも可能だけど、最後に押されたキーを 取得することってできないのでしょうか?
>>447 テキストエリアでリターンキー送信って…
改行不可? なぜにテキストエリア?
449 :
444 :01/12/06 20:47 ID:FPjIrFsi
450 :
FORM :01/12/06 20:59 ID:1HRzg8wM
こんちは、 java scriptなのですが、 入力フォームでエンターキーで関数にとばしたいのです。 <form name="myForm"onsubmit="refresh()"> <input type="text" size="2" name="ticker" > ENTERキーによりonsubmit...でticker変数を扱うrefresh()関数へとばしたいのです。 ボタンは使いません。 上記のコードではうまく動作しないので、詳しいかた教えて。thanks
451 :
Name_Not_Found :01/12/06 21:11 ID:Wj44twee
>>450 「onsubmit」の前に空白があいてないとかいうオチじゃあ
ないよね?
452 :
FORM :01/12/06 21:16 ID:1HRzg8wM
ちがうよ。スペースは関係なし
453 :
FORM :01/12/06 22:06 ID:1HRzg8wM
すみません、一応解決しました。問題は別のところにあり。あんまわかってません。
kumiか・・・
455 :
Name_Not_Found :01/12/07 05:11 ID:DYDs1fag
>>439 CGI使って「画像を保存できなくする」とかあるよ。
ネトアサイトとかで見かけるね。
でも、それすらヲチ板の奴らは落としてたから、ましてやjavascriptでできるワケない。
ところで、保存されたら困るコンテンツとかあるの?
>>454 ヤッパリ?
456 :
:01/12/07 05:43 ID:kUeI0uWi
>>455 さん
IEの「ファイル(F)」メニューの「名前を付けて保存(A)」から
保存できないようにするやり方分かりますか?
いんたーねっとライブラリーアーカイブス.orgに 保存されないようにするコワザは存在しますか?
>>455 CGI??
どういう仕組みにしてるのか理解できない。
ネットアイドルのサイトなんて見ないしなあ。
スレ違いか・・・。
459 :
457 :01/12/07 06:34 ID:9UrI7eya
ごごごめんなさい。おもいっきり別スレッドにでてました。 解決しました。
460 :
Name_Not_Found :01/12/07 08:30 ID:2PNCDTlD
461 :
画像の先読みについて :01/12/07 09:30 ID:/LobWFXS
すいません、わかんなくなってしまいました。 switch(num){ case 0: b++; a = new Image(); a.src = b+".jpg"; document.anime.src = a.src; break; case 1: b--; a = new Image(); a.src = b+".jpg"; document.anime.src = a.src; break; } 先読みのスクリプトは内部処理に組み込んではだめなのでしょうか? (読み込みが途中で終わる)
462 :
Name_Not_Found :01/12/07 13:19 ID:Nhbk/sBh
>>461 先読みなんだから、先読み画像1つについて1つImageオブジェクトを
用意して最初にsrcを設定し、あとはsrcを参照するだけにした方がいいよ。
463 :
Name_Not_Found :01/12/07 13:28 ID:0/jrj5gU
464 :
Name_Not_Found :01/12/07 13:40 ID:2kLPdGdI
>>460 ,
>>463 たぶん説明がめんどいというか長くなるから出ないのでしょう
そこら辺にサンプルがたくさん落ちているとおもわれます
(・ε・)ノ
>>316 のは、「ドリームウィーバー4マジック」に載ってたなあ。
DW4での作成法だからスレ違いっすね。スマソ。
466 :
Name_Not_Found :01/12/07 13:55 ID:Nhbk/sBh
>>463-465 サンプルサイトは知らないんで。原理的には
(1)メニューは画像にしてレイヤーなりに入れればいつでも
どこにでも出したり引っ込めたりできる。
(2)メニューの上でマウスポインタがどこを動いているかとか
メニューから外れたとかどこでクリックしたとかもonmousemove
やonmouseoutやonmousedownとかで問題なく取得できる。
以上の機能を使えば階層メニューとして動作させるように
コード組むのもやればできる。めんどくさいけど。
自分では画像を用意するのが手間なのでテキストだけでやり
たいなと思っているんだけど、なんか思ってもいないところ
でonmouseoutが出てメニューが閉じてしまうのでほってある
(Mozliia 0.9.6を使っています)。
467 :
C:sugar :01/12/07 14:07 ID:A2ehPrVr
同じ機能を実現するならば、より少ないコードでプログラムが動くほうが美しい。 おれてきには。
468 :
Name_Not_Found :01/12/07 14:18 ID:Nhbk/sBh
キモ━━━━━━(・∀・)━━━━━━イ!!
>>467 そうですよね。
W3Cに合わせるためだけに、コードの量を増やして、
ダウンロードにかかる時間を増やすのは閲覧者にとってもイヤですね。
それに、見通しが悪くなるしね。
471 :
Name_Not_Found :01/12/07 16:13 ID:Nhbk/sBh
>>467 W3Cにあっていてなおかつコンパクトで美しいのが理想でしょ。
472 :
onBlur="focus()" :01/12/07 20:05 ID:dYx0TF2/
フレームを使用したサブウィンドウに常に全面表示をしたいと思ってます。 onBlur="focus()"をcgi側のソース<frame>や<frameset>内に記述し動作確認すると IE5では、全てのボタンが無効になります。 cgiで呼び出されるデータファイルに <Body onBlur="focus()">と記述もしてみましたが IE5ではダメでした。 winIE5.5、IE6.0、NN6.2動作OKでした。 MacIE5、NN4.7動作OKでした。 IE5の問題なのでしょうか? アドバイス宜しくお願い致します。
frameに指定したからじゃない? 試してないから分からないけど framesetだけに指定しても駄目なの? フレーム全部にフォーカスが当たるってのはなんだかキモチ悪い。
474 :
Name_Not_Found :01/12/08 00:11 ID:nlNwgXFi
framesetだけに指定もしてみましたが、ダメだったんです。
475 :
Name_Not_Found :01/12/08 00:24 ID:zF+gxwE9
>>474 サブウィンドウってwindow.open()で開いたやつ?
なら親ウインドウから監視したら?
今、気が付いたけど
>>472 の全面表示 ってのは 前面だよね?
focus()とか使ってるんだから、当たりまえか・・・
477 :
Name_Not_Found :01/12/08 00:49 ID:Qo9HzC5n
>>472 onBlur="setTimeout('focus()',10)"
としてみたら?
10は状況に応じて変えてみる。
478 :
423 :01/12/08 10:58 ID:+F/sjFS6
>>477 その場合「何に」focus()されるのか曖昧だよねえ。まあ
やってみてうまく行けばいいのかも知れないけど。
479 :
478 :01/12/08 11:02 ID:+F/sjFS6
>>478 スマソ、別に423だとか言う必要はなかったんだけど。
消し忘れた。
( ) ノ( * )ヽ ブッ ノωヽ\ \ \ ベシ ●( `Д) ノ ヾ / (
481 :
MAKKY ◆QVBQLRg6 :01/12/10 09:53 ID:JZcp1vPL
教えてください!せっぱツマッテマス。 JavaScriptである一定の範囲だけ (例えば1枚のHTMLに入力部分と集計部分があるHTMLの集計部分だけ) をボタン一つで印刷するにはどうすれば良いのでしょうか? くだらない質問ですいません。
482 :
MAKKY ◆QVBQLRg6 :01/12/10 10:42 ID:JZcp1vPL
追加です!。 フォームで分かれていない、ノペラ〜ンとした 1枚のHTMLです。。。 よろしくお願いします!!
>>481 スタイルシートを使って印刷したくない部分を非表示にする。
ネスケ4だと無理だと思うが。
@media print {
印刷したくないとこ { display: none; }
}
484 :
MAKKY ◆QVBQLRg6 :01/12/10 10:53 ID:JZcp1vPL
>>483 さん
ありがとうございます!
上下ばらばらに印刷したいのです。
上の私の例だと、入力部分だけの印刷ボタンと
集計部分だけの印刷ボタン、2つを設置したいのですが可能でしょうか?
質問が分かり辛くてすみません。
>>484 こんな感じ。WinIE5以降のみ。
<style type="text/css">
@media print {
div.not_print { display: none; }
div.print { display: block; }
button { display: none; }
}
</style>
<script type="text/javascript">
function myprint (id1, id2) {
var print_block = document.getElementById(id1);
var not_print_block = document.getElementById(id2);
print_block.className = "print";
not_print_block.className = "not_print";
window.print();
}
</script>
<div id="ue" class="print">上</div>
<button onclick="myprint('ue', 'sita')">上印刷</button>
<div id="sita" class="print">下</div>
<button onclick="myprint('sita', 'ue')">下印刷</button>
487 :
MAKKY ◆QVBQLRg6 :01/12/10 11:30 ID:JZcp1vPL
488 :
Name_Not_Found :01/12/10 12:20 ID:lQmOE/gi
<script> function ooo(y){ if(y.checked){ for(i=1;i<5;i++){document.forms[0].elements[i].disabled="false";} }else{ for(i=1;i<5;i++){document.forms[0].elements[i].disabled="true";} } } </script> <form> <input type="checkbox" onClick="ooo(this)"> <input type="checkbox" disabled> <input type="checkbox" disabled> <input type="checkbox" disabled> <input type="checkbox" disabled> </form>
489 :
MAKKY ◆QVBQLRg6 :01/12/10 13:03 ID:JZcp1vPL
>>486 さん
ありがとうございます!!
出来ました!!助かりました。。。
490 :
Name_Not_Found :01/12/10 14:28 ID:bSWGmxF0
時間表示などのJSにCSSをかけることは可能でしょうか? フォントサイズなどの指定がうまくかかりません。
491 :
:01/12/10 14:34 ID:VszQonpJ
IE4.0+NN4.0以上において レイヤーを画面の左上に常に固定したいのですが スクロールした場合にはどうやって画面左上の座標を取得 すればいいのでしょうか?
492 :
Name_Not_Found :01/12/10 15:53 ID:jxIsH6te
>>490 別にできない理由なんかないと思うけど。コード貼ってみたら?
>>491 Netscape系ではwindow.scrollXとwindow.scrollY、IEではdocument.body.scrollLeft
とdocument.body.scrollTopだけどそんなことしないでもCSSでposition: fixedに
したらだめ?
493 :
:01/12/10 16:24 ID:VszQonpJ
>>492 ご教授ありがとうございます!
さっそくやってみます。
CSSのほうもNN4がちょっと心配ですがテストしてみます。
494 :
490 :01/12/10 18:44 ID:bSWGmxF0
例えばこれにかけるとしたらどうしたらいいんでしょうか? <html> <head> <title>現在の日時を表示する</title> </head> <body> <script Language="JavaScript"><!-- document.write((new Date())); // --></script> </body> </html>
495 :
:01/12/10 18:52 ID:d2TGjq2Q
>494 <p style="font-size: 200%;"> <script type="text/javascript"><!-- ... // --></script> </p> とか,そういう感じになるんじゃないのかな.
496 :
494 :01/12/10 19:07 ID:bSWGmxF0
すいません。あっけなくかかりました。(恥) 勉強します。
497 :
Name_Not_Found :01/12/12 09:34 ID:uylG8Hez
初心者ですいません。 過去ログ見たんですが載ってなかったので質問させてください。 ブラウザの「戻る」を使えなくしたいのです。replaceを使えばいい、 と書いてあるサイトがいくつかあったんですが、その場合history.backとかも 使えなくなっちゃうんですよね?それは困るんです。 具体的な状況としては、複数のページに渡るアンケートのCGI(ファイルは1つ) で前のページに戻れなくしたいのですが、入力にエラーがあった時のみ エラーページに飛び、history.backで前のページに戻るようにしているのです。 replaceを使うとこのエラーページが機能しなくなるのではないかと思うんですが、 うまい方法はないでしょうか。お願いします。
どうか教えてください〜。 JavaScriptでOSごとのStyleSheetを読み込ませようとしたのですが、 うまく動作しません。 ローカルでは動作するのに、サーバーへアップすると動作しません。 なんででしょうか? 参考までにソースを貼っておきます。 <!-- var ua = navigator.userAgent var cssHTML = '<LINK REL="StyleSheet" TYPE="text/css" HREF="' if( ua.indexOf("Mac") != -1 ) cssHTML += 'script/style_mac.css' else if( ua.indexOf("Win") != -1 ) cssHTML += 'script/style_win.css' else cssHTML += 'script/style.css' cssHTML += '">' document.write(cssHTML) //-->
499 :
Name_Not_Found :01/12/12 10:10 ID:2n2EEGZe
あ、下げちゃった・・・。
500 :
Name_Not_Found :01/12/12 10:12 ID:2n2EEGZe
つけたし Mac版Netscape4.xだけが反映されないんです。
501 :
Name_Not_Found :01/12/12 10:19 ID:o6LXdl/1
そんじゃWINのN4.xを先に選別して残ったN4.xをマックのN4.xと 決め付けてしまえばどうだ?
502 :
Name_Not_Found :01/12/12 10:27 ID:2n2EEGZe
とりあえず、↓こんな感じでやってみましたが、結果は同じでした。 <!-- var ua = navigator.userAgent var cssHTML = '<LINK REL="StyleSheet" TYPE="text/css" HREF="' if( ua.indexOf("Win") != -1 ) cssHTML += 'script/style_win.css' else cssHTML += 'script/style_mac.css' cssHTML += '">' document.write(cssHTML) //--> 思い切ってURL晒したほうがよいかな?
503 :
Name_Not_Found :01/12/12 12:04 ID:DEEwdaQY
これでどうかな? <script language="JavaScript"> <!-- /*スタイルシート設定*/ var plats = navigator.platform; var bName = navigator.appName.charAt(0); var bVers = navigator.appVersion.charAt(0); var bPath =""; if(plats == "Win32"){ if((bName == "N") && (bVers >= 4)){ bPath = "css/win_nc"; } else if((bName == "M") && (bVers >= 4)) { bPath = "css/win_ie"; } } else if(plats == "MacPPC"){ if((bName == "N") && (bVers >= 4)){ bPath = "css/mac_nc"; } else if((bName == "M") && (bVers >= 4)) { bPath = "css/mac_ie"; } } if(bPath != ""){ document.write('<link rel="stylesheet" type="text/css" href="'+bPath+'.css">'); } --> </script>
504 :
Name_Not_Found :01/12/12 12:07 ID:bPSq5IOc
>>502 (1)document.writeのところにwindow.alertも追加して確かに正しい
linkタグが出ていることを確認しましょう。
(2)このコード全体、HTML冒頭の<head>...</head>の中にあるよね?
505 :
497 :01/12/12 12:08 ID:uylG8Hez
どなたか答えていただけないでしょうか? お願いします!
506 :
Name_Not_Found :01/12/12 12:11 ID:bPSq5IOc
>>497 「戻る」ボタンだけ止める方法はあるのかなあ。
chromeless windowとかでやるとか…(よく知らない)。
エラーの時にback()を使うのはやめて、データは
全部保管しておいて新しいページを出してデータを
埋め込むとかしたらだめ?そうすればreplace()で
いいわけだよね。
507 :
Name_Not_Found :01/12/12 13:17 ID:cNTiSYDI
>>497 location.replace(エラーページ);
としても、エラーページでは、
location.replace(document.referrer);
とすれば、history.backを使わずに戻れるよ。
508 :
Name_Not_Found :01/12/12 14:16 ID:bPSq5IOc
>>507 location.replace(document.referrer); だとフォームに記入されて
いたデータがまっさらになってしまわないかな?
509 :
Name_Not_Found :01/12/12 14:20 ID:51YmD6CC
スクロールバーの色を変えるにはどうすればいいのですか?
512 :
Name_Not_Found :01/12/12 15:25 ID:DEEwdaQY
NEXTとBACKボタンで画像がパタパタ入れかわる(端まで行ったら 戻る)手動スライドショーみたいなスクリプトってどう 書いたらいいんでしょうか?
514 :
Name_Not_Found :01/12/12 15:33 ID:bPSq5IOc
>>512 vol.4 あたりのガイシュツより。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var pos = 0; imgs = ['t1.png','t2.png','t3.png','t4.png'];
function step(n) {
pos += n; if(pos < 0) pos = imgs.length-1; if(pos >= imgs.length) pos = 0;
document.images[0].src = imgs[pos];
}
</script>
</head><body>
<p><a href="javascript: step(1)">next</a>|
<a href="javascript: step(-1)">prev</a></p>
<p><img alt="viewer" id="i1" src="t1.png"></p>
</body></html>
515 :
497 :01/12/12 16:21 ID:Ka5C7yGV
516 :
512 :01/12/12 17:24 ID:DEEwdaQY
>514 ありがとうございます。ところで、複数の画像のサイズが違う場合は どのようにすればいいのでしょうか? var pos = 0; imgs = ['t1.png','t2.png','t3.png','t4.png']; の部分に書くんでしょうか?
517 :
Name_Not_Found :01/12/12 17:40 ID:bPSq5IOc
>>516 やってみたんですか?
サイズが違うと勝手にページ整形が変わるんじゃないかな。
それが嫌なら<img>をなんかサイズ固定した別のものに入れる。
または画像の大きさを無理矢理そろえたければ<img>にwidth
とheightを指定する。
一番サイズの大きな画像に合わせてテーブル組むのも手だな。
519 :
Name_Not_Found :01/12/12 18:11 ID:51YmD6CC
520 :
512 :01/12/12 20:19 ID:DEEwdaQY
>517、518 そうですね。画像のサイズは入れないと気持ち悪い派なんですが、 この場合は、無理せず余裕のあるTDにでも入れておきます。
521 :
498 :01/12/13 00:18 ID:f7ego1x2
>>501 〜504
どうもありがとうございました。忘年会で遅くなってしまいました。
最近リニューアルをしたばかりで、まだまだ作業の途中ですが、
教えていただいたソースをもとにブラウザの種類やバージョンごとにも
CSSを適用させようと思います。
522 :
Name_Not_Found :01/12/13 09:59 ID:9hi8OMBt
cgi resourcesindexみたいに、 javascriptを集めているサイトで、 評価やDL数ものっているところはないですか?
<a target="フレーム名" href="">
parent.フレーム名.location.href="おすきなように";
済みません。越えってていうより「またいで」でした。 これって実現可能でしょうか?
onmouseover/outでイベントをキャッチして、マウスの近くに レイヤを表示する(早い話がポップアップ)というのを作ったのですが、 IE5/6だと、event.yが「表示されているブラウザでのy座標」 なので、画面がスクロールしていた場合、上のほう(ページのy座標) に表示されてしまいます。 なので、それらの場合にdocument.body.scrollyを足して調整して いたのですが、StrictDTDでHTMLを書いた場合、IE6では document.body.scrollに値が入らないという現象が起きてしまうのです。 ちなみに、offsetYはなぜか頓珍漢な値を返してくれるのであります。 どなたか、 1:イベントの座標をページ内の座標で返すプロパティ 2:レイヤの表示位置をウインドウ内の座標で指定する方法 3:StrictDTDでdocument.body.scrollYを取る方法 4:offsetYをページ内の座標に変換する式 のいずれかを教えてくんなまし。
529 :
Name_Not_Found :01/12/13 17:44 ID:vC+tbSa3
>>528 document.body.scrollyって? IEならdocument.body.scrollTopじゃないの?
530 :
Name_Not_Found :01/12/13 17:48 ID:vC+tbSa3
>>527 フレームで分けてしまうと難しいんじゃないのかな。
フレームを分ける代りにCSSで領域を区分すれば問題
ないと思うんだけど。
531 :
529 :01/12/13 18:25 ID:FqvS2kCX
すんずれい。 document.body.scrollTopです。 いずれにせよ、Strictで書くと0を渡すようになるのであります。
532 :
Name_Not_Found :01/12/13 19:10 ID:RP0C8Jhp
document.body.parentNode.scrollTop でどう?IE6でBODYの役目がHTMLに移った影響?
っていうか、レイヤーなんてものはNN4にしか存在しないわよ。
534 :
Name_Not_Found :01/12/13 23:56 ID:6gnk8uIb
>>533 じゃなんて言うの?ボックス?
まじレスだす。
535 :
522 :01/12/14 01:51 ID:9ABtskMw
>>528 1.IEでevent.x と event.y 、NSで e.clientX と e.clientY
537 :
Name_Not_Found :01/12/14 04:12 ID:EC856Ybw
scrollTopってスクロールバーの位置じゃなかったっけ onLoadの時は常に0じゃないのかな?? あと、offsetYってなんだろ?ネスケのWindow.pageYOffsetのことかな?
538 :
Name_Not_Found :01/12/14 06:57 ID:3lERSI8B
>>528 strictでは動かない?
ならlooseとかframesetでは動いてたの?
その、すんばらしいソースをぜしぜし、
今後の参考までに見てみたです。
>>536 それ逆じゃないか?
>>534 533じゃないが、ブロックと言いたいんだろう。
ちがうか・・・
DHTMLとかだと絶対指定のdivってレイヤって言わない?
<layer>はNNだけだけど。
自分で言ってて何を聞きたいのか分からんのでsage
540 :
Name_Not_Found :01/12/14 12:22 ID:6XhT0995
542 :
533 :01/12/14 15:34 ID:GYod9YGi
>>539 ブロックじゃないでしょ。
style="display:block"なんてのがあるけど、それとは無関係だし。
絶対位置指定のdivをレイヤって言うのはホームページビルダーとかが言ってるだけで、
本来、絶対位置指定のdivに特別な呼び名は無いと思うよ。
543 :
Name_Not_Found :01/12/14 16:54 ID:G0dUHw3y
>>542 特別な名前がなくて不便だからしかたなくレイヤーと読んでいるに一票。
呼び方なんかどうでもいいよ(;´д`)
>>528 が何を指してレイヤって言ってるのかくらい文意でわかるよ。
545 :
Name_Not_Found :01/12/14 17:16 ID:LJIOFTLZ
http://www.openspc2.org/reibun/javascript/ ↑ここみて勉強中なんですが、
マウスイベントでスタイルを変更するDHTMLはIE対応ばかりなんですね。
NN6でも可能なプラグラムにするにはどうしたらよいですか?
いまのところ下記のスクリプトでIEでは実行できますが……。
<SCRIPT type="text/javascript">
<!--
//
function float(OBJ) {
if (OBJ.style.position=="absolute") {
OBJ.style.position="";
}
else {
OBJ.style.position="absolute";
}
window.event.cancelBubble=true;
}
//-->
546 :
Name_Not_Found :01/12/14 17:24 ID:p3nYqAvU
ページを読込み終わったら自動的にサブウィンドウが開くようにしたいんですが、どこかにわかりやすく教えてくれてる所、ご存じの方いませんか? 既出の場合はごめんなさい。
548 :
Name_Not_Found :01/12/14 18:59 ID:JHFlxVR+
549 :
Name_Not_Found :01/12/15 11:57 ID:GWX+0fad
>>545 マウスイベントで何がやりたいの?たとえば下記のもマウスイベント
取っているけどN6で動くよ。
>>540 こういう感じなら読める?N6/Mozilla/IE。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { border: solid blue 2px; width: 200px; overflow: hidden }
#d1 { position: relative; left: 0px; top: 0px; font-size: 400%; width: 800px }
#d2 { position: relative; left: 0px; top: auto;
background-color: purple; width: 50px }
</style>
<script type="text/javascript">
var d1, d2, base = 0, xpos = 0, oxpos = 0, drag = false;
function init() {
d1 = document.getElementById('d1');
d2 = document.getElementById('d2');
if(d2.addEventListener) {
d2.addEventListener('mousedown', n6down, true);
d2.addEventListener('mouseup', n6up, true);
d2.addEventListener('mousemove', n6move, true);
} else if(document.all) { // IE
d2.onmousedown = function() { n6down(window.event); };
d2.onmouseup = function() { n6up(window.event); };
d2.onmousemove = function() { n6move(window.event); };
}
}
function n6down(e) { base = e.clientX; drag = true; }
function n6up(e) { drag = false; oxpos = xpos; }
function n6move(e) {
if(!drag) return;
xpos = e.clientX - base + oxpos;
if(xpos < 0) xpos = 0; else if(xpos > 150) xpos = 150;
d2.style.left = xpos + 'px'; d1.style.left = (-xpos*4) + 'px';
}
</script>
</head><body onload="init()">
<div id="d0">
<div id="d1">This is a pen. That is a dog.</div>
<div id="d2"> </div>
</div>
</body></html>
550 :
540 :01/12/15 12:37 ID:lhvI6JxU
>>549 すごいですね。ありがとうございます。
無知で申し訳ないのですが、作られた小ウィンドウの中身は
テキスト以外無理なのでしょうか?
ふつうにHTMLタグを使ってイメージなど挿入できるのでしょうか?
CSSもあまりよくわかってないので、DIV IDがどういう役目なのか
勉強しないといけないのですが・・・すみません。
551 :
Name_Not_Found :01/12/15 12:42 ID:GWX+0fad
>>550 別に<div>...</div>の中なんだから何入れようと自由でしょ。
幅だけ計算を合わせておけばあとは適当に変えていいはず。
divは単に範囲を指定しているだけ。idをつけるのは決め打ちで
CSSとJavaScriptからどのdivであるかを指定するため。まあ勉強
してください。
552 :
540 :01/12/15 13:20 ID:lhvI6JxU
>>551 そうですか。勉強になります。そして勉強します。
これから教えていただいたソース、
いろいろいじってみようと思います。
ありがとうございました。
IE5.5とNN4とNN6で動作確認中のプログラムが、DOCTYPE宣言が <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> の場合は問題無く動いたのに、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> にすると動かなくなりました。 IE6は未確認なのですが、NN6にもDOCTYPEスイッチがあるのですか? IE6の場合にはdocument.compatMode=="CSS1Compat"で条件分岐すれば 標準準拠モード(Strict)と互換モード(Transitional)に振り分けられるみたいなのですが、 NN6ではどうすればいいのですか。 また振り分けた場合の記述でどこをどう変更すればStrictでもちゃんと動くのか……。 ちなみに問題のプログラムは下記の通り。 ===================== this.ver=navigator.appVersion; this.dom=document.getElementById?1:0; var IE=(document.all)?1:0; var NN6=(this.dom && !document.all && parseInt(this.ver) >= 5) ?1:0; var NN4=(document.layers && !this.dom)?1:0; function alwaysTop() { vy=NN4?".top=":".pixelTop="; vx=NN4?".left=":".pixelLeft="; y=IE?"document.body.scrollTop":"window.pageYOffset"; x=IE?"document.body.scrollLeft":"window.pageXOffset"; yy=eval(y)+0; xx=eval(x)-0; object=NN6?document.getElementById("navbar").style:IE?"navbar.style":NN4?"document.navbar":0; if (IE||NN4){eval(object+vy+yy);eval(object+vx+xx);} else if (NN6){object.top=yy;object.left=xx;} } if(NN4||IE||document.getElementById){ setInterval("alwaysTop()",50) } //スタイルシートでdiv#navbar{position:absolute;}を指定。
554 :
553 :01/12/15 22:47 ID:FmEvJIm8
>>554 else if (NN6){object.top=yy+"px";object.left=xx+"px";}
あと、
if(document.body.parentNode.scrollTop){
y="document.body.parentNode.scrollTop";
x="document.body.parentNode.scrollLeft";
}else{
y=IE?"document.body.scrollTop":"window.pageYOffset";
x=IE?"document.body.scrollLeft":"window.pageXOffset";
}
でIE6でStrictでもいけたよ
556 :
553 :01/12/15 23:18 ID:FmEvJIm8
>>555 有り難うございます! 初学者なものでそんな簡単なやり方も見つけられませんでした。
いまIE6でStrictな場合も実験中だったんですが、document.body.scrollTopを
document.documentElement.scrollTopとしたら作動するみたいです。
でもご示教いただいたそのif(document.body.parentNode.scrollTop)
の方がIE5から対応してるみたいですから、振り分けに面倒が無くて
良い感じですね。
ついでながら、このプログラムは一応Opera6でも動いたのですが、
奇妙なことに、「オフライン作業」にしてると動作しなくなります。
もし理由が見当つけば対処法をご教授くださいませんか。
557 :
553 :01/12/16 00:00 ID:/OH8OKEl
すみません、間違ってましたので訂正だけ。
http://www.xs4all.nl/~ppk/js/version5.html 検索して上記URLの表を見てましたら、document.documentElementも
parentNodeと同じくIE5から実装してるんですね。
しかし両者がどう違ってて、どう応用すればよいのやら、よくわかりません。
JavaScriptだけでもよくわからないのに、DOMとなるともうサッパリ……。
>>555 修正
if(document.body.parentNode.scrollTop != null){
ってやんないと0のとき抜けちゃうね
>>556 うちではオフライン作業のOpera6でも動いたけど?
あとscrollTopやObjectを返す関数を作ったほうがすっきりするよ
>うちではオフライン作業のOpera6でも動いたけど? 「オフライン作業」にチェック入れたあと、更新(再読込み)しても、ですか? 私のOperaは6.0正式版で「Java ランタイム環境がインストールされていません」なのですが関係ありますかね? >あとscrollTopやObjectを返す関数を作ったほうがすっきりするよ ご忠告ありがたいのですが、どうやればいいのやら、私の手にはあまります。 今のプログラムもあちこちのを覗いて切り貼りしてやっとこさ改良したものなので……。 新たにscrollTop関係の変数の宣言を作ってたるってことですか?
どうもうまくゆきません。
>>554 の方法ですとIE6でstrictの場合ならよいのですが、逆にtransitionalで動作しなくなることに気づきました。
結局、以下の形にまとめましたのでご報告を。
===========
this.ua=navigator.userAgent;
this.ver=navigator.appVersion;
this.dom=document.getElementById?1:0;
var Opera=(this.ua.indexOf("Opera")!=-1 && this.dom)?1:0;
var IE6s=((this.ver.indexOf("MSIE 6")>-1) && this.dom && document.compatMode=="CSS1Compat")?1:0;
var IE=(document.all)?1:0;
var N6=(this.dom && !document.all && !Opera)?1:0;
var NN4=(document.layers && !this.dom && !Opera)?1:0;
function alwaysTop() {
vy=NN4?".top=":".pixelTop=";
vx=NN4?".left=":".pixelLeft=";
y=IE6s?"document.documentElement.scrollTop":IE?"document.body.scrollTop":(N6||Opera)?"window.pageYOffset":0;
x=IE6s?"document.documentElement.scrollLeft":IE?"document.body.scrollLeft":(N6||Opera)?"window.pageXOffset":0;
yy=eval(y)+0; xx=eval(x)+0;
object=IE6s?"document.getElementById('navbar').style":(N6||Opera)?document.getElementById('navbar').style:IE?"navbar.style":NN4?"document.navbar":0;
if (IE||NN4){eval(object+vy+yy);eval(object+vx+xx);}
else if (N6||Opera||IE6s){object.top=yy+"px";object.left=xx+"px";};
}
if(NN4||IE||document.getElementById){setInterval("alwaysTop()",50);}
====================
object=のところが冗長ですが、これには理由があります。
document.getElementById('navbar').styleを" "で括るとNN6で動作しなくなり、
しかし" "で括ると今度はIE6で動かなくなるのです。わけがわかりません。バグかも。
561 :
560 :01/12/16 02:16 ID:EH/U8SeX
誤:しかし" "で括ると今度はIE6で動かなくなるのです。 正:しかし" "で括らないと今度はIE6で動かなくなるのです。
562 :
Name_Not_Found :01/12/16 02:50 ID:Yd9L1w+E
this.hoge ってどういう意味かわかってる? あと、人に見せるスクリプトにはevalを使いまくるな 過去に似たようなスクリプトがたくさん出てるから見てきな。 全然スマートだから。。。 でも、ネスケではStrictで動かなくなるなんてしらなかたYO!!
563 :
545 :01/12/16 06:41 ID:LTWiuSQq
>>545 です。このスレッドのログも参考にして、
document.allをdocument.getElementByIdにしたらNN6でも
マウスイベントによる動的スタイル変更ができました。
(でもOperaでは変になってしまったのですが)
<!--
function SwitchFloat(OBJE){
var OBJE=document.all && document.all(OBJE) || document.getElementById && document.getElementById(OBJE);
if(OBJE && OBJE.style.position=="absolute") {
OBJE.style.position="";
}
else {
OBJE.style.position="absolute";
}
window.event.cancelBubble=true;
}
//-->
564 :
Name_Not_Found :01/12/16 08:03 ID:cB9v5DqK
ueとsitaにフレーム分けして、ueに置いたメニューのリンクを画像に はって、クリック前・クリック後で画像を変えるには、 off[i]→クリック前・on[i]→クリック後の画像を用意して <HTML> <HEAD> <TITLE>menu</TITLE> <Script Language="JavaScript"> function Chaimg(i) { onimg=new Array(); onimg[i]="on"+i+".JPG"; offimg=new Array(); offimg[i]="off"+i+".JPG"; document.images[i].src=onimg[i] } </Script> </HEAD> <BODY> <A HREF="menu.html" target="sita" onclick='Chaimg(0)'><IMG SRC="off0.JPG"></A> <A HREF="top.html" target="sita" onclick='Chaimg(1)'><IMG SRC="off1.JPG"></A> </BODY> </HTML> でNN4.×とIE5.×で動くのですが、これではリンクに使った画像が一回リンク したら変わりっぱなしですよね。(menuもtopも行った場合、画像はどちらも onimgになりますよね) それでは今どこのページを見ているのかわかりづらいので、現在見ているページ 以外へのリンクはoffimgに戻したいのです。例えばmenu.htmlへのリンクをクリ ックした時には、menu.htmlへのリンクボタンの画像だけ変化して、他の(topと かへのリンク)画像は元のoff状態に戻したいのです。 多分、クリックした部分だけonで他の部分はoffに指定してやればいいと思うの ですが、どうやったらクリックしてない部分まで変えられるのでしょうか? NN4.×+IE5.×対応希望です。 説明がかなりヘタクソで、申し訳ありません。
<script language="javascript"> var i=new Array("on0.png","on1.png","on2.png","on3.png","off0.png","off1.png","off2.png","off3.png"); function chaimg(w,x,y,z){ document.images[0].src=i[w]; document.images[1].src=i[x]; document.images[2].src=i[y]; document.images[3].src=i[z]; } </script> <a href="#" onClick="chaimg(0,5,6,7)"><img src="off0.png"></a> <a href="#" onClick="chaimg(4,1,6,7)"><img src="off1.png"></a> <a href="#" onClick="chaimg(4,5,2,7)"><img src="off2.png"></a> <a href="#" onClick="chaimg(4,5,6,3)"><img src="off3.png"></a>
566 :
その2 :01/12/16 15:13 ID:IYZ8JuSS
<script language="javascript"> var i=new Array(); i[0]=new Array("on0.png","off1.png","off2.png","off3.png"); i[1]=new Array("off0.png","on1.png","off2.png","off3.png"); i[2]=new Array("off0.png","off1.png","on2.png","off3.png"); i[3]=new Array("off0.png","off1.png","off2.png","on3.png"); function chaimg(flag){ for(n=0;n<4;n++){ document.images[n].src=i[flag][n]; } } </script> <a href="#" onClick="chaimg(0)"><img src="off0.png"></a> <a href="#" onClick="chaimg(1)"><img src="off1.png"></a> <a href="#" onClick="chaimg(2)"><img src="off2.png"></a> <a href="#" onClick="chaimg(3)"><img src="off3.png"></a>
567 :
564 :01/12/16 18:18 ID:t3svx4Jj
568 :
初心者 :01/12/16 18:50 ID:/Pffr9IK
>>562 >あと、人に見せるスクリプトにはevalを使いまくるな
なんで?
説明いただけると勉強になります。
569 :
Name_Not_Found :01/12/16 19:41 ID:DSuXetsI
>>568 人に見せようが見せまいがeval使いまくりのスクリプト
はトラブルの元凶だから避けた方がいいと思うけどね。
(1)evalは実行するまで構文チェックすら掛からない
(2)evalはどういうコードが実行されるか判別し辛い
(3)evalは思ったものと違うコードが組み立てられている
バグが極めて取りにくい
(4)しかも実行時にコンパイルするので効率も悪い(とくに
ループの中で繰り返し使う場合
どうしてもしょうがないところ限定で使うのなら分かる
けど
>>553-560 あたりのはブラウザごとのアクセス方法の
違いをカバーするために文字列を組み立ててevalしてる
わけで、私から見たらトンデモナイと思うよ。自分なら
(1)getElementByIdがないブラウザではgetElementByIdを
自分で定義してしまう。なおかつstyleプロパティもその
中で用意してしまう。
if(!document.getElementById) {
document.getElementById = function(id) {
var e = document[id]; e.style = e; return e;
}
}
(2)長さの単位は必ず指定するものとし、単位指定できない
ブラウザでは単位が空文字列になるようにする。
var unit = 'px';
if(単位指定なしのブラウザ) unit = '';
...
e.style.top = (...) + unit;
なんていうふうにして、どのブラウザでも本体部分は同じ
コードが走るように持って行くけどね。
570 :
568 :01/12/16 20:04 ID:K8FePhuT
>>569 >どのブラウザでも本体部分は同じコードが走るように持って行く
なるほど。その方がいいですね。
ところで
>なおかつstyleプロパティもその中で用意してしまう。
>if(!document.getElementById) {
>document.getElementById = function(id) {
>var e = document[id]; e.style = e; return e;
>}
>}
これは
>>384 に出た
if(!document.getElementById) {
if(document.all) document.getElementById=funciton(id) {return document.all[id];}
else document.getElementById = function(id) {return document[id];}
}
と同じことになるのですか?
いちいちご説明いただくのもナンですから、この辺を理解するためによい参考サイト
でもあると助かるのですが。
どうもJavaScript入門みたいなサイトではdocument.getElementByIdの
説明が無いところが多いし、あってもチンプンカンプンなもので。
571 :
Name_Not_Found :01/12/17 01:58 ID:7mMPIQso
return true; とか、 return false; の効能を教えて下さい。 意味有るんですか?
JavaScriptの質問用スレッドがないので ここで質問させていただきます。 マウスが文字に乗ると虹色点滅させるにはどうしたらいいのかわかりません。 知っている人いますか?
>>570 そのgetElementByIdを自分で定義してしまう関数、
上下どちらにしろ、ネスケ4では効き目無しですね。
IE4向けのクロスブラウザにしかなりませんな。
>>572 >JavaScriptの質問用スレッドがないので
ここが正にそれだろ?
>虹色点滅
どんな状態だよ(w
575 :
572 :01/12/17 02:13 ID:eE38FFn+
コピぺしたらあやまりがありました。 ここJavaScriptの質問用スレッドですね。(苦笑 タグ内の文字なら何とかできるのですが HP全体の文字を点滅させているHPがあるのですが どうしてもやり方がわかりません。
576 :
572 :01/12/17 02:16 ID:eE38FFn+
>>574 マウスが文字に乗っかると文字の色が変わるたぐありますよね。
あれなんですけど、点滅してランダムに色が変わるHPを見かけたもので
やりたくなちゃいました。ソース見ても直リンしているみたいで
わかりませんでした。
>>575 なら初めからそのページのURL見せて頂戴。そしたらそこのソースから判る。
578 :
572 :01/12/17 02:27 ID:eE38FFn+
579 :
名無しさん :01/12/17 02:46 ID:rlUABMZt
<script type="text/javascript"> var cnt=0; function rainbow(){ var clr="0123456789abcdef"; var c=clr.charAt(cnt); document.all("rain").style.color="#0000"+c+c; cnt++; if(cnt>=clr.length){ cnt=0; } setTimeout("rainbow()",100); } </script> <a href="#" onMouseOver="rainbow()">あいうえおかきくけこ</a> アイーン4/5で確認。 ジワジワ青。 虹色は工夫してやって下さい。
もしかして「HPに表示されてる文字全部」を色々変化させてるのか? キモーーーーー!やめとけって。
>582 同意・・・ 目にイタイRGB色、音のデカイBGM、重いスクロール、キモイ呼び名... 何もかもがウザイ
>>578 のリンク先は、houmon1.jsってスクリプトを使ってる。
その中に下記の記述がある。
document.write('<script src="
http://www4.ocn.ne.jp/~aqua2001/rinku.mid "></script>');
で、そのrinku.midを保存してテキストエディタで開いてやれば、これは
実はmidファイルのふりした外部javaScriptってわけだ。
「Rainbow Link Version 1.00 (1999.6.10)Copyright (C) 1999-2001 TAKANASHI Mizuki」
だとさ。ご苦労様。
>>571 高血圧、動脈硬化、運動麻痺、筋・関節痛、打撲、切り傷、
冷え症、更年期障害、不妊症などに効果があります。
HPの左にスクロールバー付きで小窓みたいのを 付けたいのですがどうすれば良いのでしょうか?
>>586 javascriptでやりたいなら
>>549 のを弄ればいいんじゃない?
スクリプト自体が分からなければframe、iframe、
あとcssのoverflowあたりを調べてみては。
589 :
Name_Not_Found :01/12/17 11:42 ID:dV+MOTnl
>>573 おかしいなあ、N4で動作確認してるんだけど。N4ってどのN4?
MacやWindowsだと駄目な点があるのでしょうか?
590 :
Name_Not_Found :01/12/17 14:39 ID:QrS2mf1k
ブラウザにFlashプレイヤーがインストールされてない時は 「test.swf」の部分を「test.gif」で表示するっていうスクリプトは どう記述すればよろしいでしょうか?
>>573 N4の場合
position: absolute;
か
position: relative;
を適用しとかないとだめってとこにひっかかってるのでは?
592 :
Name_Not_Found :01/12/17 15:19 ID:dV+MOTnl
>>591 なるほど…って、そんなのJavaScript側じゃ手が出ないヨ!
593 :
Name_Not_Found :01/12/17 15:50 ID:dV+MOTnl
>>590 ちょっと調べてみたんですが、N4/N6では「どのようなプラグイン
が設置されているか」はnavigator.pluginsで調べられるのだけど、
MSIEではそういう方法が見つかりません。あるのなら私も知りたい。
>>590 shiftのトップでは、フラッシュあり、無しを判別してたよ。
595 :
Name_Not_Found :01/12/17 17:12 ID:jNPCiibr
596 :
Name_Not_Found :01/12/17 17:31 ID:0eqtFIys
サブミットボタンを押したときに、 別のウィンドウを開いてウィンドウの大きさを任意で決めたいんですけど どうやればいいですか。
597 :
573 :01/12/17 17:36 ID:JJR5y7CD
>>589 >>591-2 Windows版Netscape Communicator 4.75で確認しました。
position: absolute;も要素にIDを振って外部スタイルシートで指定済みです。
変ですね。今は下の形で実行してます。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
var D = document;
var DOM=D.getElementById?1:0;
var Opera=(navigator.userAgent.indexOf("Opera")!=-1 && DOM)?1:0;
var IE6s=((navigator.appVersion.indexOf("MSIE 6")>-1) && DOM && D.compatMode=="CSS1Compat")?1:0;
var IE=(D.all && !Opera)?1:0;
var lteIE4=(IE && !DOM)?1:0;
var N6=(DOM && !D.all && !Opera)?1:0;
var NN4=(document.layers && !DOM && !Opera)?1:0;
function alwaysTop() {
if(lteIE4) {document.getElementById = function(id){ return document.all[id];}};
var unit=NN4?'':'px';//NN6strict必須
var top=lteIE4?"pixelTop":"top";
var left=lteIE4?"pixelLeft":"left";
y=IE6s?D.documentElement.scrollTop:IE?D.body.scrollTop:window.pageYOffset;
x=IE6s?D.documentElement.scrollLeft:IE?D.body.scrollLeft:window.pageXOffset;
object=NN4?document.navbar:IE?navbar.style:document.getElementById('navbar').style;
if (document.images){object.top=y+unit;object.left=x+unit;};
}
if(NN4||IE||DOM) {setInterval("alwaysTop()",50);}
// #navbar{position: absolute; z-index: 5;}
598 :
Name_Not_Found :01/12/17 17:47 ID:dV+MOTnl
>>597 せっかく変数topとleftにそれなりの文字列を入れたのに
「object.top」とかじゃ常にtopというプロパティ名になる
んじゃない? 「object[top] = ...」でしょ?
それで、「変ですね」とは何がどうヘンなの?
599 :
Name_Not_Found :01/12/17 17:54 ID:dV+MOTnl
>>596 そのウィンドウには何が表示されてほしいの?
600 :
597 :01/12/17 17:59 ID:JJR5y7CD
>>598 ご指摘有り難う。直しました。
変なのは、
>>597 における
if(lteIE4) {document.getElementById = function(id){ return document.all[id];}};
の部分を
>>573 にもある通り、
if(!document.getElementById) {
if(document.all) document.getElementById = function(id) { return document.all[id]; }
else document.getElementById = function(id) { return document[id]; }
}
や
if(!document.getElementById) {
document.getElementById = function(id) {var e = document[id]; e.style = e; return e;}
}
にしてdocument.getElementByIdを自分で定義しても、NN4では動作しなくなることです。
きっと私がよくわかってない所為かもしれませんが……何がいけないのでせう。
601 :
SWING :01/12/17 18:18 ID:7ZIC3NWU
お答えいただきたい! あるリンクボタンを押して、IEの6以下はそのまま同じウィンドウで飛んで、IE6は別ウィンドウでページを表示させる方法はないものでしょうか? よろしくお願いします。
>>600 document.getElementByIdを再定義したスクリプト
全体を書いてみそ。うちではうごいたぞ。
603 :
600 :01/12/17 18:55 ID:JJR5y7CD
すみません。
最初に
>>597 のプログラムの
object=NN4?document.navbar:IE?navbar.style:document.getElementById('navbar').style;
を object=document.getElementById('navbar').style; に短縮しておきます。
その上でvar D = document; var DOM=D.getElementById?1:0;として、
if(!DOM) {
D.getElementById = function(id) {var e = document[id]; e.style = e; return e;}
}
とすると、NN4でも動作しました。しかしif(!DOM)をif(D.all)として
実行してみるとIE6では動きませんので、document.getElementByIdの無い
IE4では動作しないものと推測されます。
そこで
>>384 の挙げた方の関数を参考にして
if(!DOM) {
if(D.all) DOM = function(id) { return D.all[id]; }
else D.getElementById = function(id) { var e = document[id]; e.style = e; return e; }
}
としてみたら、NN4でも、またif(!DOM)をif(D.all)としてIE6でも、作動します。
但し“else D.getElementById =”を“else DOM =”としたらまたNN4では
動かなくなりますが。何だかよくわかりません。これでいいのですか?
>601 <a href="#">リンク</a> <script type="text/javascript"> if(navigator.appVersion.indexOf("MSIE 6")>=0){ document.links[0].target="_blank"; }else{ document.links[0].target="_self"; } </script> このscriptは<head></head>間に書いては駄目っす。
>>603 きみ面白すぎ。
・var D = document; とする理由は?
・そのスクリプトにおける「DOM」変数の役割は?
・DOM = function(id) {...} と
D.getElementById = function(id){...} が
どういう意味か?
説明してみ。
606 :
603 :01/12/17 19:42 ID:dBWww2Zp
>>605 それが説明できればここで初心者丸出しで質問してませんよ……。
var D = document;としたのは、何度も同じ文字列が出てくるので
記述縮約のためのつもりでした。いけませんでしたか?
すいません、解説いただけると助かります。
ホームページを開くと、「このページをホームページに設定しますか?」 って聞くスクリプトってどうやればいいの?サイトあったら教えて。
その
>>597 のウィンドウ最上部にnavbarを常駐させるスクリプトだけど、
>>556-559 で言ってたOpera6で「オフライン作業」にして更新すると
動かなくなるって問題はどうなりました?
609 :
Name_Not_Found :01/12/17 19:55 ID:gt13vQg4
>>606 >var D = document;としたのは、何度も同じ文字列が出てくるので
>記述縮約のためのつもりでした。いけませんでしたか?
別に良いけどやるなら徹底的に。
でも分かりにくくなるだけだからやめた方が良いって。
>すいません、解説いただけると助かります。
いきなり教えたらつまんないw
じゃあどういう意図でそう書いたか、
Dをdocumentに展開したものと
>>384 とを比べてみた
相違点とともに説明して
610 :
607 :01/12/17 20:03 ID:WxBQLhkh
メッセージ出すだけじゃなくて、IEの設定を変えたいのです。
611 :
603 :01/12/17 20:10 ID:HHmCYp67
>>609 意図は
>>603 で述べた通り。document.getElementByIdの実装されてない
IE4やNN4でも有効なスクリプトにするのが狙った点です。
で、
>>569 の出した定義方法ではIE4で動かなくなる様子なので
if(document.all)でIE向け記述のしてある
>>384 の定義を足して組合せただけです。
Dをdocumentに展開したものとの相違点って……同じことになるとばかり思ってましたが?
たかだか個人のページをホームページにされては、堪ったもんではない。
>>611 自分の書いたものとよく見比べてみなって。
614 :
607 :01/12/17 20:21 ID:WxBQLhkh
615 :
603 :01/12/17 20:27 ID:HHmCYp67
>>613 先程来、何遍も見直しましたが――どこがいけなかったのか自分では判りません。
もしおわかりなのでしたらどうか宜しくご指摘あれ。
頻出するオブジェクトの記述を省きたいならwith文があるよ
>>615 むぅ。
>>384 の
if(document.all) document.getElementById = funciton(i) { return document.all[i]; }
がなぜ
if(D.all) DOM = function(id) { return D.all[id]; }
になってしまったのか。
>>616 でもいくらなんでもdocumentを略すのはやめた方が良いと思われ。
特に615さんは。
619 :
603 :01/12/17 20:49 ID:HHmCYp67
>>618 その下の式はvar D=document; var DOM=D.getElementById?1:0; としてあるので
代入すれば同じことになるのではないのですか? ……わからない……。
あと相違点としては、[i]→[id]に変更してあるだけですが、これが何か影響ありますか。
620 :
:01/12/17 21:01 ID:/Z5wDlMJ
onclickでラジオボタンのDisabledとテキストの色を変えたいのですが、 どうも解らない。for文を外して個別にIDでもふってやればできそうという 発想は浮かぶのですが、それをどう書けばいいかわかりません。 教えてくださいまし <SCRIPT language="JavaScript"><!-- function RegistON(){ for(i=3;i<document.form1.elements.length;i++){ document.form1.elements[i].disabled = false;//全てのフォーム要素を有効に } } function RegistOFF(){ for(i=3;i<document.form1.elements.length;i++){ document.form1.elements[i].disabled = true;//全てのフォーム要素を無効に document.form1.elements[i].style.color='#000000' } } function showLAYER(idName){ if(document.show) document.show(idName).style.color='#000000' else if(document.all)document.all(idName).style.color='#000000' else if(document.layers)document.layers[idName].visibility='show' } function hideLAYER(idName){ if(document.show) document.show(idName).style.color='#cecece' else if(document.all) document.all(idName).style.color='#cecece' else if(document.layers)document.layers[idName].visibility='hde' } //--></SCRIPT> </head><body> <form name="form1"> <input type="radio" name="group1" onclick="RegistON()">AだけDisabled/ <input type="radio" name="group1" onclick="RegistOFF(),hideLAYER('test0')">ACだけDisabled <hr> <span id="test0"> <input type="radio" name="group2">A/ </span> <span id="test1"> <input type="radio" name="group2">B/ <input type="radio" name="group2">C </span> </form>
>>619 …結局
>>605 の質問にもどってしまったw
もういちどJavaScript の文法について勉強しなおした方が良いよ。
そして三項演算子を使わずにスクリプトを書きなおしてみよう。
622 :
603 :01/12/17 21:15 ID:HHmCYp67
>>621 四苦八苦して勉強中ですが、どうもdocument.getElementByIdの利用法に詳しくて
且つ初心者にも呑み込める書き方の参考文献が見つけられないのです。
どこかお奨めのJavaScript講座サイトでもあったらご教示いただけませんか。
三項演算子とは初耳ですが、いま検索したら、「条件? 処理1:処理2;」のことですね。
「if ( 条件 )処理1; else 処理2;」と同じなのですよね? 使ったら何か不都合があるのですか?
623 :
603 :01/12/17 21:30 ID:HHmCYp67
>>621 >…結局
>>605 の質問にもどってしまったw
だって私は解らないからこそ訊ねてたのに、逆に質問されても返答できる筈がありません。
わかってる人(あなた)が説明してくれないのでしたら話が進まないのも当然では。
もちろん解説がご面倒なのでしたら致し方ありませんが、参考になるURLだけでも
ご提示いただけると助かります。
>>623 ずっと読ませて頂いてましたが、遂に逆切れしましたね(w
サイコーです。
>>622 不都合じゃなくて。いや、三項の入れ子は見にくいから
やめた方が良いと思うけど。
var DOM=D.getElementById?1:0;
これってどういう意味よ。DOMには何が入る?
ということで
>>605 の質問へ、なのだね
>>623 わからないなりに説明しようとしてみれば、自分が
何を間違っていたかを他人により明確に伝えることが
できるかもしれないじゃないですか。
626 :
603 :01/12/17 21:54 ID:HHmCYp67
>>625 ご指摘が短文過ぎて、何が問題となってるのかよくわかりません。
一応、var DOM=D.getElementById?1:0; を
var DOM=D.getElementById にしたり var DOM=document.getElementById; に
したりもしてみましたが、やはり
>>603 で述べた通り、
if(!DOM) {
if(D.all) DOM = function(id) { return D.all[id]; }
else D.getElementById = function(id) { var e = document[id]; e.style = e; return e; }
}
の、“else D.getElementById =”を“else DOM =”としたらNN4では
errorになりました。どの辺が文法違反なのですか。
627 :
Name_Not_Found :01/12/17 22:19 ID:gt13vQg4
>>626 短文って、あれ以上書く事無いもの。
悪い。負けた。降参。
var DOM=D.getElementById?1:0;
これはブラウザがW3CのDOMをサポートしてるかどうか、
ここではどっちかというとgetElementByIdが使えるかどうか
のフラグ。
DOMにはgetElementByIdが使えるとき 1 が、
使えないときは 0 が入る。
決してDOMにD.getElementByIdが入るわけじゃない。
で、その状況で
DOM = function(id) { ... }
なんてやってもD.getElementByIdが再定義されるわけない。
JavaScript Tips collection
http://www.din.or.jp/~hagi3/JavaScript/JSTips/Default.htm このへんでCrossBrowser の恐怖を味わってくれ。
まず、Cの本でも読んだ方が勉強になるかもね。基本文法は一緒だし。JSの専門書より数あるし。
>>626 結局の所「何でも略せばいいってもんじゃない」ってあたりに落ち着くと思われ。
630 :
603 :01/12/17 22:40 ID:HHmCYp67
>>627 いや、ですから
>>626 に書きました通り、
そのお尻の“?1:0;”を削除した形も験してあるのですが?
>>628 結局JavaScriptを利用するためにはC言語って奴まで勉強しなくては
ならないのですか? 呑み込みの悪い初学者にとってはよけい負担が
大きくなります……。
632 :
603 :01/12/17 23:08 ID:HHmCYp67
>>631 >D.getElementById=function(id)
>で試そうとかおもわんのか(w
試すも何も……それが正に
>>603 で書いたプログラムなんですけど。
問題はなぜ
>DOM=D.getElementById;
>DOM=function(id)
>がだめ
なのかで、それをお訊ねしてるのですが?
挙げていただいたサイトは見たことあります。リンク集であって、それ自体に解説は載ってませんよね。
633 :
Name_Not_Found :01/12/17 23:19 ID:VBge5jSQ
>>632 そのDOMはただの入れ物。
>DOM=D.getElementById;
>DOM=function(id)
では入れ物の中身を取り替えたに過ぎないと。
やはりプログラムの基本からやりなおしでは。
>挙げていただいたサイトは見たことあります。リンク集であって、それ自体に解説は載ってませんよね。
そのリンクの先のサイトで勉強しなおして来いってことじゃないの?
>>633 変数もわかってないならJavaScriptとかDOMとかって敷居が高すぎると思う。
プログラミングとオブジェクト指向はマスターしてからの方がいいかも。
なんか語尾に?の多い方ですね?
>>620 <script>
function func(a,b){
for(i=0;i<3;i++){
document.forms[1].elements[i].disabled=a;
document.all("d"+i).style.visibility=b;
}
}
</script>
<form>
<input type="button" value="使える" onClick="func(false,'visible')">
<input type="button" value="使えない" onClick="func(true,'hidden')">
</form>
<form>
<input type="radio" name="group" disabled><span id="d0" style="visibility:hidden">A</span>
<input type="radio" name="group" disabled><span id="d1" style="visibility:hidden">B</span>
<input type="radio" name="group" disabled><span id="d2" style="visibility:hidden">C</span>
</form>
636 :
Name_Not_Found :01/12/18 00:42 ID:svkOKfb8
フォームに同じ名前のテキストボックスを複数置いて、配列で 値にアクセスしたいのですが、IE5だと大丈夫でNetscape6だと エラーになります。なにか間違っているのでしょうか? <form name="dataform"> <input type="text" name="foo" value="aaa"> <input type="text" name="foo" value="bbb"> <input type="text" name="foo" value="ccc"> </form> で、たとえば、ボタンをクリックすると alert(dataform.foo[0].value) だけ実行するようにすると、IE5なら「aaa」と表示、 Netscape6だと何も起こらない、という感じです。
>>636 同じフォーム中ではテキストボックスのnameは一意でなければならない。
間違ってたらごめんね。
ありゃまー。そうなのですか
>>637 さん。ありがとうございます。
他の項目、たとえばhiddenとかもそうなのでしょうか…
うにゃー。くまった。
>>638 まぁ、DHTMLの時代以前のJavaScriptだけどね。
大きく仕様が変わってないのならもちろんそうだと思います。
select位じゃないの?名前同じでも良いのって。
串規制→カリスマさんが書き込まない→雑草が蔓延る→スレの厨房度アップ →読んでるだけでムカムカしてくる→クソッ!!
串規制なんて今に始まった事じゃないと思うのだが? ( ´Д`)さんが居なくなった辺りからつまらん。 #かりすまって誰?
>>641 カリスマさん=( ´Д`)さんの後に来た人だよ。
Dom2、OOなどをマスターしてるんすよ
しかも、モロがいしゅつでも親切に答えてくれたりする。
//vol.3,4でいろいろ習ったんだけど、最近は目新しいことないなぁ
643 :
Name_Not_Found :01/12/18 04:44 ID:MjXo3iNd
じぶんでじぶんをもちあげてるばかだろ
IEからプログラムを起動することってできますか? たとえば、「ここをクリックすると、ワードパッドが起動します」 っての。教えて!
646 :
Name_Not_Found :01/12/18 09:59 ID:frzEsmUG
質問です。 赤、青、黄3つの色のレイヤー(テーブル)があって、それぞれ重なっています。 別の場所に3つのボタン、red、blue、yellowがあります。 で、それぞれのボタンを押すと、その色のレイヤーが最前面にくるようにしたいのです。 下のような感じでよいのでしょうか?分かる方教えてください。 <script language="javascript"> <!-- function toptop(iro){ if(document.all)document.all(iro).style.〜この部分が分かりません〜; } //--> </script> <body> <a href="javascript:toptop('red')">red</a> <a href="javascript:toptop('blue')">blue</a> <a href="javascript:toptop('yellow')">yellow</a> <div id="red" style="position:absolute;top:50px;left:10px;z-index:0"> <table height="100" width="100" > <tr><td bgcolor="red">red</td></tr> </table> </div> <div id="blue" style="position:absolute;top:100px;left:40px;z-index:1"> <table height="100" width="100" > <tr><td bgcolor="blue">blue</td></tr> </table> </div> <div id="yellow" style="position:absolute;top:150px;left:70px;z-index:2"> <table height="100" width="100" > <tr><td bgcolor="yellow">yellow</td></tr> </table> </div> <body>
647 :
Name_Not_Found :01/12/18 10:58 ID:Eqqzg9CZ
>>600 一晩でなんかすごーく盛り上がって(??)しまったようですが、
いちお、作ってみました。N4/N6/Mozilla/IE/O6。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { position: absolute; z-index: 5 }
</style>
<script type="text/javascript">
var unit = 'px', ref = window, refx = 'pageXOffset', refy = 'pageYOffset';
function init() { // initialize...
if(document.all) { // prepare for IE
ref = document.body; if(ref.parentNode) ref = ref.parentNode;
refy = 'scrollTop'; refx = 'scrollLeft';
}
if(!document.getElementById) { // prepare getElementById
document.getElementById = function(id) {
var e = document.all ? document.all[id] : document[id];
unit = ''; if(!e.style) e.style = e; return e;
};
}
bar = document.getElementById('d0');
setInterval(alwaystop, 100);
}
function alwaystop() {
bar.style.left = ref[refx]+unit; bar.style.top = ref[refy]+unit;
}
</script>
</head><body onload="init()">
<div id="d0">This is a pen.</div>
<pre>
test...test...test...test...test...test...test...test...test...test...
test...test...test...test...test...test...test...test...test...test...
(途中略)
</pre>
</html></body>
648 :
Name_Not_Found :01/12/18 11:10 ID:Eqqzg9CZ
>>646 ホレ。N4/N6/Mozilla/IE/O6。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; font-size: 400%; z-index: 5 }
#d0 { top: 100px; left: 100px; background-color: red; z-index: 10 }
#d1 { top: 110px; left: 110px; background-color: blue }
#d2 { top: 120px; left: 120px; background-color: yellow }
</style>
<script type="text/javascript">
var a;
function init() { // initialize...
if(!document.getElementById) { // prepare getElementById
document.getElementById = function(id) {
var e = document.all ? document.all[id] : document[id];
if(!e.style) e.style = e; return e;
};
}
a = [document.getElementById('d0'), document.getElementById('d1'),
document.getElementById('d2')];
}
function top(n) {
for(var i = 0; i < a.length; ++i) a[i].style.zIndex = (i==n) ? 10 : 5;
}
</script>
</head><body onload="init()">
<p><a href="javascript: top(0)">red</a></p>
<p><a href="javascript: top(1)">blue</a></p>
<p><a href="javascript: top(2)">yellow</a></p>
<div id="d0">Red</div>
<div id="d1">Blue</div>
<div id="d2">Yellow</div>
</body></html>
649 :
Name_Not_Found :01/12/18 11:38 ID:wp5saiST
NN6で以下のようにポップアップウインドウを 開きたいのですが反応してくれません。 HEAD部 <!--- function winop(url,w,h){ window.open(""+url+"","winname","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width="+w+",height="+h+""); } ---> BODY部 <a href="javascript:winop('newwin.html','300','225')">.... 他のブラウザでは反応してくれるのに。。 どなたか教えてください。
650 :
Name_Not_Found :01/12/18 12:07 ID:Eqqzg9CZ
>>649 N6の「JavaScriptコンソール」窓を開いたら、
何かエラーメッセージとか出ていませんか?
651 :
646 :01/12/18 12:09 ID:frzEsmUG
>648 ありがとうございます。 これをきちんと理解できるように勉強しまっす。
>>647 残念ながら。
そのまんまコピーしましたが、Opera6では動きませんでしたよ。
あと、DOCTYPE宣言をTransitionalにするとIE6でもダメ。
――ってことはIE5.5以下でもダメってことではないかな。
653 :
Name_Not_Found :01/12/18 12:22 ID:Eqqzg9CZ
>>652 どうも。Operaのモードのせいですかね。私は「Identify as Opera」で
試して動いてます。どのみち、全部チェックして動かすためにはどの
ブラウザのどのバージョンではどのプロパティ、というのをやらないと
いけませんが、加えてどのモードとか言われると大変ですよねー。
654 :
Name_Not_Found :01/12/18 12:25 ID:Eqqzg9CZ
>>653 今思いついたんだけど、N4だけ自前で動かしてあとはposition: fixed
のままほっとく、というのが一番簡単なんじゃない?
655 :
Name_Not_Found :01/12/18 12:26 ID:JEj3ZLHk
656 :
649 :01/12/18 12:29 ID:wp5saiST
>>650 エラー: winop is not defined
って出ますけど。。。
あとこんなのも
エラー: syntax error
ソース ファイル:
http://www..... 行:11、列:2
ソース コード:
--->
↑が原因??
>>654 これまた残念ながら。
position: fixedはIE6でも未実装です。
対応してるNN6でもスクロールに支障が出るなど、あまり安心して利用できる
プロパティではないみたいです。
単に動くってだけなら
>>597-8 のものでもいいわけです。
Operaの各モードでもIEの厳格/互換モード両方でも動作するわけですから。
658 :
Name_Not_Found :01/12/18 12:35 ID:Eqqzg9CZ
>>656 コメントアウト用の「<!-- -->」をすべて削除して動かしてみたら。
私はつけないことにしています。
659 :
Name_Not_Found :01/12/18 12:39 ID:Eqqzg9CZ
>>657 いやもちろん、どういう書き方が美しいかということですよね。
そうですか、IE6ってCSS2対応してない個所もあるんですね。勉強
になりました。ども。
660 :
649 :01/12/18 12:45 ID:wp5saiST
>>659 -->を
//-->に変えたら動きましたーー
どうも
661 :
620 :01/12/18 15:46 ID:EN5F7c/2
>>635 どうも、ありがとう。なんとかここまで作ってみたけど、個別にフォントカラー等を変えた
いんですよ。また、for文等で軽くなる知恵ございませんか?
<script Language="JavaScript">
function disable1(){
document.testForm.elements[3].disabled = false;
document.testForm.elements[3].checked = true;
document.testForm.elements[4].disabled = false;
document.testForm.elements[4].checked = false;
document.testForm.elements[5].disabled = false;
document.testForm.elements[5].checked = false;}
function disable2(){
document.testForm.elements[3].disabled = false;
document.testForm.elements[3].checked = false;
document.testForm.elements[4].disabled = false;
document.testForm.elements[4].checked = false;
document.testForm.elements[5].disabled = false;
document.testForm.elements[5].checked = false;}
function disable3(){
document.testForm.elements[3].disabled = false;
document.testForm.elements[3].checked = true;
document.testForm.elements[4].disabled = false;
document.testForm.elements[4].checked = true;
document.testForm.elements[5].disabled = true;
document.testForm.elements[5].checked = false;}
</script>
<form name=testForm>
<input type="radio" name="g1" onClick="disable1()">1
<input type="radio" name="g1" onClick="disable2()">2
<input type="radio" name="g1" onClick="disable3()">3
<hr>
<input type="radio" name="g2" disabled>A
<input type="radio" name="g2" disabled>B
<input type="radio" name="g2" disabled>C
</form>
>>661 まとめると次のようなことですか?
「状態」は3つある(ラジオボタン2つともオフ、1番目ON、2番目ON)、
なおかつ一度変更したら両方オフの状態には戻らなくてよい。
その3つの状態についてそれぞれ、別の3つのラジオボタンのON/OFF、
disabledか否か、レイヤー表示のON/OFF、あと何か?のフォント、
色を指定したい。こういうことでいいの?
663 :
620 :01/12/18 16:28 ID:EN5F7c/2
>>662 実際にはラジオボタンが20個ぐらいで作りたいのですが、そこは応用しようと考えています。
例えば、1をチェックしたらABCが選択可能になりAをチェックする。
次に2をチェックしたらAのみ選択不可にしたい(ただこの時、Aがチェックされてる為
disabledにしても見た目上残ってるので、チェックを外したい。またその時のAという文字
を灰色にしたい)
・・・というのが20個ぐらいのラジオボタンで作りたいんです。宜しくお願いします
664 :
Name_Not_Found :01/12/18 17:18 ID:Eqqzg9CZ
>>663 なるほど、だったら「何をどうする」という情報をレコード(オブ
ジェクト)の配列として持っておいてループで設定するのがいいんじゃ
ないですかね?次のような感じに。いちお、N6/Mozilla/IE/O6。
どんな属性をとかは適当にふやせばいいわけで。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var st1 = [{d:false, c:true, k:'blue'}, {d:true, c:false, k:'green'},
{d:false, c:true, k:'red'}];
var st2 = [{d:true, c:false, k:'black'}, {d:true, c:true, k:'yellow'},
{d:false, c:true, k:'red'}];
var off = 2;
function set(a) {
for(var i = 0; i < a.length; ++i) {
document.forms[0].elements[off+i].disabled = a[i].d;
document.forms[0].elements[off+i].checked = a[i].c;
document.getElementById('d' + i).style.color = a[i].k;
}
}
</script>
</head><body>
<form action="#">
<p><input type="radio" name="g1" onclick="set(st1)">state 1</p>
<p><input type="radio" name="g1" onclick="set(st2)">state 2</p>
<div id="d0"><input type="radio" name="g2">A</div>
<div id="d1"><input type="radio" name="g2">B</div>
<div id="d2"><input type="radio" name="g2">C</div>
</form>
</body></html>
変数にオブジェクトを入れると、その変数はオブジェクトの エイリアスになるようなんだけど、これってJavaScriptの 規格としては正しいのかな? var a, b; function set(){ a = new Object; b = a; a.x = 2; } set(); alert(b.x); // IE5.01/Mozillaとも"2"が表示される。
666 :
620 :01/12/18 18:36 ID:rjAdMF8d
>>664 どうも有難う! 解決できました(まだ実装はしてませんが)
>>665 正しいです。
オブジェクトの代入はコピーじゃなくて、参照(?)になります。
var x = window.document;
としてもdocumentが2つできるわけじゃない。
668 :
665 :01/12/18 19:03 ID:BVPOOqkN
>>667 ありがとうございます。
こういう書き方ができるなら、cross browser対応コードが
書きやすくなるなあと思ってたので、助かります。
670 :
助けて!! :01/12/18 22:35 ID:AY0FqBoB
今、派遣先でHP製作をしています。HTMLのみ、という話だった筈なのに、コーディネータの聞き忘れて アクセスカウンターをつけなくてはならなくなりました。自分ではPerlは書けませんし、マシンに画像ソフト が一切入ってないので、GIF画像を作るのも一苦労です。プログラムをダウンロードしてカスタマイズする 作業も時間的猶予が無いので難しいです。 ほんの見かけ倒しで構いません、Java ScriptやDHTMLだけで画像を使わず、テキスト表示のみのカウンターを 作る方法はないでしょうか?またそのような方法を解説しているサイトを御存じでしたら、どなたか教えて下さい。 お願いします!!
cookie使えばカウンター紛いの事は出来るけど、
cookie喰べながらnet上をウロついてる奴は少ないと思う。
カウンター使うならCGI動かすしかないと思うナァ。
н
ttp://www.kent-web.com/ ケントさんの所の「カウンタ」って所参照。
スマン、cookie使ってもカウンターは無理(w
673 :
h++ :01/12/19 00:07 ID:M2jHc1ZM
>>670 紛いで良いなら時間(Date)でカウンタあげましょう。
674 :
Name_Not_Found :01/12/19 04:50 ID:Qq+oHpyM
>>647 このスクリプトIE5.5、O5で動きませんでした。
IEでの原因は ref = ref.parentNode; のところみたいです。
ここをコメントアウトすると動きました。
というか、 document.body.parentNode って document のことじゃないんですか?
ここの意味がわからないので教えてください。
あと、ペラ男で動かないのは、@絶対位置指定するとき、bar.style.top = xxx + "px"
という風に"px"を書き足すと、とたんに動かなくなること、Aウィンドウのスクロール
バーの位置を取得する時は寝助と同じく、window.pageYOffsetで取らなければ
いけない、といったことのようです。
えと、ブラウザーはIE5.5、Ope5.12でしか確認してないのであしからず。。。
あと、オペラのモードって関係あるんですか?どのモードでも動いたんですけど。
675 :
Name_Not_Found :01/12/19 10:20 ID:8Zjxb1ny
>>674 そうですよね、そのparentNodeのところ、私も疑問なんですが
>>532 を見るとIE6ではこれが必要みたいに書いてあるので…
スクロール位置の取得はDOM2にないので各ブラウザのしきたり
を探求するしかない…Operaのモードは関係ないかも知れません。
なにしろブラウザの新旧バージョン一式持つ根性がないもんで…
676 :
Name_Not_Found :01/12/19 11:37 ID:8Zjxb1ny
>>670 カウンタはやっぱCGIがないと無理だけど、表示のところ
をJavaScriptでそれっぽくするのはできると思いますよ。
--- counter.cgi ----
#!/usr/local/bin/perl
print "Content-type: text/javascript\n\n";
$count = `cat count.data`;
++$count;
print "var count = $count;\n";
open(OUT, ">count.data"); print OUT $count; close(OUT);
--- HTML ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript" src="counter.cgi"></script>
</head><body>
<script type="text/javascript">
document.writeln('<h1>' + count + '<\/h1>');
</script>
</body></html>
677 :
Name_Not_Found :01/12/19 12:09 ID:PL4ANVnB
document.body.parentNode はHTML。 document.documentElementで済む気がする。
678 :
Name_Not_Found :01/12/19 12:33 ID:8Zjxb1ny
唐突だけど
>>549 をちょっと直して「2次元スクロール」にしてみた。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>???</title>
<style type="text/css">
#d0 { border: solid blue 2px; width: 200px; height: 200px; overflow: hidden }
#d1 { position: relative; left: 0px; top: 0px; font-size: 400%;width: 800px }
#d2 { border: solid blue 2px; width: 60px; height: 60px; }
#d3 { position: relative; left: 0px; top: 0px;
background-color: purple; width: 20px; height: 20px }
</style>
<script type="text/javascript">
var d1,d2,d3,d4,xbase=0,ybase=0,xpos=0,oxpos=0,ypos=0,oypos=0,drag=false;
function init() {
d1 = document.getElementById('d1');
d3 = document.getElementById('d3');
if(d3.addEventListener) {
d3.addEventListener('mousedown', n6down, true);
d3.addEventListener('mouseup', n6up, true);
d3.addEventListener('mousemove', n6move, true);
} else if(document.all) { // IE
d3.onmousedown = function() { n6down(window.event); };
d3.onmouseup = function() { n6up(window.event); };
d3.onmousemove = function() { n6move(window.event); };
}
}
function n6down(e) { xbase = e.clientX; ybase = e.clientY; drag = true; }
function n6up(e) { drag = false; oxpos = xpos; oypos = ypos; }
function n6move(e) {
if(!drag) return;
xpos = e.clientX - xbase + oxpos; ypos = e.clientY - ybase + oypos;
if(xpos < 0) xpos = 0; else if(xpos > 40) xpos = 40;
if(ypos < 0) ypos = 0; else if(ypos > 40) ypos = 40;
d3.style.left = xpos + 'px'; d3.style.top = ypos + 'px';
d1.style.left = (-xpos*20) + 'px'; d1.style.top = (-ypos*20) + 'px';
}
</script>
</head><body onload="init()">
<div id="d0"><div id="d1">
<p>This is a pen. That is a dog.</p>
<p>This is a pen. That is a dog.</p>
<p>This is a pen. That is a dog.</p>
</div></div>
<div id="d2"><div id="d3"></div></div></div>
</body></html>
>>675 document.body.parentNodeではTransitionalだと動かなくなるって
>>560 が言ってる。
あと、Operaだとオフライン作業にした時、動作しなくなることもあるとか。(
>>556-9 )
>>675 IE5.5以前とIE6のTransitionalではBODYにスクロールバーが
付いてるので document.body.scrollTop で取得、
IE6 の Strict ではHTMLにスクロールバーが付くように
なったので document.documentElement.scrollTop
で取得しないといけなくなったと。
Internet Explorer 6 における CSS の拡張
http://www.microsoft.com/japan/developer/articles/dnie60/html/cssenhancements.asp これの影響ね。なにげに迷惑だw
>>674 document は文章全体を指し示すオブジェクト
document.documentElement は文書のルートノードを指し示す
HTML文章ではHTML。
document.body.parentNode はBODYの親ノードを指し示すので
HTML文章ではHTML。
どっちでもいいやね。HTMLにもBODYにもscrollTopは
存在しうるからそれで場合分けはまずいかも。
イントラのJavaScriptでサイトの振り分け行いたいのですが、 パソコンのIPの値ってとれますか?
682 :
Name_Not_Found :01/12/19 20:18 ID:v9ixxAL6
Opera6でどうやってもJavaScriptエラーが出ます。 外部ファイルでtest.jsの中味をごく簡単に次の通り書きます。 function Attention() {alert('Hello');} 次に、HTMLファイルは下記の通り。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript" charset="Shift_JIS" src="test.js"></script> <title>test</title> </head> <body onLoad="Attention();"> <h1>Test</h1> </body> </html> このHTMLファイルを開くと、普通は問題無くスクリプトが実行されるのですが、 メニューからファイル>オフライン作業を選択すると、なぜか実行されなくなります。 設定で「JavaScriptのエラーを告知する」にして再読込(更新)すると次の警告が。 Error: name: ReferenceError message: Reference to undefined variable: No such variable 'Attention' これだけ簡素なスクリプトで実験してるのに、何が原因かサッパリわかりません。 Operaでは「オフライン作業」だと外部JavaScriptは実行されないのですか?
683 :
Name_Not_Found :01/12/19 23:44 ID:FFaQyHTi
uA偽装看破とか、もういいじゃんヽ(´ー`)ノ イタチごっこだよ
JavaScriptでIP値ってとれますか?
誰か答えろや!ゴルァ!!
687 :
みゅみゅ :01/12/20 17:36 ID:Y+qTsbCe
過去ログを探しすぎて死にそうです。うぅ。 IDとパスワードを入力して指定のURLにジャンプするのに よいスクリプトはありますか? よかったら、おしえてください。(ココにあるよ、とかでもうれしいです。) セキュリティーが弱いのしか見つけられませんでした。 うわーん。誰か助けてー(泣)
最近JavaScript初めてよくわからないんですが他のページのフォームの部品を 参照して...みたいなことは出来ますか?
>688 他のページとは? フレームなら parent.フレーム名.フォーム名.要素に付けた名前.value; など。
691 :
Name_Not_Found :01/12/21 10:56 ID:K1i77I/D
HTMLで、ボタンと「リンクをボタンとして使う」のと、 どちらが軽く表示できますか? (ボタン多数の画面が時々表示できなくなるので、何とかしろと言われている)
>>691 両方作って試してみれば?
…というか、ホントにそんな大量なボタンが必要なのか?という意味で、
何とかしろっつーか、考えなおす余地があるんじゃないかと思う。
フレーム内の送信ボタンを押したときにフレームを解除するようなこ とはJavaScriptでできますか?
694 :
Name_Not_Found :01/12/21 11:59 ID:uLR0U1Kc
>>693 JavaScriptを使う必要ないけど
<FORM TARGET="_top"
695 :
Name_Not_Found :01/12/21 20:51 ID:ZJdnERpM
外部データベース(csvファイル)から取り込んだ レコードの数を調べる方法ってありますか? レコード数を表示したいんですが。 知っている人がいたら教えてください。
>>695 csvファイルを取り込む方法ならいくつでもあるから、
どの方法で取り込んだのか、
又は、取り込む方法も尋ねているのかを示さないと、
答えようがありません。
697 :
Name_Not_Found :01/12/21 21:23 ID:ZJdnERpM
>>696 こんな感じです。ここではdatapagesizeを1にしていますが
レコード数が多いと何ページにもわたってしまうので残りのページ数
を表示したいとおもっています。
-------Score.cvs--------
名前,性,国語:Int,算数:Int,理科:Int,社会:Int
さくら,女,75,71,8,66
知世,女,62,2,89,60
小狼,男,51,28,70,31
千春,女,68,61,46,12
奈緒子,女,89,55,69,24
利佳,女,79,30,79,81
--------------------------
<html>
<head>
<title>Score.filter</title>
</head>
<body>
<OBJECT ID="Score" WIDTH=0 HEIGHT=0
CLASSID="CLSID:333C7BC4-460F-11D0-BC04-0080C7055A83">
<PARAM NAME="DataURL" VALUE="Score.csv">
<PARAM NAME="UseHeader" VALUE="true">
</OBJECT>
<button onClick='Score.Filter = "国語>=70"; Score.Reset()';>国語70以上</button>
<TABLE DATASRC="#Score"datapagesize="1">
<TR>
<TD><SPAN DATAFLD="名前"></SPAN></TD>
<TD><SPAN DATAFLD="国語"></SPAN></TD>
<TD><SPAN DATAFLD="算数"></SPAN></TD>
</TR>
</TABLE>
</body>
</html>
トモヨの算数「2」ってのも豪快だな・・・
めいりんたんがいないのが残念。
700 :
Name_Not_Found :01/12/22 14:10 ID:sgitVD17
age
701 :
ホント〜に初心者m(_ _)m :01/12/23 12:20 ID:Cpf0d15Y
<INPUT onclick="botanncheck(1)" type="button" value="機能1" name="btn1"> でbotanncheck(1)を呼ぼうとしてるのですが、「エラー:このオブジェクトではサポートされてない操作です」 に成ってしまいます。 function botanncheck(a)じたいはJavaScriptで定義してあるのですが(中身はまだ何もないけど・・)。 これってどうしてですか?
702 :
Name_Not_Found :01/12/23 15:50 ID:1jtAejKw
>>701 エラー?
<html>
<script type="text/javascript">
function botanncheck(a){}
</script>
<form>
<input onclick="botanncheck(1)" type="button" value="機能1" name="btn1">
</form>
</html>
703 :
Name_Not_Found :01/12/23 16:37 ID:67S9jyEl
>>701 関数定義に失敗しているに1票。タイプミスで名前が違っているに0.5票。
704 :
Name_Not_Found :01/12/23 19:51 ID:LPdjYaga
すごい初歩的な質問ですいません。
全ページに共通で使っているjavascriptを拡張子.jsでライブラリ化して逃がせるところまでは
自分で調べられたのですが、どこからどこまでをどんな書式で外部ファイルに書くのかが分かりません。
例えば
>>702 さんの書き込みのjavascriptなら真ん中のfunction botanncheck(a){}をそのまま
外部参照ファイルに書いておけば良いのでしょうか?
>704 そう。 いきなり文法を書いていいのだ。 間違っても<script>やら<!--とか書かないように。 いらんから。
IDがセルだ・・・
707 :
704 :01/12/23 20:01 ID:LPdjYaga
あ、音速で答えて頂いてありがとうございます(^^ あと.jsを使うのはサーバー側が対応してないといけないみたいですが 一般論で.htaccessも使えない無料サーバーだと使えない確率高いですか? それとも大抵のサーバーで使えますか?
708 :
Name_Not_Found :01/12/23 20:07 ID:M1qopB/S
>>707 そんな事ないYO
content-type:text/htmlでもcontent-type:text/javascript
でもJSは実行するよ。
709 :
704 :01/12/23 20:11 ID:LPdjYaga
そうなんスか、無知なおいらに親切に教えてくださってありがとうございます。 いまから外部ライブラリ化してきます(^^
710 :
Name_Not_Found :01/12/23 21:07 ID:0n+bEP0M
JavaScriptでユーザーがフォームに入力したデータをチェックしなければいけません。 日付とか、その文字列が半角かとか・・・ 複雑になりそうですが、みなさんこういう場合どうやってデバッグします? ステップ実行とか出来ないの? 達人のみなさま、教えてくださいませ。
>>710 カコログにあったような気がします。探す気力が無いのでsage
役に立てなくてごみんよ。
>>710 debugger;
↑これでデバッガーが起動して、
ステップ実行とできます。
714 :
Name_Not_Found :01/12/23 23:58 ID:xaqbjlyY
うーん
715 :
Name_Not_Found :01/12/24 00:50 ID:U2YSR9v3
716 :
Name_Not_Found :01/12/24 16:28 ID:q0842Mih
>>715 鳴らす音を選んだり自由に取り換えたりとかは過去ログのどっかに
ありましたね。ただし、音を勝手に鳴らすのはひどく嫌われること
の1つですけどね。
<A href onClick="this.style.behavior='url(#default#homepage)'; this.setHomePage('
http://www.***.co.jp/ ');">クリック</a>
で初心者のホームページ設定やってるのですが、「はい」「いいえ」でなくて「OK」でする方法ってないのでしょうか?
>>718 まじですか・・・。それ以外でブラウザのホームページを
設定するスクリプトってないですか?
>>719 要は利用者の設定を書き換える操作なわけで
ユーザ側に拒否権を与えずにそんことが出来てしまえば
立派なセキュリティホールになるってことでさあ。
721 :
Name_Not_Found :01/12/25 15:25 ID:2Th646k9
なんか最近のこのスレってさあ、ページの読み手が何でも 自分の思う通りになってくれなくちゃイヤダという厨房 丸出しの質問が多すぎない?vol.6まで続いたけど潮時かね?
722 :
:01/12/25 15:42 ID:FHWHUQ1a
>721 隔離,あるいは駄スレ乱立を(ある程度)抑制,という役割もあるんだから.
723 :
Name_Not_Found :01/12/25 16:07 ID:QJpMN9nS
>>723 if(document.all) をはずせばいい。
725 :
723 :01/12/25 16:31 ID:QJpMN9nS
>>724 できた!ありがとうございます!!助かりました。
でもこれって無くても良いんだっけ?
726 :
724 :01/12/25 16:45 ID:e0KhVd5F
>>725 ネスケ4でエラーが出るのを防ぎたかったら、
if(document.all) の代わりに
if(document.all || document.getElementById)
とすればいいです。
>>725 処理内容考えたら
if( document.body && document.body.style )
の方が汎用的かも。
728 :
723 :01/12/25 17:02 ID:QJpMN9nS
>>726 ,727
親切にありがとう!
2つともちゃんと動きました。
んが、実はあんまり勉強してなくて、その2つの意味が分からない。。
if(document.all) と同じようなものと解釈しちゃっていいかな?
厨房過ぎでしょーか?
>>728 if(document.all) は「document に all があるなら」という条件。
if(document.all || document.getElementById) は
「document に all があるか、 または getElementById があるなら」という条件。
if( document.body && document.body.style ) は
「document に body があって、なおかつ document.body に style があるなら」という条件。
document.all は IE4 以降のみしか実装しない。
document.getElementId は DOM1 をサポートしていれば実装されているけど、
そのことと document.body.style の実装に直接の関係はない。
(まあちょっとは期待できるけど)
document.body.style を実装してさえいればブラウザを問わず動くのは
>>727 の書き方。
730 :
723 :01/12/25 18:17 ID:QJpMN9nS
>>729 おおお!すごい詳しい。
分かりました。丁寧にほんとありがとう。多謝!!(´▽`*)
731 :
Name_Not_Found :01/12/25 21:14 ID:TILDLoCM
マウスが重なったら、その下の画像を切り替えるスクリプトに関して質問です。 通常時はonMouseOverで画像を切り替えて、onMouseOutで元の画像に戻す、で、 クリックした時だけは画像を元に戻さない…というのをやりたいのですが、 どなたか御教授願えませんでしょうか?
( ´D`)ノ<ふらぐのせんげんれす <script language="javascript"> var flag = false; </script> ( ´D`)ノ<こんなかんじなのれす <img src="最初の絵" onmouseover="this.src = '次の絵';" onmouseout="if (!flag) { this.src='最初の絵'; }" onclick="flag = true;">
733 :
Name_Not_Found :01/12/25 22:16 ID:TILDLoCM
734 :
Name_Not_Found :01/12/26 07:39 ID:oNvTxAz5
3つある外部cssをランダムに読み込みたいのですが どうしたらよいのでしょうか? とりあえず作ってみたのですが、間違いの指摘お願いします。 <script language="javascript"> <!-- bg_style=new Array(); bg_style[0]=0; bg_style[1]=1; bg_style[2]=2; i=Math.floor(Math.random*bg_style.length); document.write("<link rel=\"stylesheet\" href=\""+i+".css\" type=\"text/css\">"); //--> </script>
735 :
Name_Not_Found :01/12/26 08:19 ID:qJX3IEnT
>>734 「Math.random()」としないと関数が呼ばれないんですけど。
var f = Math.random; // 関数オブジェクトを代入
var x = Math.random(); // 乱数値を代入
736 :
734 :01/12/26 08:23 ID:oNvTxAz5
>>735 しまった〜ケアレスミス!()←これを入れただけで解決しました…
ありがとうございます。
配列に入ってるのが0,1,2....なのかい? じゃ、配列作る意味ないんじゃねぇ?それ。
覚えたモノはすべて使いたいお年頃。。。
てかそもそも配列を長さの取得にしか使ってないし。
740 :
教えてください!!! :01/12/26 15:44 ID:ViCbYMSg
var 定数 で指定した定数に文字列を入れることは可能でしょうか?
741 :
Name_Not_Found :01/12/26 15:48 ID:u1TZaedh
各国語ウインドウズを判別したいんですけど どこで見分けるのですか。 ウインドウズ95/98/NTの日本語・中国語・ハングル版だけを えり分けたいのですが。。。
743 :
教えてください!!! :01/12/26 16:55 ID:ViCbYMSg
742さん ありがとうございます!! var sum = 0 sum = "内容" で良いんでしょうか? なんどもすいません!
745 :
:01/12/26 18:13 ID:q8RJaJOE
>741 IE navigator.systemLanguage navigator.userLanguage もじら・ねすけ navigator.language
var sum=0; sum="内容"; || var sum="内容"; セミコロンって無くても良かったよな? あった方が良さげだが。
747 :
教えてください!!! :01/12/27 08:49 ID:Og1DG0C8
>>746 さん
ありがとうございます!!
できました!!
748 :
Name_Not_Found :01/12/28 02:34 ID:NzAk4eXb
質問があります。 javaスクリプトでflashプラグインの有無を判別する事は出来るのでしょうか? もし出来るのであれば、やり方もしくは参考になるサイトなどを、教えていただきたいです。 よろしくお願いします。
寝助のみで判別可。 if (navigator.plugins && navigator.plugins["Shockwave Flash"]){ //ここにコード }
既存のオブジェクト(Stringとか)にユーザ定義のメソッドの追加って出来ますか?
752 :
Name_Not_Found :01/12/28 05:22 ID:KF1hom+J
>>748 これならIEとネスケ両方大丈夫。
navigator.FE=false;
navigator.FI='FlashFactory.FlashFactory';
if(document.all){
execScript('try{navigator.FO=new ActiveXObject(navigator.FI);navigator.FE=true}catch(e){}');
}else if(navigator.mimeTypes['application/x-shockwave-flash']){
navigator.FE=true;
}
if(navigator.FE){
alert('FLASHが使用可能です。');
}else{
alert('FLASHは使用不能です。');
}
753 :
Name_Not_Found :01/12/28 16:05 ID:LEF41Gu7
748で質問させていただいた者です。 質問に答えていただいたみなさんありがとうございます。
754 :
Name_Not_Found :01/12/28 16:55 ID:jB2Gr2/j
子フレームに飛んで来た場合、強制的に親フレームから読ませることは 可能でしょうか?また、それを組み込んだ場合にデメリットなどは生じますでしょうか?
755 :
Name_Not_Found :01/12/28 19:37 ID:IpUjVbBB
強制的に親フレーム表示されるのは嫌じゃない? 子フレームを開いた時だけ親フレームへのLINKがあるといいな。 子フレームだけ単独で見たい人もいるかもよ。 if(top.location == self.location){ // ほげほげ }
756 :
Name_Not_Found :01/12/28 23:04 ID:rluTlJU7
2002年までを秒数でカウントしたくて作ってみたんですが・・・ 上手く動きません。 どこがおかしいか誰かご指摘お願いします HEAD部分 <SCRIPT type="text/javascript"> <!-- function Count() { var date = new Date(); //Dateオブジェクト var now = date.getTime(); //現在までのミリ秒数 var mil = Date.parse("January 1, 2002 00:00:00"); //2002/01/01 00:00:00までのミリ秒数 var count = (mil - now) / 1000; //ミリ秒の差を1000で割る count = Math.floor(count); //count以下の最も近い整数に丸める countDown.innerHTML = count; //IDがcountDownのタグ要素を置きかえる timerID = setTimeout('Count()', 1000); //1000ms間隔で再帰的に自分を呼び出す } // --> </SCRIPT> BODY部分 <SCRIPT LANGAGE="JAVASCRIPT"> if (countDown >= 0) { document.write("<SPAN id=",countDown,"></SPAN><br>"); document.write("A HAPPY NEW YEAR 2002年">); } else { if (countDown == 0) document.write("A HAPPY NEW YEAR 2002年"); } else { document.write("A HAPPY NEW YEAR 2002年"); } </SCRIPT>
757 :
Cookieが飲み込めない :01/12/28 23:13 ID:zRHXkR9A
CGIで設定したCookieを、javascriptで読むと文字化けしてしまいます。 誰か助けて。。 CGIだと自分が書いたCookieをちゃんと理解できるのですが、 これをJavaScriptで読もうとすると、日本語が文字化けします。 ちなみに、CGIもJavaScriptもEUCです。 CGIでのCookieの設定には、 デコード $val =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg; 円コード $cook =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg; javascriptでは、 よくやる unescape、escapeを使ってます。 javascriptではunicodeに変換するってわかってるけど、 いろいろやってみないといけないのは分かってるけど、 もうギブアップ。 所詮ムリ??
CGIでEUCなら JavaScriptでEUCを理解しないとねえ unescapeなんか使っても文字化けするだけでしょ(とくにIE) 自分でデコード関数作るしかないんでは?
( ´D`)ノ<こんなかんじれす
>>756 ちょっとてきとーれす
<script language="javascript">
function countDown() {
var date = new Date();
var now = date.getTime();
var target = Date.parse("January 1, 2002 00:00:00");
var count = Math.floor((target - now) / 1000);
if (count <= 0) {
document.all.countDown.innerHTML = "A HAPPY NEW YEAR 2002年";
} else {
document.all.countDown.innerHTML = count;
setTimeout("countDown()", 1000);
}
}
</script>
<body onload="countDown();">
<span id="countDown"></span><br>
</body>
>>757 Cookieに日本語書き込むときってエンコ必要?
まぁ仕様書どおりにやると必要らしいけど
漏れは気にせず日本語そのまま放りこんでるけど。
で >756 は JavaScript ヘルプ! pc.2ch.net/test/read.cgi/hp/1009545535/ の削除依頼を出したのか?
( ´?D`)ノさん、初期の頃に居たよね? 久しぶりの復帰ですか? またよろしく。
>761 藁タ。 そんな駄スレ立ててたのかよ。 しかも「sachi」って(ワラ kumi、あんなに次ぐ糞やね。
764 :
Name_Not_Found :01/12/29 02:15 ID:ClNT98XI
ヤフーオークションのページみたいに アクセスする事に画像が変わる仕組みにしたいのです。 で、画像だけランダムに変わるのはフリーCGIであるのですが ヤフオクのはそれに説明文も付きます。 ですので、このようなページの作り方、もしくはランダム画像+説明文方式の CGIなり、javascriptなりをご存じでしたら教えて下さい。
>>757 素直にCGI側でShiftJISを使いましょう。
以前にも出ていたが、クッキー操作をサーバー側又はクライアント側で 統一するってのはダメなのかな?
767 :
Name_Not_Found :01/12/29 03:50 ID:eRAP3IeY
>764 <img src="dummy.png" alt="ダミー"> <script type="text/javascript"><!-- var i=new Array(); i[0]=new Array("00.png","00.png画像です"); i[1]=new Array("01.png","01.png画像です"); i[2]=new Array("02.png","02.png画像です"); i[3]=new Array("03.png","03.png画像です"); var ii=Math.floor(Math.random()*i.length); document.images[0].src=i[ii][0]; document.write("<br>"+i[ii][1]); //--></script> ヤフオクのソース見るのが一番だと思うよ。 オレはヤフオク見んから、よう知らんけど。
<head><script type="text/javascript"><!-- var i=new Array(); i[0]=new Array("00.png","00.png画像です"); i[1]=new Array("01.png","01.png画像です"); i[2]=new Array("02.png","02.png画像です"); i[3]=new Array("03.png","03.png画像です"); var ii=Math.floor(Math.random()*i.length); function iii(){ document.write("<img src='"+i[ii][0]+"'><br>"+i[ii][1]); } //--></script></head> <body><script type="text/javascript"><!-- iii(); //--></script></body>
769 :
764 :01/12/29 12:10 ID:QOZGhg4y
770 :
756 :01/12/29 22:05 ID:nLTZ8JFn
>759さん 有難うございました。 助かりました。 >761さん 出しましたよ。
771 :
Name_Not_Found :01/12/30 18:22 ID:xtPG4CMe
セレクトメニューで画像を切替えたいのですが、画像がかなり多いので 切替えの都度画像を読み込み、かつ短いスクリプトっていうのは可能ですか? 方法を教えてほしいです。
( ´D`)ノ<こんなかんじれす
>>771 さきよみしないほうがスクリプトはかんたんれす
<script language="javascript">
function changeImage() {
with (document.forms[0].imageSelector)
document.images[0].src = options[selectedIndex].value;
}
</script>
<img src="画像">
<form>
<select name="imageSelector" onchange="changeImage();">
<option value="画像1">1</option>
<option value="画像2">2</option>
</select>
</form>
773 :
771 :01/12/30 19:16 ID:Lrb30Q4g
>>772 はやい!
有り難うございます!
再び質問で申し訳ないですが
forms[0] や images[0] の [0] は何を表しているのですか?
勉強中なので知りたいです・・・
774 :
Name_Not_Found :01/12/30 19:17 ID:syOSrm/v
>>773 配列の添え字
配列の先頭から見て何番目からかを表す。
775 :
774 :01/12/30 19:19 ID:syOSrm/v
×何番目からか ○何番目か
776 :
771 :01/12/30 19:26 ID:Lrb30Q4g
777 :
Name_Not_Found :01/12/31 02:49 ID:EbL5fSK8
>>777 ずれるのはポジションを適切に設定していないからです。
779 :
Name_Not_Found :01/12/31 22:16 ID:HQhmDtYg
777がいってるような奴って ネスケでも見れるのか?
>>779 ネスケ4.78なら見られる。
ただしCSSを無効にすると思いっきりデザインが崩れる(当たり前)。
783 :
Name_Not_Found :02/01/01 00:07 ID:k/WaZKi5
今年もよろしくです
784 :
Name_Not_Found :02/01/01 00:13 ID:2KoXrD+W
ソース見る限り充分簡潔だと思うが どう短くしたいの? ちなみに、配列の要素は縦だけじゃなく横に並べてもOKよ?
787 :
785 :02/01/01 16:05 ID:6AfOAHjQ
>>786 やはりそうですか。
知人に見せた所もっと分かりやすくしろよ
と言われたので聞いてみました。
788 :
Name_Not_Found :02/01/01 23:24 ID:a0onPECA
マウスオンでリンクの説明をポップアップで出しているのですが、 マカーのお客さんが「動作しねぇぞ!死ね!」と脅してきます。 Mac対応で、ポップアップの背景が透けない スクリプトを紹介していただけないでしょうか? グーグルで丸1日探したけど見つかりません・・・
789 :
↑ :02/01/01 23:37 ID:O8lm0J4L
window.onload = function(){ if( navigator.platform.indexOf('Mac') != -1 ){ for(var i=0;i<document.links.length;i++){ document.links[i].style.display='none'; } } }
>>785 document.writeしないでくれ
DOMを使ってください
>>788 何言ってるのかわからん
792 :
:02/01/02 11:08 ID:xhXuvGyZ
793 :
Name_Not_Found :02/01/02 13:02 ID:cPUjI9YK
794 :
:02/01/02 23:28 ID:+dE7OX3y
あげー
796 :
:02/01/03 18:13 ID:GOkhsMwv
らくらぶ 居る?
797 :
Name_Not_Found :02/01/03 21:10 ID:rKqetQPx
親Windowからの制御ではなく、blankしたWindow内のhtmlでツールバーや ローケーションバーを非表示にするスクリプト教えてください。 お正月が迎えられません・・・
798 :
Name_Not_Found :02/01/03 21:44 ID:Xk0LqPxk
>>797 それはできないんじゃないかな。せいぜい、新しい窓をこれまで
の窓と同じ位置/大きさでなおかつツールバーやロケーションバー
をオフにして作り、これまでの窓は閉じるとか?
しかしもう3日の夜なのにまだお正月が来ないんですか…
799 :
Name_Not_Found :02/01/03 22:04 ID:rKqetQPx
>>798 やはりできませんか?12月31日にJAVAの本二冊も買って探したけど
いまだできません。親Windowは触れない下請け仕事なのです。
ああー明日は納期です。まいった、まいった。
( ´D`)ノ<つぃもつくりなおすしかおもいうかばないれす
>>799 あんまりかっこよくないれす
<script language="javascript">
moveTo(100, 100); // ←ひょうじするいちをきめたほうがちょっとましれす
function showToolBar(value) {
var option = "left=2000,top=2000,screenX=2000,screenY=2000,";
option += value? "toolbar=yes": "toolbar=no";
with (open(location.href, "_blank", option))
moveTo(100, 100);
close();
}
</script>
<form>
<input type="button" value="ToolBarいる" onclick="showToolBar(true);">
<input type="button" value="ToolBarいらない" onclick="showToolBar(false);">
</form>
( ´D`)ノ<がめんのそとでつくっていどうしたほうが
ゆらゆらしないれす
801 :
Name_Not_Found :02/01/03 22:36 ID:rKqetQPx
>>800 ありがとです。
ヒントもらった気がして、さっそくやってみましたがうまくいかない
です<悲しい・・・
HTMLを指定すれば、無条件にツールバーが無いものが必要なのです。
ややあきらめモード、でももうちょっとがんばります。
802 :
cs :02/01/04 21:18 ID:J0+sF6qq
cs
803 :
:02/01/04 23:12 ID:KVlxuWOM
イメージの更新をしようと思うんだけど 下のソースみたいにファイル名が同じだと再読み込みしてくれないんだよね。 なんか解決方法ってある? function image_reload(num){ image = new Array(); for(i=0;i<num;i++){ image[i] = new Image(); image[i].src = ""+i+"/now.jpg"; command="document.jpeg"+i+".src=image["+i+"].src;"; eval(command); }
( ´D`)ノ<キャッシュをクリアするほうほうあるんれすかねえ こそくれすがこういうてもアリれす <script language="javascript"> var count = 0; function reloadImage() { document.images[0].src = "画像.jpg?" + count; count++; } </script> <img src="画像.jpg"> <form> <input type="button" value="更新" onclick="reloadImage();"> </form> ( ´D`)ノ<よんでるのがCGIならちょっとちゅういがひつようれすが
805 :
803 :02/01/05 02:22 ID:j/G8CkAY
サンクス。 URIを変更してしまえばキャッシュがきかないからよしと。 なるほど。
807 :
Name_Not_Found :02/01/06 19:48 ID:ZN4paRmm
image1.src="jpg1.jpg"; のjpgがなかったときの判定ってどうやってやるの?
808 :
↑ :02/01/06 19:55 ID:QszdqdWM
もうちょい詳しく。 拡張子が無かった場合? ファイルそのものが無かった場合? 後者の場合は勿論表示されない。 #「判定」の意味がわからんが…
809 :
Name_Not_Found :02/01/06 20:07 ID:ywx+j0v8
+アルファベット ←これを押すと下のディレクトリを表示する +アルファベット ←こんな感じ | A B いろいろ見て回ったんですが、いまいちピンとこなかったので 噛み砕いて教えてもらえるとありがたいです。
810 :
807 :02/01/06 20:09 ID:ZN4paRmm
>>808 もうしわけない。
画像がダウンロードできなかった場合のことです。
>>810 function er(){
alert("画像読み込みに失敗したぞゴルァ!");
}
<img src="jpg1.jpg" onError="er()">
812 :
807 :02/01/06 21:08 ID:ZN4paRmm
>>811 説明がつたなくて、ごめん。
そうではなく
javascript内で
document,image1.src="jpg1.jpg";
ってやったときなんだよね。
813 :
Name_Not_Found :02/01/06 23:10 ID:NkTlpGPv
www2.justnet.ne.jp/~aki_t/ ↑閉鎖中のサイトらしいけど、SCRIPTタグでJSファイル読み込んでるだけで いろんなjavascriptをあちこちに仕込んでるみたい。 こういうのってどうやればできsるの?
>こういうの どういうの?
815 :
C_sugar :02/01/07 01:58 ID:FRzvc5nP
DHTMLのことじゃないの?
全部を説明しろって?
817 :
Name_Not_Found :02/01/07 02:28 ID:4fTVgn5x
IEとNSで自動的に飛ばし先を分けるのはどうすれば良いんですか?
818 :
813 :02/01/07 06:38 ID:X9l+lqyO
>814 スマソ。JSファイルを読み込むだけでonmouseoverとかを 仕込む方法が知りたかったんだけど、質問が曖昧でしたね。
819 :
Name_Not_Found :02/01/07 06:55 ID:HkMjkRdX
>>818 設定したいオブジェクト.onmouseover = 実行する関数;
820 :
Name_Not_Found :02/01/07 09:26 ID:hUFnkzUA
>>793 404 Not Foundになってる。
いつからだ?
821 :
Name_Not_Found :02/01/07 12:11 ID:+TSUa1/I
>>820 あれ。ホントだ。漏れが見た時はあったyo
2日以降は見てないけど。
822 :
Name_Not_Found :02/01/07 12:56 ID:NXc4qhAs
>>817 navigator.appName.charAt(0) が"M"ならIE、"N"ならNS
これ以上まじめにやりたかったら正規表現でも使うこと
823 :
Name_Not_Found :02/01/07 16:59 ID:w4tYb7wU
document.writeをスクリプト内で使用すると htmlファイルが全て書き換えられてしまうのでしょうか? マウスでクリックするたびにdocument.write("abc"); などと行いたくても、一度クリックするとスクリプトなどが消えて しまうので動きません。
825 :
Name_Not_Found :02/01/07 18:05 ID:Wxbx1jUp
>>820 >>821 確か3日か4日の夜から急に見れなくなったんだよ。
その直前までそこでダウンロードしてて。最後の一個を・・・
と思ったら突然NOT FOUND状態。
メンテか?と思ったけど未だに見れない。
あそこが1番見やすかったし ダウンロードファイルの状態も
シンプルで良かったんだけどなー。
826 :
Name_Not_Found :02/01/07 18:26 ID:d6SjEeqj
+アルファベット ←これを押すと下のディレクトリを表示する +アルファベット ←こんな感じ | A B いろいろ見て回ったんですが、いまいちピンとこなかったので 噛み砕いて教えてもらえるとありがたいです。
<script> function OpenDir(i){ document.all('d00').style.visibility=i; } </script> <a href="#" onClick="OpenDir('visible')">+アルファベット</a> <div id="d00" style="visibility:hidden"> |<br> ?A<br> ?B </div> ディレクトリはdocument上に表示できんだろ…
828 :
Name_Not_Found :02/01/07 19:51 ID:d6SjEeqj
829 :
823 :02/01/07 21:29 ID:6uZmrMno
>>824 レスありがとうございます
>>823 です。過去ログ見てみましたが
どうも解決方法がみつからなくて・・・。
document.writeの仕様としてこれは仕方がないので
別の方法で書き出した方がいいのでしょうか?
830 :
某スレの809 :02/01/07 21:31 ID:elGv/ojn
<form Method="POST" Name="LINK" TARGET="FRAME2"> <div align="center"><center><p> <select NAME="selLink" onChange="LinkSelect(this.form, this)" size="1" style="background-color:#ffffcc"> <option selected value="-">▼TUNING MENU</option> <option value="top.htm">ホーム</option> <option value="update.htm">更新状況 </option> </select> </p> </center></div> </form> 以上の部分を正常に動かしたいのですが、リンク先に飛んでいきません。 足りない部分を教えてください。 ご指導お願いします。
>>829 残念ながら、別の方法で行うほかありません。
>>830 他人のソースをパクって来られたようですが、
「function LinkSelect〜」というコードが含まれた
<script>タグもパクってこないと動きません。
関数って何か知ってるのかも怪しいもんだな
834 :
823 :02/01/07 21:56 ID:6uZmrMno
レイヤーに対してinnerHTMLで内容を書き換える方法が あると聞いたんですがこの方法だとhtmlファイル自体を 書き換えないですみますか?
835 :
某スレの809 :02/01/07 22:28 ID:elGv/ojn
>>832 いや、パクッタと言うか、チェックを頼まれたモノで、俺はこれに詳しくないので・・・
でもなんか解決しそうです。どうもありがとう。
836 :
某スレの809 :02/01/07 22:34 ID:elGv/ojn
やっぱむずい。 どこかわかりやすいサイト知らないですか? とほほは難しすぎて・・・
>とほほは難しすぎて・・・ うっへり
838 :
Name_Not_Found :02/01/07 23:11 ID:6uZmrMno
VMLでベクトル図形を書いています。 <v:line id="test1" from="100,100" style="position:absolute;" /> <v:polyline id="test2" style="position:absolute;" /> とBODY内に書き、javascriptで test1.to = 500+","+400; test2.points = 100+","+100+" "+200+","+100; と書くと、lineはうまく描けますがpolylineが描けず、test2.points = の行でエラーが出ます。 エラーメッセージは「オブジェクトでサポートされてないプロパティまたはメソッドです」です。 pointsの型はstring型と書いてあるので素直にtest2.points = "0,0 100,100"; と書きましたがやはりエラーが出ます。どなたか解決方法を知ってませんか?
839 :
Name_Not_Found :02/01/07 23:12 ID:WOEpHckP
840 :
Name_Not_Found :02/01/07 23:30 ID:Ng8OL/PJ
>>837 >うっへり
(;´Д`)ハァハァ・・・
ツリーのやつ、全部寝助で動かない。 全然神じゃねぇ
844 :
843 :02/01/08 09:58 ID:9ZIlsmNW
一個動くのあった。ウツダ
845 :
Name_Not_Found :02/01/08 12:58 ID:L26sq2pg
設置済みのコンポボックス内の数字を定数として抜きたいのですが どうすればよいでしょうか? 教えてください。
847 :
Name_Not_Found :02/01/08 13:23 ID:jm7Ynr1P
>>845 意味がよくわかんないんだけど…selectメニューの
現在何番目が選択されているかという番号を取得する
ってこと?もしそうならそのselect部品オブジェクトの
プロパティselectedIndexを参照すればいいんだけど。
848 :
Name_Not_Found :02/01/08 13:30 ID:75CEeMnV
>>842 そこは神。最終目的地みたいなもの。
っつーかそこのスクリプトパクろうと思ったんだけど無理みたいだね。
階層部分のソースがどこなのかさっぱりだった(w
やっぱ神だよ。
849 :
Name_Not_Found :02/01/08 13:34 ID:jm7Ynr1P
>>838 VMLとSVGの違いってよく知らないんだけど、SVGの仕様
によるとpointsはSVGList型でreadonlyとなってます
ね。たとえばtest2.points.appendItem('200,200');
なんて実行すると線分が増えたりしませんか。
851 :
845です。 :02/01/08 15:21 ID:L26sq2pg
>>847 さん
RESありがとうございます。。
-------------------------------------------------
var sum = 0;
sum += 「この部分が分かりません。。」;
(SUMに今選択されている"TEST1"の内容を入れたいのですが
eval(form.test1) ;でやったら出来ませんでした。。)
form.test2.value=sum;
・
・
・
<SELECT NAME="test1">
<OPTION VALUE=""></OPTION>
<OPTION VALUE="10">10</OPTION>
<OPTION VALUE="20">20</OPTION>
<OPTION VALUE="30">30</OPTION>
</SELECT>
INPUT TYPE="button" VALUE="計算" onClick="calc(this.form)">
--------------------------------------------------------
定数にコンポボックスの今選択しているデータを抜き出そうとしましたが
出来なかったので質問です。。スミマセン宜しくお願いします。。
後抜き出した時に数値データとして読んでいるかも教えてください。
お手数をお掛けします。
>>851 もちろんおかしいが、その前にタグ&属性ちゃんと書いてるのか?
with (document.forms[0].test1)
sum += options[selectedIndex].value;
document.forms[0].test2.value = sum;
853 :
Name_Not_Found :02/01/08 16:01 ID:jm7Ynr1P
>>851 こんな感じですか。N4/N6/Mozilla/IE。質問に使われている
用語がものすごくドキュソなので解答したものかどうか正直
びびりましたがお役に立てば幸いです。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<script type="text/javascript">
var sum = 0;
function calc(f) {
sum += parseInt(f.elements.sel.options[f.elements.sel.selectedIndex].value);
f.elements.tx.value = sum;
}
</script>
</head><body>
<form action="#">
<p><input type="text" name="tx">
<input type="button" onclick="calc(this.form)"></p>
<p><select name="sel">
<option value="0">-</option>
<option value="10">10</option>
<option value="20">20</option>
<option value="30">30</option></select></p></form>
</body></html>
854 :
845 851です。 :02/01/08 16:19 ID:L26sq2pg
>>852 さん
>>853 さん
ありがとうございます!やってみます!
一から自分で作ってるのではなくて人のを
引き継いだので泣きそうでした!!
ドキュソですいません!!
本当にありがとうございます!!
855 :
Name_Not_Found :02/01/08 16:36 ID:PLBwa12m
856 :
質問 :02/01/08 17:35 ID:DvupFune
Bのページに下記のような指定をしました。 <a href="javascript:history.back(1)">Aへもどる</a> これで直前にAを見ていた場合Aのページにもどりますよね? IE5.5では大丈夫でしたがネスケ4.7ではだめなんです。 他の自分がやったサイトではネスケでも大丈夫だったので「?」です。 AもBもフレームを使用していて、Bのページのボトムフレームに スクリプトを記述したのですが、ここらへんでなにかネスケにバグでも あるのでしょうか?
857 :
Name_Not_Found :02/01/08 17:40 ID:jm7Ynr1P
ちょっと作ってみたんだけど、メニューは出るんだけど
選択しようとしてマウスを動かすと閉じてしまう…何が
悪いのか分かる人いる?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; border: blue solid 1px }
#d0 { top: 20px; left: 100px; width: 80px; height: 40px }
#d1 { top: 50px; left: 100px; width: auto; height: auto;
visibility: hidden; background-color: yellow }
</style>
<script type="text/javascript">
function set(v) {
document.getElementById('d1').style.visibility = v;
}
</script>
</head><body>
<div id="d0" onmouseover="set('visible')">Menu</div>
<div id="d1" onmouseout="set('hidden')"><table>
<tr><th><a href="
http://www.yahoo.co.jp ">やふー</a></th></tr>
<tr><th><a href="
http://www.google.co.jp ">ぐーぐる</a></th></tr>
<tr><th><a href="
http://www.goo.ne.jp ">ぐー</a></th></tr>
</table></div>
</body></html>
858 :
Name_Not_Found :02/01/08 17:43 ID:jm7Ynr1P
>>856 手元の本によると「history.back()」または「history.go(-1)」
が正しいみたいですが…
<div id="d0" onmouseover="set('visible')">Menu</div> ↑この</div>を </table></div> ←ここに持ってくる。 試してないけど、理屈ではそうだと思う。
861 :
最大化ボタン :02/01/08 19:01 ID:o+m6PDyR
window.open("test.html","sub","width=780,height=500,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizeable=no"); このスクリプトを呼んで、ウィンドウを生成しているのですが、 最大化ボタンが WIN IE5.5だと無効なのに、 WIN IE5.0だと有効になってしまいます。 window.showModelessDialog window.showModalDialog は使わない方法で御存知でしょうか?
>>857 th や a で発生したイベントも #d1 が拾っていることに注意せよ。
>>846 840の一番下のやつしかN6.2で動かなかったけど、オレがおかしいのかな?
864 :
ヘタレ :02/01/08 21:28 ID:sNFPkUCX
こんばんは。質問です。 isNaN()って関数ですが、Not a Numberだから非数字はtrueかと思ってました。 でもスペースが数字って判定されてるみたいです。そうなんですか? もしそうなら何故スペースが数字? (日頃バグにビクビクしてるだけに、なんか納得いきません。) isNaN()のバグですか?仕様ですか??
>>864 仕様。 isNaN() は引数を
Number 型に型変換した結果が NaN であるかどうかを返す関数。
ECMAScript では空文字列と空白文字による文字列は
型変換で数値の 0 に変換される。
だから false が返るのは正しい挙動ということになる。
866 :
ヘタレ :02/01/08 22:15 ID:xySN6N1Z
>>865 ありがとうございます。そういうことでしたか・・・。
867 :
Name_Not_Found :02/01/08 23:15 ID:WfqBzxJF
>>858 ありがとう。でもダメでした。
やっぱりフレームの1枚にもどるボタンを置いてるのが原因で
ネスケがバグってるのかな・・・と。
868 :
C_sugar :02/01/09 06:38 ID:EbFfWjrk
NetscapeとIEの両方に対応していて、CSVファイルを2次元配列に格納する方法はありますか? あと、JavaScriptによってborderの色を変える方法ですが、 border-leftやborder-topなどを指定して色を変えることは不可能ですか? 無理だと思うのですが、もし実現する方法があったら教えてください。
>>868 JavaScript は外部ファイルを直接読みこむようなことは出来ない。
border の色は borderTopColor, borderLeftColor とかでいけるよ。
#N4ではダメかも。未確認。
870 :
Name_Not_Found :02/01/09 08:32 ID:TSHv2woI
>>864-866 その説明だとちょっと分かりづらいかな。NaN(Not a Number)
というのは「数でないもの」じゃなく「非数」つまり演算したけど
結果が数として表せないもの、という意味なのね。0で割った結果とか。
だからNaNはあくまでも「数値の一種」ということになっている。
で、isNaN()は「引数がNaNであるかどうか調べる」ということね。
ただ、引数が数値でないときは数値に変換してから調べるから、'abc'
とかそういうものはNaNに変換されるんでtrueが返ると。
>>867 そうか! top.history.back()とかではどう?
>>869 サーバにあるファイルだったらそのURIを指定して窓か
フレームを開くことで読み込ませられるよね。
871 :
857 :02/01/09 08:37 ID:FmVOKi+g
>>859 さん、あたりでした、ありがとうございます。
いちお、直してMozillaで確認しました。IEは今手元にない…
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>???</title>
<style type="text/css">
div { position: absolute; border: blue solid 1px }
#d0 { top: 20px; left: 100px; width: 80px; height: 40px }
#d1 { top: 20px; left: 10px; width: 100px; height: auto;
visibility: hidden; background-color: yellow }
</style>
<script type="text/javascript">
function set(v) {
document.getElementById('d1').style.visibility = v;
}
</script>
</head><body>
<div id="d0" onmouseover="set('visible')" onmouseout="set('hidden')">Menu
<div id="d1" onmouseout="set('hidden')"><table>
<tr><th><a href="
http://www.yahoo.co.jp ">やふー</a></th></tr>
<tr><th><a href="
http://www.google.co.jp ">ぐーぐる</a></th></tr>
<tr><th><a href="
http://www.goo.ne.jp ">ぐー</a></th></tr>
</table></div></div>
</body></html>
872 :
Name_Not_Found :02/01/09 09:35 ID:BXMn4nWF
リアルタイムの処理を作る時に、 setIntervalで妥当な(今の平均的なPCで差がそれほど生まれない)間隔って みなさんの経験上どのくらいですか?
>>872 >今の平均的な
Pentium 133MHz+Win95が未だに一部の地域(?)で現役であることを考えると平均というものは存在しない気がする。
874 :
Name_Not_Found :02/01/09 09:54 ID:npmuj/+R
>>872-873 いやだから。setIntervalで指定する間隔が短いと遅いPCで破綻する
し、長過ぎると動きがカクカクする。自分では「遅いPCでも大丈夫な線」
として100msecくらい、なめらかにしたい限度で20msecくらい、ふつー
間をとって50msecくらいを指定している。
>>870 JavaScript では 0 で割った結果は必ずしも NaN にはならない。
0/0 は NaN だけど、それ以外は inFinity として定義されている。
# というか、
>>864 は「スペースが NaN にならない理由」を知りたかったのでは。
876 :
875 :02/01/09 10:29 ID:nr8SB70F
× inFinity ○ Infinity 逝ってくる。
877 :
◆Z/ID97yU :02/01/09 13:28 ID:tY9kLKvg
>>872 彼是、1年程DHTMLやってますけど、Win98は大体80-130msec,
WinNT(2000)は、10msecで統一してます。これが一番良いです。
ただし、これはIEの話であって
NN4の場合、150msec, NS6.0の場合、150msec, NS6.2の場合、30msecです。
状況に応じてですが、必要ならば処理を分岐させることもありです。
あえて平均的な時間を言うと 50-80msec が妥当だと思います。
>>872 たしか、MARQUEEも60msecで動くようになっていて、
60msecが推奨っぽい。
ただし、アニメーションとかさせるなら、
50msec以下にしないと、ちらついて見えるかも。
879 :
Name_Not_Found :02/01/09 13:55 ID:N8qz8FrJ
880 :
d-s・・・ :02/01/09 14:16 ID:9YJ+8YpS
こんにちは。質問です。 項目が5こあって、一つの項目をラジオボタンで選択すると、 それぞれ3つの対象物が表示されるとします。 そして、その3つの対象物はマウスで自由に動かせます。 次の項目を選んだ時、その前の動かした対象物をそのままの位置に表示されます。 このようなことは可能ですか? 今は、ラジオボタンで選択すると3つの対象物が表示されて、マウスで動かせます。 でも、次の項目を選択しても新しい対象物は表示されず、前に表示されたままです。
そのソースを貼るか、長ければアプロダに上げて見せてくれると 解決も早そうです
ラジオボタンで背景色と文字色を変えられるようにしたいのですが、 <style type="text/css"> <!-- body { color: black; background-color: white } --> </style> <script type="text/javascript"> <!-- function change(fg, bg) { if(document.layers) { document.fgColor = fg; document.bgColor = bg; return; } var s = document.styleSheets[0]; if(s.cssRules) { s.cssRules[0].style.color = fg; s.cssRules[0].style.backgroundColor = bg; } else { s.cssText = 'body { color:' + fg + '; background-color: ' + bg + ' }'; } } //--> </script> で、 <form aciton="#"><p> <input type="radio" name="r1" onclick="change('blue', 'brown')"> <input type="radio" name="r1" onclick="change('#00eeff', '#ffee00')"> </p></form> ↑これを押すと、NN4とIEでは見事にグワッと色が変わりました。 でも、NN6ではウンともスンともいいません。 どうしてでしょうか、教えてほしいです。
883 :
d-s・・・ :02/01/09 14:36 ID:9YJ+8YpS
<HTML> <HEAD> <style> <!-- .drag{position:relative;cursor:hand}}} --> --> </style> <SCRIPT language="JavaScript"> <!-- function changeImage(imgnum){ if(imgnum==1){ document.myimg.src="tana1-3.gif"; }else if(imgnum==2){ document.myimg.src="tana3-1.gif"; }else if(imgnum==3){ document.myimg.src="hana3-1.gif"; }else if(imgnum==4){ document.myimg.src="dennki.gif"; }else if(imgnum==5){ document.myimg.src="bed1.gif"; } } var dragapproved=false var z,x,y function move(){ if (event.button==1&&dragapproved){ z.style.pixelLeft=temp1+event.clientX-x z.style.pixelTop=temp2+event.clientY-y return false } } function drags(){ if (!document.all) return if (event.srcElement.className=="drag"){ dragapproved=true z=event.srcElement temp1=z.style.pixelLeft temp2=z.style.pixelTop x=event.clientX y=event.clientY document.onmousemove=move } } document.onmousedown=drags document.onmouseup=new Function("dragapproved=false") //--> </SCRIPT> </HEAD>
884 :
d-s・・・ :02/01/09 14:38 ID:9YJ+8YpS
<BODY> <IMG src="tana1-3.gif" name="myimg" class="drag" border=0> <IMG src="hana3-1.gif" name="myimg" class="drag" border=0> <IMG src="img1.gif" name="myimg" class="drag" border=0> <FORM> <INPUT type="radio" name="imgradio" checked onClick="changeImage(1)">部屋の色 <INPUT type="radio" name="imgradio" onClick="changeImage(2)">ランプ <INPUT type="radio" name="imgradio" onClick="changeImage(3)">ベッド<BR> <INPUT type="radio" name="imgradio" onClick="changeImage(4)">タンス <INPUT type="radio" name="imgradio" onClick="changeImage(5)">サイドテーブル </FORM> </BODY> </HTML> 2こに分けました。長くてすみません。 家具についてなので、対象物がtanaとかhanaとかになってます。
885 :
Name_Not_Found :02/01/09 15:06 ID:267ffhxu
画像変更するなら document.images["name"].src = URL; NAME属性は区別するために指定してるんで、複数のIMGタグに同じ値を指定しても 意味ないです
他にIMGタグがないならNAME属性は指定せずにこうやっても同じ for (var i = 0; i < document.images.length; i++) document.images[i].src = URL;
887 :
d-s・・・ :02/01/09 15:25 ID:2blj+Vvq
ごめんなさい。どちらも動きません・・・。 どこに入れればよいのでしょうか?
888 :
d-s・・・ :02/01/09 15:37 ID:2blj+Vvq
後者の方は動きました。 でも、前とかわらず、違う項目を選択しても 前の項目のままです。
889 :
Name_Not_Found :02/01/09 15:38 ID:ZRxh1xlU
マウスの座標取得で、いろんなサイトを参考にすると function mousecursor(evt){ などと定義した後、 X = event.x; などとしていたり、 X = document.body.scrollLeft+event.clientX; などと描いてあるところがありますが、上の二つの 違いって大きいですか?
>>888 前の項目のまま??
var files = new Array("tana1-3.gif", "tana3-1.gif", "hana3-1.gif", "dennki.gif", "bed1.gif");
function changeImage(imgnum){
for (var i = 0; i < document.images.length; i++)
document.images[i].src = files[imgnum];
}
changeImageをこんな感じにしてみます?
ただchangeImageに渡す引数を
上から"1,2,3..."でなく"0,1,2..."としてください
>>882 document.bgColor=fg;
document.fgColor=bg;
これでIEもNS6も変わるんですけど。。NS4はダメなんですかねえ?
おれ入れてないもんで
>>889 scrollLeftは横スクロールの位置です
クリックした位置について
"ウィンドウ上の"座標が欲しいならevent.xだけでOK
"ドキュメント上の"座標が欲しいならevent.xにscrollLeftも足さないといけません
892 :
d-s・・・ :02/01/09 16:14 ID:RgM6MVRF
>>890 5つの項目それぞれに3つの対象物が出てきました。
でも、一つ目は3つともちがうのですが、
二つ目からは3つとも同じものがでてきてしまいます。
<IMG src="tana1-3.gif" name="myimg" class="drag" border=0>
<IMG src="hana3-1.gif" name="myimg" class="drag" border=0>
<IMG src="img1.gif" name="myimg" class="drag" border=0>
の部分を変える必要があるのでしょうか?
勉強不足ですみません。
最初に見たソースからは
changeImageで、3つのIMGタグに同じ画像を設定するように読めたんですが?
あなたの考えている仕様を分かるように説明してください
>>880 を読んでもイマイチ分からない。。
894 :
d-s・・・ :02/01/09 16:34 ID:RgM6MVRF
>>893 はい。
5つの項目がラジオボタンで選択できるようになっています。
そのうちの一つの項目を選択すると3つの異なった画像が表示されます。
次に別の項目を選択すると、また他の3つの異なった画像が表示されます。
画像はマウスで自由に動かすことができ、別の項目を選択しても
前に表示された画像はそのまま残っています。
・・・どうでしょうか?
つまり見た目画像は増えてくんですね?w だいぶ話変わるな〜 IMGタグを動的に増やすことはできないので この場合最初から"最終的に表示されるすべての"IMGタグを書いておき スタイル指定で表示を制御しないといけません つまり、「最初は隠しておき、ラジオボタンを押すごとに それを3つずつ表示させる」ということをやる
896 :
Name_Not_Found :02/01/09 16:55 ID:LzcFjpf1
>>895 動的に増やすことはできるよ!(N6/Mozilla/IE5.x)
897 :
d-s・・・ :02/01/09 16:55 ID:RgM6MVRF
説明不足でごめんなさい。 IMGタグを動的に増やすことはできない・・・ですか。 では、初めから全部の画像を表示しておいて、 その中から選んだものだけを他のページに表示させることは可能でしょうか?
898 :
d-s・・・ :02/01/09 16:57 ID:RgM6MVRF
899 :
Name_Not_Found :02/01/09 16:58 ID:ZRxh1xlU
innerHTMLで対象のレイヤーの内容を書き換えることが出来ますが、 JavaScript内で動的にレイヤーを(配列のように)作成し そのレイヤーに対してinnerHTMLで書き換えを行うことは出来ますか?
レイヤーもinnerHTMLで書けば?w
じゃなきゃスタイル(displayとか)を使う
後は任せたよ
>>896 >>899
901 :
Name_Not_Found :02/01/09 17:08 ID:LzcFjpf1
>>899 それもできる。でも任意の要素をして挿入できるんだから
ふつーはinnerHTMLを使わなくてもいいはずなんだけど。
「document.createElement()」で要素オブジェクトを作り
「document.body.appendChild(...)」でドキュメントに挿入。
位置指定とかはstyle属性で...
902 :
d-s・・・ :02/01/09 17:14 ID:Qv0qNGU4
何か別の方法を考えてみます。 書きこみしてくださったみな様、どうもありがとうございました。 失礼します。
903 :
Name_Not_Found :02/01/09 23:37 ID:QdWnWHBw
お聞きしたいのですが、よくあるアクセス制限でパスとID打ち込むと ページが観覧できるCGIありますよね?あれを使ってるんですが IDとパスを打ち込んでページを開く直前にJavaScriptを使って ポップアップで「"ID名"さんいらっしゃい!」って出す事はできるんでしょうか? ポプアップ自体はできたのですが、ID名を表示させる事ができません。 どなたかご教授して頂けませんでしょうか? 宜しくおねがいします。
904 :
:02/01/10 01:36 ID:9jh5wb9/
前にも質問したんだけど、答えが出なかったのでもう一回聞かせてください。 if(imgnum==1){ document.myimg.src="tana1-3.gif"; }else if(imgnum==2){ document.myimg.src="tana3-1.gif"; }else if(imgnum==3){ document.myimg.src="hana3-1.gif"; }else if(imgnum==4){ document.myimg.src="dennki.gif"; }else if(imgnum==5){ document.myimg.src="bed1.gif"; } で、イメージがダウンロードできない場合はどうやってエラー検出するの?
905 :
Name_Not_Found :02/01/10 02:30 ID:gAXUEOGH
906 :
◆Z/ID97yU :02/01/10 02:38 ID:iqIrsKQM
>>903 それは本当にCGIですか? CGIなら恐らく可能です。
.htaccessを使ったものならば、
あのダイアログからは(JavaScriptでは)IDとパスを取得出来ないので無理です。
>>904 onerror ハンドラを定義しておきます。
document.myimg.onerror = function(){alert('Error!');};
ってな感じ。
907 :
◆Z/ID97yU :02/01/10 02:46 ID:iqIrsKQM
908 :
905 :02/01/10 04:12 ID:gAXUEOGH
907さん、ありがとうございます! 聞いてみますね。
909 :
Name_Not_Found :02/01/10 07:15 ID:ihZzKCuR
>906さん やはりhtaccessじゃないと無理なのですね・・ どうもありがとうございました。
910 :
Name_Not_Found :02/01/10 10:12 ID:AvTuNNda
>>909 .htacsessではダメで、CGIならば大丈夫なんだってば。
911 :
Name_Not_Found :02/01/10 13:07 ID:Zzk4u0PI
age age
alert(document.form1.id + "さんいらっしゃい!"); document.form1.submit();
913 :
Name_Not_Found :02/01/10 13:38 ID:AFkCntfn
>>912 パスワードチェックとおった後で「いらっしゃい」でしょ?
「UserIDさんいらっしゃい!」 (´-`)。oO(‥‥うあーうぜぇダイアログ‥‥)
915 :
904 :02/01/10 14:19 ID:MJIAw+aw
916 :
Name_Not_Found :02/01/10 14:32 ID:2TW9HUbb
js関係のHPを見ると、 イメージプリロードする場合、bodyのonloadハンドラで Imageオブジェクトに画像を読み込む、ということですが、 この意味が分かりません。 htmlの読み込み完了を待たずに、Imageの読み込みを開始しても何の問題もないのでは? むしろ、待つべきなのは、Imageオブジェクトの読み込み完了では ないのでしょうか? すべてのImageを読んでから、イベントのハンドリングを開始するべきだと思うのです。 へんな質問かもしれませんがよろしくお願いします。
917 :
Name_Not_Found :02/01/10 14:56 ID:ryxlJ/Mv
>>916 HTMLの読み込みをまたないとネットの取り合いでページ
表示が遅くなるからでは? イベントのハンドリングは
おっしゃる通りだと思いますよ。だからイメージのプリ
ロードが終わってからハンドラをつけるとかプリロードが
終わっていなければハンドラで何もせず戻るとかすること
はやりますよね。
918 :
916 :02/01/10 15:00 ID:2TW9HUbb
あと、newで作ったImageオブジェクトに読み込まずとも、 hiddenにしたレイヤの中で<img>タグを書いても、 キャッシュに読み込まれてOKではないか、と思いますが、 これはどうでしょう?
919 :
916 :02/01/10 15:05 ID:2TW9HUbb
>>917 ああ、書き込んでいるあいだにレスもらっていたのですね。
ありがとうございます。
なるほど、トラフィックの問題だったんですか。
あとハンドリングもやっぱりそうですよね。
どこも同じようにかかれているので、
自分の物わかりがひどく悪いような気になっていました。
>>918 それは可能ですが、
その場合スクリプトがOFFでもキャッシュされてしまうので、
無駄に転送量を増やすことになります。
921 :
C_sugar :02/01/10 18:52 ID:pt8q8tej
遅くなりましたが、
>>869 さんレスありがとうございました。
>>868 >NetscapeとIEの両方に対応していて、CSVファイルを2次元配列に格納する方法はありますか?
あるっちゃーあるけどね。
age
924 :
917 :02/01/10 22:55 ID:2TW9HUbb
925 :
Name_Not_Found :02/01/10 23:29 ID:V3wkoOQF
質問があります。 ym = new Date("2001/11/30"); で ym.setMonth(ym.getMonth() + 1); をしたら ym.getYear()が2002で ym.getMonth()が0になってしまうんですけど、 どうしたら2001年の12月になってくれるんですか?
>>925 Mozilla と IE6 では 2001年12月になるけど、環境は?
927 :
Name_Not_Found :02/01/11 00:04 ID:dc7RdLMM
>>926 ああ、すみません。ym.getMonth() +2でした。
環境はMozilla とIE6です。
928 :
Name_Not_Found :02/01/11 00:08 ID:dc7RdLMM
すいませんこれをやってみてもらえますか? <html> <body> <script language="javascript"> <!-- ym = new Date("2001/11/30"); ym.setMonth(ym.getMonth() + 2 ); document.write (ym.getYear()+"年"+ym.getMonth()+"月"); //--> </script> </body> </html>
new Date()はモノによって変な値返すから、-1にせなアカンって何かに書いてあったような記憶がある。 ウロ覚え。
930 :
Name_Not_Found :02/01/11 00:32 ID:dc7RdLMM
>>929 確か月は0から始まるから+1だったと思うんですけど、
それで12月にしたいので+2にしてみたんです。
0 から始まるから 12 月は setMonth(11) でいいんだよ?
932 :
:02/01/11 01:28 ID:KKiUkrF6
age
childNode = document.createElement('ABC'); ・・・ document.all.parentNode.appendChild(childNode); としたとき、「<ABC>〜」の部分を取得して変数に格納したいのですが やり方がわかりません。
>>933 >「<ABC>〜」の部分
↑意味わからない。あと、document.allはやめてくれ
しかもdocument.all.parentNodeってどゆ意味だ?
936 :
933 :02/01/11 04:43 ID:SgZ+q2He
すみません、なんか理解不足+書き間違いで(汗 たとえば、 ID="inserthrhere"のSPANを用意して var x = document.createElement('HR'); として document.getElementById('inserthrhere').appendChild(x); とすると<HR>をSPANの子供として追加できると書いてあったのですが、 「<HR>」というデータを変数に格納したい場合はどうしたらよいのでしょうか? msg = '<HR>';みたいに。という質問です。わかりにくかったら申し訳ありません・・・
937 :
◆Z/ID97yU :02/01/11 04:57 ID:hYy7MHBK
>>936 「<hr>」は文字列ではなく「HTML要素」ということですよね?
それでしたら、その変数xがそれに当たるんじゃないですか?
それだけの話ですけど。
不安ならば、
var elt = document.getElementById('inserthrhere').getElementsByTagName('HR')[0]
としても良いですが。
> msg = '<HR>';みたいに。 てことだから、文字列として取得したいんじゃないの?
939 :
Name_Not_Found :02/01/11 09:34 ID:PnNl15lU
940 :
Name_Not_Found :02/01/11 10:08 ID:C+hG49Xm
>>933-938 タグ名はNodeオブジェクトのプロパティnodeNameを参照すれば
取れるんじゃなかったかな。要素の中に入っているテキスト
の方はその要素ノードの子ノードがTextノードになっていて、
そのnodeValueプロパティを取り出せば取れる。しかしHTMLの
形で欲しいんならinnerHTMLやouterHTMLを参照するのが速いかも。
標準じゃないけど。
既にDOM使用を普通に勧められる時期なんだろうか
942 :
Name_Not_Found :02/01/11 10:20 ID:C+hG49Xm
>>941 IEは5から対応。N6/Mozillaの方が仕様に忠実だけど。
943 :
Name_Not_Found :02/01/11 15:43 ID:9C9qXX0b
>>939 だいぶ前に作った横スクロールの例題だけ、これを直せば済むような感じ?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<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>
944 :
Name_Not_Found :02/01/11 15:41 ID:CfmrpKuV
Objectって、はやい話ハッシュと同じと考えてよろしいですか?
>>944 ある文字列を与えると一意の値を取り出せる仕組みならハッシュですな。
946 :
Name_Not_Found :02/01/11 15:46 ID:vkBy1rsn
>>944 あと、ハッシュに持たせた関数がメソッドになるということね。
var o = new Object();
o.count = 1;
o.addCount = function(i) { this.count += i; }
...
o.addCount(5); // これでcountは6になる
>>946 どっちかというと関数ポインタって感じだね。
最近のJavaScriptって便利ですな。
948 :
Name_Not_Found :02/01/11 15:48 ID:vkBy1rsn
>>950 が近付いて来たけど、次スレの
>>1 はこのスレと同じで
いいよね? 何か変えた方がいいことはあるかな?
ドキドキ・・・
ハッシュ、関数ポインタとか最近のJavaScriptとか何を言ってるんだ?
┏━━━ JavaScript質問スレ道場訓 ━━━┓ ┃一、礼節を重んじ常に努力精進すること ┃ ┃一、雑草の如く生涯.JavaScript.を貫くこと ┃ ┃一、ブラクラに打ち勝つ精神力を持つこと. ┃ ┃一、心身の優れたJavaScriptを学ぶこと ┃ ┃一、感謝と反省を忘れないこと ┃ ┃ 以上 ┃ ┗━━━━━━━━━━━━━━━━━━┛ ズレ直し
953 :
Name_Not_Found :02/01/12 08:10 ID:LfGnRI3M
>>951-952 それがFreeBSD上のMozilla 0.9.7(普段これを使っている)で見ると
>>951 のが激しくズレて見えるわけよ。N4.76は大丈夫。で、Winだと…
IE6→×、O6→×、Mozilla→×、だめじゃん。囲むのヤメた方がイイ
んじゃない? 右側の罫線だけ削る? またはスペースをやめて別の文字
を右端まで詰めるとか。
954 :
953 :02/01/12 08:17 ID:LfGnRI3M
>>951-953 あれ、今みたらWin IE6は○だ。なんでかなー、スマソ。
しかしさっき○だったN4が×になった! ちょっとしたこ
とで変わるような気がしてきたんだけど…で、相変わらず
O6もMozillaもだめ。
>951 WinIE5.5かちゅ使用だけど、観覧時はおけー。 レス番号参照でポプアプでみたら激しくずれてる。 何で?
>>950 他の言語をやってた連中にはそういう理解の仕方が手っ取り早いことがあるんだよ。
>951 環境によってはズレとるよ、それ。
枠を付けず箇条書き。 これズレない。 ズレようがない。 つか、補足の部分だけでいいような気がする。 「ブラクラに打ち勝つ精神力を持つこと」「心身の優れたJavaScriptを学ぶこと」 とか、冷静に考えたら意味わかんねぇもん。
>>961 分かる。まっとうな意見だ。だけどちょっとは遊びたいから
道場訓があるんだよね。ズレてもいいからこのまま残さない?
963 :
951 :02/01/12 16:21 ID:KCLobfzZ
IE 文字サイズ中 または MS Pゴシック 12pt で直したつもりです。 モナー板や顔文字板はこれが標準なのよ。
965 :
951 :02/01/12 20:27 ID:KCLobfzZ
うえーん、新スレに採用されなかったよー。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ( ´Д⊂ヽ ⊂ ノ 人 Y し (_)
>965 オイラも思った? 最後のほうの議論(w)は何だったんだ!
思った?=思った!
結局立てるやつの青写真通りに立てられたら、 議論は不毛。 献策は無益。
969 :
koma :02/01/13 01:28 ID:frMA4RdN
質問です。 チェックボックスで選択したものを、指定した新しいウインドウに表示させたいのですが、 新しいウインドウを指定するには、どこをかえればよいのでしょうか? アドバイスおねがいします。 <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- function check(){ item1="お酒:"; for(i=0;i<3;i++){ if(document.form1.liquor[i].checked){ item1=item1+document.form1.liquor[i].value; } } msgWin=window.open(); msgWin.document.write("<HTML><BODY>"+item1+"</BODY></HTML>"); } // --> </SCRIPT> </HEAD> <BODY> <FORM NAME="form1"> <input type="checkbox" name="liquor"value="ワイン" > ワイン <input type="checkbox" name="liquor"value="カクテル" > カクテル <input type="checkbox" name="liquor"value="ウイスキー" > ウイスキー <P> <INPUT type="button" value="OK" onClick="check()"> </FORM> </BODY> </HTML>
>969 ヴォケ!
971 :
Name_Not_Found :02/01/13 05:40 ID:krtEZy51
下記のようなソースで新規ウィンドウを開くと、 移動前のページのgifアニメが止まってしまいます。 <a href="javascript:function voi(){};voi()" onClick="winOpen('','new.htm',330,200)"> サイズを指定しない普通の新規ウインドウを開く場合は止まらないのですが。 javascriptを使うせいでしょうか?
新スレ立ってるので以後sageで。
>>951 すいません、新スレの1です。もちろん採用するつもりだった
んですが、複数並べて確認して最後の最後で間違いました。
当分謹慎します。やっぱり自分とこのブラウザで見れない人が
やらない方がいいですね…次は別の人たててください。
975 :
951 :
02/01/13 17:56 ID:r/lMEaAr