プルダウンメニューで、サイト全体のメニューを入れ込んでクイックジャンプ、みたいにして作っていますが、スクリプト部分は、HEADにいれて、外部ファイルでリンクをさせているのですが、実際に表示される<FORM>~</FORM>部分は、全てのページのBODY内に書き込む必要がありますよね?それは、たとえば、サイト内のメニューが変更になったりしたときには、今まで作った全てのページにコピペーストした<FORM>~</FORM>内容をまた、全部1ページづつ変更してゆかなくてはならない、、、という方法しかないのでしょうか?何か他に、1枚のテンプレートみたいなところにリンクをさせて、その1枚を変更すれば、そのテンプレートを使用している全ページが一気に変更になる、、というようなことはできるのでしょうか。。。教えてください。
A 回答 (3件)
- 最新から表示
- 回答順に表示
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内の記述の仕方も書いてくれているので、それをそのままコピペしたら、以外にできました(^_^.)。
とりあえず、何度もありがとうございました。
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.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>');
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
二次元配列を使って順位をだす...
-
画面遷移を行わずに同一ページ...
-
スマホ上で、左右スワイプで次...
-
Outlookのアカウントがあるとメ...
-
Colorboxがうまく設置できません
-
<tr>指定した表の行要素をボ...
-
【GAS】WEBアプリでハイパーリ...
-
GASでチェックボックスを一括of...
-
セレクトボックスで配列を呼び...
-
jqueryのselect2で検索欄の文字...
-
セレクトを全て選択されていな...
-
読み込んだQRコードをフォーム...
-
初心者です。gulpでコンパイル...
-
jquery 診断コンテンツにチェッ...
-
jsで質問です。 ボタンが二つ存...
-
jsonテキストデータの並び替え...
-
食材の期限を管理するためにGAS...
-
前回の質問の続き function mov...
-
このプログラムに、王手をかけ...
-
前回の質問の続き function mou...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<tr>指定した表の行要素をボ...
-
階層別の組織図の自動作成について
-
jqueryのselect2で検索欄の文字...
-
初心者です。gulpでコンパイル...
-
スマホ上で、左右スワイプで次...
-
jQueryで同じクラス名のものを...
-
前回の質問の続き function mov...
-
読み込んだQRコードをフォーム...
-
二次元配列を使って順位をだす...
-
セレクトを全て選択されていな...
-
鍵盤アプリで、スマホの画面に...
-
イラストレーター、縦中横のシ...
-
Colorboxがうまく設置できません
-
GASに文字列として関数を入れる...
-
GASでチェックボックスを一括of...
-
その要素がjQueryでremove()済...
-
jsで質問です。 ボタンが二つ存...
-
【Google Apps Script】「ライ...
-
二次元配列の中の各行の要素を...
-
jsonテキストデータの並び替え...
おすすめ情報