プルダウンメニューで、サイト全体のメニューを入れ込んでクイックジャンプ、みたいにして作っていますが、スクリプト部分は、HEADにいれて、外部ファイルでリンクをさせているのですが、実際に表示される<FORM>~</FORM>部分は、全てのページのBODY内に書き込む必要がありますよね?それは、たとえば、サイト内のメニューが変更になったりしたときには、今まで作った全てのページにコピペーストした<FORM>~</FORM>内容をまた、全部1ページづつ変更してゆかなくてはならない、、、という方法しかないのでしょうか?何か他に、1枚のテンプレートみたいなところにリンクをさせて、その1枚を変更すれば、そのテンプレートを使用している全ページが一気に変更になる、、というようなことはできるのでしょうか。。。教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
メニューのプルダウン自体を、JavaScriptの外部ファイルに関数として書いてしまってはどうでしょうか。
HTMLのプルダウンの場所には、
<SCRIPT language="JavaScript">
<!--
make_quick_menu();
//-->
</SCRIPT>
のように書いておき、外部ファイル内に
function make_quick_menu() {
document.write('<SELECT name="xxx" onChange="xxxxxx">');
document.write('<OPTION>xxx');
:
document.write('</SELECT>');
}
のような感じで書いておく。
この回答への補足
すみません。早速やってみたのですが、どうもうまくいきません(・・;)。以下が作った外部ファイルと、Body内の実行場所なんですが、、、間違っていますか。。。
Body内(表示させたい場所に)
<SCRIPT language="JavaScript" SRC="menu.js">
<!--
make_quick_menu();
//-->
</SCRIPT>
外部ファイル(menu.js)
function make_quick_menu() {
document.write('<SELECT name="--各ページへジャンプ!--" onChange="">');
document.write('<OPTION>"★オンラインショッピング★" onChange="shop.htm">');
document.write('<OPTION>" ├商品一覧・注文ページへ" onChange="list.htm">');
document.write('<OPTION>" ├ショッピングの流れ" onChange="how2shop.htm">');
document.write('</SELECT>');
}
No.2
- 回答日時:
やり方は幾つかあると思います。
とりあえず、カテゴリ通り、JavaScript で何とかする方法を。
select の option は、その内容を JavaScript でいじることができます。
リンク先を option の value に設定するような感じで、以下のようになります。
<html><head><title>test</title></head>
<body>
<form name="X">
<select name="S" onChange="jump_to()">
</select>
</form>
<!-- ★★★★★★ ここから -->
<script type="text/JavaScript">
S = document.X.S;
if (S.options.length < 1) {
S.options[0] = new Option("ジャンプ先1", "http://host/dir/1");
S.options[1] = new Option("ジャンプ先2", "http://host/dir/2");
S.options[2] = new Option("ジャンプ先3", "http://host/dir/3");
S.options[3] = new Option("ジャンプ先4", "http://host/dir/4");
S.options[4] = new Option("ジャンプ先5", "http://host/dir/5");
history.go(0);
}
function jump_to() {
S = document.X.S;
url = S[S.selectedIndex].value;
location = url;
}
</script>
<!-- ★★★★★★ ここまでを外部スクリプトに! -->
</body>
</html>
# ちょっと、力技過ぎるかな?
No.3
- 回答日時:
あれ?プルダウンメニュー自体は出来てたんじゃないんですか?
この <SELECT>~</SELECT> では、普通に書いてもリンクはしませんよ。
外部ファイルに、次の内容を追加して下さい。
function PageJump(sel) {
location.href = sel.options[sel.selectedIndex].value;
}
また、make_quick_menu 関数の内容を、次のように書き換えて下さい。
function make_quick_menu() {
document.write('<SELECT name="menu" onChange="PageJump(this)">');
document.write('<OPTION value="shop.htm">★オンラインショッピング★');
document.write('<OPTION value="list.htm"> ├商品一覧・注文ページへ');
document.write('<OPTION value="how2shop.htm"> ├ショッピングの流れ');
document.write('</SELECT>');
}
ありがとうございます。ただ、私自身JSはあんまり詳しくない、というか専門でもなく素人なので、あまり教えていただいた範囲では、稼動させることができませんでした(-_-;)。。知識不足で。。。
でも、http://www.wsabstract.com/script/script2/jstohtm … でJSに変換してくれるConverterサイトを見つけて、HTML内の記述の仕方も書いてくれているので、それをそのままコピペしたら、以外にできました(^_^.)。
とりあえず、何度もありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<tr>指定した表の行要素をボ...
-
初心者です。gulpでコンパイル...
-
階層別の組織図の自動作成について
-
ローディングアニメーションの...
-
食材の期限を管理するためにGAS...
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
前回の質問の続き function mou...
-
このプログラムに王様の逃げ道...
-
ビデオのJSについて
-
鍵盤アプリで、スマホの画面に...
-
<div>のタッチ状態を維持したま...
-
jQueryでシンセサイザーを作っ...
-
プログラミング 学習
-
HTMLでサブフレームから親のス...
-
ジャバスクリプトについて。
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
二次元配列を使って順位をだす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
食材の期限を管理するためにGAS...
-
ビデオのJSについて
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
このプログラムに王様の逃げ道...
-
初心者です。gulpでコンパイル...
-
前回の質問の続き function mou...
-
鍵盤アプリで、スマホの画面に...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
読み込んだQRコードをフォーム...
-
追加ボタンを押した際に ok ボ...
-
Colorboxがうまく設置できません
-
階層別の組織図の自動作成について
-
二次元配列を使って順位をだす...
-
【GAS】WEBアプリでハイパーリ...
-
HTMLで作った時報アプリが動き...
-
セレクトを全て選択されていな...
-
画面遷移を行わずに同一ページ...
-
jsで質問です。 ボタンが二つ存...
おすすめ情報