手取り足取り教えるJavaScriptスレpart4

このエントリーをはてなブックマークに追加
932Name_Not_Found:2007/04/05(木) 14:25:47 ID:???
こんなあからさまなマルチポストもないな。
933Name_Not_Found:2007/04/05(木) 14:28:06 ID:???
こんなあからさまなマルチポストもないな。
934Name_Not_Found:2007/04/05(木) 14:33:15 ID:???
>>932-933
自分で突っ込みまくる >>931
935Name_Not_Found:2007/04/06(金) 01:08:34 ID:???
splitについて解説サイトに

> パレーン内にマッチした文字列も配列の要素として返ります

と書いてありました。実際やってみてもマッチ部分が含まれていません。
その解説サイトに備え付けのサンプル実行ボタン(ほら、このように
含まれるでしょ、という趣旨のボタン)を押しても解説どおりに
実行されてないようです。僕の環境がおかしいでしょうか。
XP、IE6.0です。
936Name_Not_Found:2007/04/06(金) 01:10:32 ID:???
すみません。ネスケの場合、と書いてありました・・。
937Name_Not_Found:2007/04/06(金) 22:12:03 ID:AIdas2RO
>>913
報告遅れましたが。これでは表示されないようです。
938Name_Not_Found:2007/04/06(金) 22:59:49 ID:???
>937
じゃあ諦めろ。
ちなみにIE6.0、Firefoxともに動いてる。
939Name_Not_Found:2007/04/07(土) 00:22:40 ID:m6apzR7B
もしかして、JSONってキーをインデックスで指定できない?
名前でしか指定できない?
{"あ":"a","い":"b"}みたいなのを、
ループでまわして2番目(い)の値bを取得するってのは無理?
940Name_Not_Found:2007/04/07(土) 00:46:33 ID:???
>>939
ループならfor inじゃだめなん?
941Name_Not_Found:2007/04/07(土) 11:27:44 ID:???
{a:1,b:2}と{b:2,a:1}に仕様的な区別はない。
942939:2007/04/07(土) 11:41:47 ID:m6apzR7B
>>941
つまり無理ってこと?
"い"を指定しないとbを取得できないと。

ループでまわしてa,bの値をリスト表示することもできないってことね?
>>941
for inでもダメです。
943Name_Not_Found:2007/04/07(土) 12:02:01 ID:???
>>942
言ってることの意味がいまいち飲み込めんが、これじゃだめなん?
var obj={a:100,b:200}
for(var i in obj){
alert(obj[i]);
}
944Name_Not_Found:2007/04/07(土) 14:23:38 ID:???
>>942
そ。連想配列のキーに順序なんてないのと同じ。
なんらかの順序を付けたいなら、キー集合そのものをソートすべし。

全部回すだけなら for (var p in o) { alert(p +"="+o[p]); }
945Name_Not_Found:2007/04/07(土) 17:31:14 ID:swDZz3FO
ちょっと失礼します。

以下のような初心者の質問に答えていただければ幸いです。

現在ホームページを作成中なのですが、
そのページはメインページとメニューとをフレーム分けしています。

問題となっている部分は、メニューフレームから各ページに移行した際に
全てのページタイトルがメインページのタイトルのままになってしまいます。

ここ数日、書籍やwebで解決方法を詮索しているのですが、未だに解決できていません。

このスレッド内を見渡してみて、かなり程度の低い質問で恐縮なのですが
何方か、どうかお答えてくださいますようお願い申し上げます。

以上です。

失礼しました。
946Name_Not_Found:2007/04/07(土) 18:04:12 ID:???
フレーム内のメインページのタイトルではなくて、フレームのあるページのタイトルになってるんだろう?
そりゃそういうもんだ。
947Name_Not_Found:2007/04/07(土) 18:19:48 ID:???
>>945
top.document.title = document.title;
ただし近年では必ずしも書き換え可能とは限らない。

フレームは制御なしでは不便ということで、フレーム絶滅直前には、
制御できる(JSを有効にしている)ブラウザだけを相手にフレームを書き出す
という方法がしばしば見られた。代表的なのが、フレームを投入した企業のページ。
http://web.archive.org/web/20000510182742/developer.netscape.com/tech/javascript/index.html?content=/docs/manuals/javascript.html
948Name_Not_Found:2007/04/07(土) 23:59:36 ID:/KAzs1aw
マウスオーバーで画像を変えたいのですが、マウスを画像に乗せるとエラーが出てしまいます。
どこか間違っていたら教えて下さい。

