![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
実現したいこと:
クリックされたa(アンカー)のIDによって、次に表示されるHTML内でのデフォルト処理を変えたい。
test1.html : AとBいう文字にtest2.htmlへのリンクが記載されている。
<a href="http://test2.html" id="test_1" title="A">A</a>
<a href="http://test2.html" id="test_2" title="B">B</a>
test2.html : 地図C、文字A、文字Bが記載されている
(文字Aにマウスを持ってくるとマウスオーバーによって、地図C上のDという位置の画像が光るようになっている。逆もしかり、地図C上のDという位置にマウスをもってくると文字Aが光る)
(文字Bにマウスを持ってくるとマウスオーバーによって、地図C上のEという位置の画像が光るようになっている。逆もしかり、地図C上のEという位置にマウスをもってくると文字Bが光る)
test2.html--------
<!-- 地図-->
<div id="mapimg">
<IMG id="myIMG1" src="../img/map/1f/map.jpg" width="433" height="469" border="0" usemap="#chizu"></div>
<a href="http://○○○.html" id="test_1" onMouseover=" ChengeColorOn('test_1'); image1.start(1);" onMouseout=" ChengeColorOff('test_1'); image1.stop(0);" title="A">A</a>
<a href="http://○○○.html" id="test_2" onMouseover=" ChengeColorOn('test_2'); image1.start(1);" onMouseout=" ChengeColorOff('test_2'); image1.stop(0);" title="B">B</a>
<map name="chizu">
<AREA shape="rect" coords="137,105,148,116" href="http://○○○.html" title="TEST1" onMouseover=" ChengeColorOn('test_1'); image1.start(1);" onMouseout=" ChengeColorOff('test_1'); image1.stop(0);" >
<AREA shape="rect" coords="137,105,148,116" href="http://○○○.html" title="TEST1" onMouseover=" ChengeColorOn('test_2'); image2.start(1);" onMouseout=" ChengeColorOff('test_2'); image2.stop(0);" ></map>
javascript--------
var ToggleImage = function(d,w){
var c=0,t,o,m=0,g=[];while(o=arguments[2+m])(g[m++]=new Image).src=o;
this.start = function(n){h(n)||(c=n),this.stop(c),t=setInterval((function(_){return function(){_.next()}})(this),w)};
this.next = function(n){c=h(n)?c+1:n,document.getElementById(d).setAttribute('src',g[c*=c<m].src)};
this.stop = function (n){h(n)||this.next(n);t&&clearInterval(t),t=0};
function h(n){return'undefined'===typeof n}
};
var image1 = new ToggleImage( 'myIMG1', 300, '../img/map/1f/map.jpg', '../img/map/1f/7.jpg', '../img/map/1f/map.jpg' );
var image2 = new ToggleImage( 'myIMG1', 300, '../img/map/1f/map.jpg', '../img/map/1f/36.jpg', '../img/map/1f/map.jpg' );
//地図から文字への反転 IDを取得し、文字色と背景を変更する
function ChengeColorOn(ID){
document.getElementById(ID).style.color = "#ffffff";
document.getElementById(ID).style.backgroundColor = "#09F";}
自分なりに考えた流れ:
test1.html
1)A文字又はB文字(a(アンカー))がクリックされた時、javascript内でクリックされたa(アンカー)のIDを取得。
2)クリックされてaのhrefに記載されていたURL(test2.html)に飛ぶ時に1)で取得したIDを一緒に飛ばす。
test2.html
3)javascriptで2)で飛ばしたIDを取得。
4)元々はページ内でマウスオーバーによって変わる処理をIDによってonload(Aという文字をクリックしてtest2.htmlページを開いたときにデフォルトで地図C上のDが光るように)処理する。
ちなみにtest1.htmlには上記に記載したスクリプト以外に
prototype.js effects.js の2つを使っています。
以上を実現したいのですが私では力不足です。
助けてください。ご授言をよろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
サンプルをきちんと書きます。
(完全じゃないですが)test1.html
<html>
<body>
<a href="http://test2.html?test_1" title="A">A</a>
<a href="http://test2.html?test_2" title="B">B</a>
</body>
</html>
test2.html
<html>
<head>
<script>
window.onload = function(){
var url_str = window.location.href;
// 下は"?"の文字でurl_strを分割してます。
var parm=url_str.split("?");
if (parm.length>0){
alert(parm[1]);
}
}
</script>
</head>
<body>
</body>
</html>
この回答への補足
追記質問があります。
test2.htmlの方で
window.onload = function(){
var url_str = window.location.href;
// 下は"?"の文字でurl_strを分割してます。
var parm=url_str.split("?");
if (parm.length>0){//alert(parm[1]);
}if(parm[1] == "test_1"){
//地図上のDと文字Aが光る処理
ChengeColorOn('7'); image1.start(1);
皆さんのおかげで、上記のソースで光ることはできました。
もう少しで完成です。
今度はtest2.html内で5秒間だけ、もしくはマウスが何かに触れるまで、光り続ける。
つまり、一定時間、又はマウスが動くまで指定の関数を呼び出したいのです。
そういうのは可能でしょうか?
}
}
No.3
- 回答日時:
<a href="
http://test2.html?test_1" title="A">A</a>で呼ばれたtest2.htmlでは
window.onload = function(){
parm = window.location.href.split("?");
alert(test[1]);
}
これで?以降がアラートされます。
ありがとうございます。
試したのですが、できませんでした。
>parm = window.location.href.split("?");
?の中には何か記述はいるのでしょうか?
クリックしたら、エラーがでてtests2.htmlにも飛びません。
何が原因なのでしょうか?
No.2
- 回答日時:
確認
<<2)クリックされてaのhrefに記載されていたURL(test2.html)に飛ぶ時に1)で取得したIDを一緒に飛ばす。>>
飛ばすのが困難だと思います。
test1.htmlとtest2.htmlは遷移するのですよね。
対処
A.cookieを使う
B.urlの後ろに#xxxとか?XXXを擬似的に
付けて、location.hrefで拾う。
C.PHP等サーバサイドのプログラムで受け渡す。
test1.htmlとtest2.htmlを統合するなり、フレームを使うなり
すれば、他にも方法がある。
No.1
- 回答日時:
test1.htmlのアンカーにクエリとして情報を書いておけばjavascriptとか使わなくても情報は渡せます。
<a href="http://test2.html?test_1" title="A">A</a>
<a href="http://test2.html?test_2" title="B">B</a>
test2.htmlではdocument.locationでURL中の?以降を取得する事ができます。
http://www.tohoho-web.com/js/location.htm#location
ありがとうございます。
こういうやり方もあるのですね。
勉強になります。
しかし、test2.htmlのjavascript内で
$(document).ready(function(){ test = window.location; alert(test); });
又は、
window.onload = function(){test = window.location; alert(test); }
としてみましたが、どちらもアラートが表示されません。
受け取れているのかどうか確認がしたのですが・・・。
prototype.js effects.jsが関係しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- JavaScript スマフォではボタンを表示させたくない 2 2023/01/20 14:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jQueryでシンセサイザーを作っ...
-
二次元配列を使って順位をだす...
-
プログラミング 学習
-
Cookieに保存されない
-
API連携のプログラミングについ...
-
ジャバスクリプトについて。
-
オブジェクトから任意のプロパ...
-
スマホ上で、左右スワイプで次...
-
追加ボタンを押した際に ok ボ...
-
HTMLでサブフレームから親のス...
-
プログラムについて。
-
Q&A掲示板の入力フォームに文字...
-
メールフォームの日付入力フォ...
-
iOSのみダブルタップが必要
-
jsで質問です。 displayプロパ...
-
var exports = exports || {}; ...
-
HTMLタグに複数のクラスを設定...
-
Googleフォームで選択肢に応じ...
-
変数名をどのようにつけるのが...
-
ボタンを押したあとに画像を表...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
SCRIPT5007: 未定義または NULL...
-
ボタンのID名を取得するには?
-
JavaScript でキーを送る
-
フォーカス移動抑止について
-
乱数を一定時間毎に表示させた...
-
ボタンを押してテキストエリア...
-
bodyタグのfocus
-
JavaScriptでのEnterキーとAlt+...
-
自動ジャンプでフォームデータ...
-
一定時間画像を表示させ、その...
-
リンク移動先のURLを取得
-
idHOGEで取得したinnerText(数...
-
「オブジェクトを指定してくだ...
-
html javascript 作った配列を...
-
キーを押している間の時間を計...
-
チェックボックスの選択パター...
-
Operaでのobjectタブの高さ変更
おすすめ情報