初投稿です。
画面のサイズに合わせて、area id="map_area"のcoordsの値を適切な値に調整する、
というスクリプトを書いています。
実際の値の調整は、外部スクリプトのrwd_map()という関数で実行しています。
Javascript
1<script type="text/javascript"> 2 $(window).on('load',function(){ 3 map = document.getElementById('map_area'); //areaのid名 4 img_map = document.getElementById('map'); //mapを利用する画像のid名 5 rwd_map(map,img_map);//rwd_map.jsを呼び出し 6 }); 7 $(window).on('scroll resize',function(){ 8 rwd_map(map,img_map);//rwd_map.jsを呼び出し 9 }); 10</script>
HTML
1<img src="img/test_01.jpg" id="map" usemap="#map"/> 2<map name="map"><area id="map_area" onmouseover="changeMapImage('img/test_01_hover.jpg')" onmouseout="changeMapImage('img/test_01.jpg')" shape="rect" href="http://" coords="349,537,980,627"></map>
画面サイズを変更したり、スクロールしたり、ページを読み込んだ時に
area id="map_area"のcoordsの値を動的に変更する、という処理は出来ました。
ただ、初期値のcoordsの値を保持していないと、scrollやresizeが起こるたびに
どんどん値がズレていってしまうため、ページの読み込みが完了した際に
HTML側で設定したmap_areaの値をグローバル変数mapに格納し、初回の関数呼び出しを行い、
scroll時やresize時でもグローバル変数を使って関数を呼び出す、という記述で、
初期値のcoordsの値を保持しようとしてみました。
しかし、scrollやresizeが発生すると、グローバル変数であるmapの値も
動的に変化していってしまい、うまくいきません。
なんとか初期値のcoordsの値を保持する方法はないでしょうか。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/03/17 01:04