<script type="text/javascript"><!--
function imginit(){
altimg=new Array;
altimg[0]=image(570,200);
altimg[0].src="./sozai/datebase2.jpg";
altimg[1]=image(570,200);
altimg[1].src="./sozai/kisotisiki2.jpg";
}

function alternate(ID,num){
if(ID=="alti"){
document.getElementById(ID).
src=altimg[num].src;
}
}
--></script>

<body onLoad="imginit()">
<img id="alti" src="./sozai/datebase2.jpg" onmouseover="alternate(this.id,1)" onmouseout="alternate(this.id,0)">
949948:2007/04/08(日) 01:19:05 ID:???
すいません。質問スレってのがあったのですね。スレチ申し訳ありません。
950Name_Not_Found:2007/04/14(土) 21:22:56 ID:4JRBrBdi
プルダウンメニュー1から任意の項目を選んだら、
プルダウンメニュー2を表示させるというスクリプトを書いています。
一応エラーなくきちんと動作はするのですが、
冗長過ぎる気がして、もっとコンパクトにできないかと思案しています。

現状:
変数TAGにプルダウン2の<select>から</select>までを放り込む
プルダウンメニュー1から項目を選んだら、
その項目に対応する変数TAG[1〜10]をinnerHTMLで書き出す

改善したい点:
変数TAGにプルダウンメニュー2を放り込まないで書く方法はないか。

for文で書けないかと思ってやってみたのですが、
撃沈しました・・・。
951Name_Not_Found:2007/04/14(土) 22:04:09 ID:???
応援してます。
頑張ってくださいね(^_^)ノシ
952Name_Not_Found:2007/04/15(日) 01:02:48 ID:???
健康度診断ページを作っています。

http://akio.lomo.jp/labs/10daysJS/Do_it_yourself/day05/check2.html

Q2、Q3、Q4をそれぞれ「禁煙する」「飲酒する」を選んだときのみ
表示されるようにしています。

方法としては、<div>で囲んで
そのdivの設定をチェックボックスのイベントで切り替えています。

Firefox1.5では正しく動作したのですが、
IE6ではレイアウトが崩れてしまいます。

解決方法をご存じの方、
なにとぞご教授下さい。
953952:2007/04/15(日) 18:45:49 ID:???
>Firefox1.5では正しく動作したのですが、
>IE6ではレイアウトが崩れてしまいます。

自己解決しました。

checkboxのname属性がdivのidとかぶってたのがIEだと競合しちゃってたっぽいです
954Name_Not_Found:2007/04/19(木) 18:33:57 ID:VXi72XGb
>>950
select field の options.length で得られるものを考えてちょ.
逆に options.length=n; とすると n 個の options が用意される.
(この事実に気づいてる人は少ないと思われる)
やり方は他にも考えられるけど, たぶんこれが一番自然.
955Name_Not_Found:2007/04/22(日) 08:52:09 ID:l3pQ9aud
唐揚げ
956Name_Not_Found:2007/04/28(土) 21:49:56 ID:???
どなたか教えてください。

ここ ttp://html.appelle.jp/2006/03/post_95.html の
「メニューリスト」の上側のサンプルを、
開閉の状態を保持させるようにして使いたいんですが、具体的にどうしたらいいでしょうか。
このままだと、メニューリストのエントリ部分に張ったリンクから、同一HP内の別ページに飛んだ時、
いちいちカテゴリ部分が閉じて使いにくいんです。

コピペして張り付けるのが精々のスキルです。
cookieを使うらしいってことしか、わかりません・・・


957Name_Not_Found:2007/04/28(土) 22:06:05 ID:???
あ、ちなみにFC2です。プラグインのフリーエリアで使おうとしました…
同じような動作をするものなら、なんでもいいです。
自分のHP内へのリンクをまとめたいだけなので…
958Name_Not_Found:2007/04/29(日) 02:13:59 ID:iY4eZiUy
すみません、ホームページビルダーが作ってくれたjsなんですが
CGIに組み込むと動きませんでした。
マウスオーバーでオブジェクトを表示させるものです。ほかにも隠すほうもあります。
単体では動作するので、何か変態な仕様なのかと思いました。
一般的なものに校正していただけませんでしょうか?
よろしくお願いします。

