アプリ版:「スタンプのみでお礼する」機能のリリースについて

javascriptの動作についてご教授下さい。

ウィンドウ画面が横1275px 縦925pxで
パージ内容が横長の横2350px 縦925pxの
ページ全体を横軸スクロールで表示可能なサイトで、
<img>タグで画像を非表示(配置はセンター付近)し、
ある画像リンクへの文字列をクリックでjavascriptから
その<img>を非表示から表示に切り替えています。

(ページイメージ)
                       |リンク文字位置|
              |img位置|
横2350px----------------------------------------------------→

で、今回の質問なのですが、リンク文字はページ右辺に配置しており
javascriptからimgを可視化するとスクロールが初期位置(横0)に戻ってしまいます。
スクロール位置はそのままで画像の可視化・非可視化を切り替えたいのですが、ムリなのでしょうか??
いちよう可視化後に scroll()でスクロールの位置を指定していても
スクロールが初期位置(横0)に戻ってしまいます。↓↓↓
この現象はJavaScriptの仕様なのでしょうか??
横長のページであることと、リンク文字の配置は仕様として
変更できないものとお願いいたします。

環境
WinXP SP3 IE8(8.06)

画像切り替えソース
//引数urlの画像をimgで表示する関数
function visi(url) {
 //imgのプロパティを取得
 var jpg = document.getElementById('jpg_link');
 jpg.style.visibility = "visible";
jpg.style.display = "block";
jpg.src = url;

 //scroll(1500,0); ← 1500まで行くが初期位置に戻る・・・
}

A 回答 (1件)

IE8(8.06)固有の問題なのでしょうか?


IE8.0試してないのですが、IE7.0/Firefox3.5.3だと
ご提示のソースコードそのまんまでちゃんとスクロールします。
画像の入っている<div>に対して<image>をposition:relativeしてますけど。配置の仕方が根本的に異なるのでしょうか、パージ内容の意味がわかりません。

<script type="text/javascript">
function visi(url) {
 //imgのプロパティを取得
 var jpg = document.getElementById('jpg_link');
 jpg.style.visibility = "visible";
jpg.style.display = "block";
jpg.src = url;
 scroll(1275,0);
}
</script>
<body style="width:1275px; height:925px;">
<div style="width:2350px; height:925px; background-color: #ccccff;">
<img id="jpg_link" src="fuga.jpg" style="position:relative; left:1175px; visibility:hidden" />
<a href="#" target="_self" onclick="visi('hoge.jpg');return false" style="position:relative;left:2200px;">GazoChange</a>
</div>
</body>
    • good
    • 0
この回答へのお礼

yyr446様
回答ありがとうございます。

上記の方法でOKでした。
ありがとうございました。

お礼日時:2009/09/24 20:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!