<!--HPB_SCRIPT_CODE_40
function _HpbShowObj(lId)
{
var ob;ob=new Array;
var appVer=parseInt(navigator.appVersion);
var isNC=false,isN6=false,isIE=false;
if (document.all && appVer >= 4) isIE=true; else
if (document.getElementById && appVer > 4) isN6=true; else
if (document.layers && appVer >= 4) isNC=true;
if (isNC)
{
w_str = "document." + lId;ob[lId] = eval(w_str);
if (!ob[lId]) ob[lId] = _HpbFindHiddenObj(document, lId);
if (ob[lId]) ob[lId].visibility = "show";
}
959958:2007/04/29(日) 02:14:32 ID:iY4eZiUy
if (isN6)
{
ob[lId] = document.getElementById(lId);
ob[lId].style.visibility = "visible";
}
if (isIE)
{
w_str = "document.all.item(\"" + lId + "\").style";ob[lId] = eval(w_str);
ob[lId].visibility = "visible";
}
}

function _HpbFindHiddenObj(doc, lId)
{
for (var i=0; i < doc.layers.length; i++)
{
var w_str = "doc.layers[i].document." + lId;
var obj;obj=new Array;
obj[lId] = eval(w_str);
if (!obj[lId]) obj[lId] = _HpbFindHiddenObj(doc.layers[i], lId);
if (obj[lId]) return obj[lId];
}
return null;
}
//-->
960Name_Not_Found:2007/04/29(日) 03:02:06 ID:???
>>958-959
たぶん \ を \\ に置換すれば動くだろ。
961 ◆.PT9876/4U :2007/04/29(日) 04:09:29 ID:1lzLwq0b
>>956-957
リンク先を見てみました.
何だかよく判らないですねぇ.
"layer" なんて言葉がでて来るし. (layer は W3C 的に invalid)
擬似 layer script なのか 果たして そうではないのか見極めないと...

>開閉の状態を保持させるようにして使いたいんですが
cookie を使えば "状態" を記録して再現できます.
問題は どのように "状態" を判別するかです.
それと cookie 乱発のサイトは (個人的に) どうかと思います.
解決したい問題を整理しなおせば別のアプローチが見つかるはずだと思います.

>いちいちカテゴリ部分が閉じて使いにくいんです
>プラグインのフリーエリアで使おうとしました
どうやら weblog の user interface を変えたいようですね.
FC2 の weblog サービスってことですか ?
962Name_Not_Found:2007/04/29(日) 05:37:50 ID:???
↑なにこのえらそうな低スキルw
普通の反応は、「50行こえるなあ、だりいから回答やーめた」だろ。
963Name_Not_Found:2007/04/29(日) 05:48:53 ID:???
そっとしとけ。別なスレで叩かれに叩かれて糞かわいそうな奴なんだよwww
964 ◆.PT9876/4U :2007/04/29(日) 06:12:47 ID:1lzLwq0b
さすがは にちゃんねる !
良くも悪くも食い付く人がいる !

>>962
>「50行こえるなあ、だりいから回答やーめた」だろ
どういう意味 ?

>>963
同情無用 !
(どうも僕は粘着されやすい体質らしい)
965Name_Not_Found:2007/04/29(日) 06:27:46 ID:???
僕wwはwww粘着wwww
真面目な回答作ってたのに一気に投下する気うせた('A`)
966 ◆.PT9876/4U :2007/04/29(日) 06:35:10 ID:1lzLwq0b
>>961
えらく, 嫌われたもんだ !

それはともかく, 問題はページ間データ受け渡しの問題に置き換えられると思う.
この手のデータは cookie を使うまでもなく, location.serch を使うのが良いと思う.

で, あんたの " 真面目な回答" とは ?
967 ◆.PT9876/4U :2007/04/29(日) 06:39:35 ID:1lzLwq0b
訂正:
>>961 -> >>965

PS:
今の状況では "間借り" もままならない模様.
新たにスレ建てするかな ?
968Name_Not_Found:2007/04/29(日) 11:18:56 ID:???
>>967
手とり足とり教えるスレ part3
http://pc11.2ch.net/test/read.cgi/hp/1155395444/l50
新規スレ建てではなく、こちらを利用して頂けませんか。
969 ◆.PT9876/4U :2007/04/29(日) 11:33:50 ID:1lzLwq0b
>>968
わっかりましたぁ〜 !
ただし, ぼくは ありがたくない人たちに貼りつかれているので...
でも, 地道に実績を積み上げれば風向きが変わると信じてます.
970958:2007/04/29(日) 15:18:09 ID:iY4eZiUy
>>960さん
動きました。悩みまくってたんで感動です。
ありがとうございました!
971Name_Not_Found:2007/04/29(日) 18:14:43 ID:???
地道に実績を積み上げれば風向きが変わる
そんな奴がこんなこと書くか?w 死ねっ!www

341 : ◆.PT9876/4U :2007/04/28(土) 19:43:25 ID:3Dz5o+ai
>>340
蛆虫野郎さんですかい ? (゜w ゜)



ゲラゲラwww うほっwww
972Name_Not_Found:2007/05/01(火) 07:23:59 ID:???
誘導されてきました。
よろしくお願いします。

JavaScriptの質問をさせていただきます。
テーブル要素内の1行のみを表示、非表示を切り替えたいと思っています。

<Table>
<TR>
<TD>概要</TD>
<TD><button onClick="change();" value="詳細を表示"></TD>
</TR>

#2行目の表示非表示を切り替えたい
#ここから
<TR>
<TD>詳細1</TD>
<TD>詳細2</TD>
</TR>
#ここまで
</TABLE>

上記のようにテーブルの1要素にボタンをつくり、onclickイベントを呼び出して
2行目の表示非表示を切り替えたいと思っています。
テーブルの中にDIVは入れられないとのことですので、何か良い方法はないでしょうか?
このような場合、似たようなテーブルを複数作って並べるしかないんでしょうか?
もし、何かしらアドバイスがありましたら、よろしくお願いします。


973 ◆.PT9876/4U :2007/05/01(火) 08:08:49 ID:+29ZmhnY
>>972
とりあえず, サンプル作ります.
あなたの思ってる物とは違ってるはず.
でも, どこがどう違うかは はっきりするでしょう.
そこで擦り合わせをすればよいかと思います.

所要時間: about 1hour
974 ◆.PT9876/4U :2007/05/01(火) 08:42:44 ID:+29ZmhnY
>>972
alter.s225.xrea.com/exam/exam.html
 "Demo Sample"

・ ただ動くだけの代物です.
(使いまわし, メンテナンス その他の配慮が まったく ありません)
975Name_Not_Found:2007/05/01(火) 10:29:44 ID:???
誘導されてきました。 うほっw
上祐◆.PT9876/4Uよろしくお願いしますw
976 ◆.PT9876/4U :2007/05/01(火) 10:36:33 ID:+29ZmhnY
>>975
上祐だけ よけいだぎゃ〜 ! ψ(゜w ゜)ψ
977Name_Not_Found:2007/05/01(火) 12:16:21 ID:???
上祐タン、にひひw
978Name_Not_Found:2007/05/01(火) 12:29:34 ID:+29ZmhnY
>>977
負けた...(;;;;)
979972:2007/05/02(水) 07:28:46 ID:???
>>974
ありがとうございました。
確かに作りたいものとのズレはありましたが、要点は理解しました。
これを元にやってみたいと思います。
980 ◆.PT9876/4U :2007/05/02(水) 08:38:39 ID:yhbwbmPW
>>979
完全に "釣られた" と思ってました.
それはともかく...
ソースは解ったのですか ?
(外部js を WebBrowser で見ることができることに気付いている人は少ないんじゃ ?)
981979
そこら辺を抜くのは大丈夫でした。
特殊な環境なんで、専ブラ等は入れられないと言うか、GUIブラウザが今使ってるOSに対応してないんで…直で、JSのURL指定して参照させていただきました。
とほほ等で、理解したつもりだったんですが、DIVについて理解できていませんでした。
助かりました。感謝してます。