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

小さい画像をクリックすると同じページに拡大画像が表示されるようにしたいのです。小さい画像が7つ程横に並んでいて、クリックするとその下に拡大画像が表示されるページです。フレームは使わないで出来ますか?フレームを使うとテーブルの背景が切れてしまうので使わないで作りたいのですがわかりません。教えてもらえたら嬉しいです。

A 回答 (3件)

 拡大画像 1.gif - 7.gif があるとして、このようなのはいかがですか↓



<html>
<head>
<script type="text/javascript">
<!--
function change(n) {
document.LgIMG.src = n +".gif"; // 大画像 1.gif - 7.gif を用意
}
// -->
</script>
</head>
<body background="http://oshiete1.goo.ne.jp/images_goo/goo_h1_50b. …
<table align="center">
<tr>
<td><a href="javaScript:change(1)"><img src="1.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(2)"><img src="2.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(3)"><img src="3.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(4)"><img src="4.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(5)"><img src="5.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(6)"><img src="6.gif" border="0" width="40" height="40"></td>
<td><a href="javaScript:change(7)"><img src="7.gif" border="0" width="40" height="40"></td>
<!-- ここの画像 1.gif - 7.gif は、別画像でも可 -->
</tr>
<tr>
<td colspan=7>
<img src="1.gif" name="LgIMG" border="0" width="400" height="400"><!-- 最初の大画像 -->
</td>
</tr>
</body>
</html>

この回答への補足

ありがとうございます。やってみたら出来ました。私の説明が悪くてまた教えていただきたいのですが、小さい画面と大きい画面はトリミングでプロポーションが変わっているので別画像扱いにしたいです。
大きい画面が上にあって、その下に1列に小さい画面が並んでいるレイアウトなのですが、どう変えればよいのでしょうか?何度も申し訳ありません。よろしくお願いします。

補足日時:2007/08/20 10:13
    • good
    • 0

こんにちは



こんな感じですか?

<script language="javascript"><!--
function imgch(url) {
document.getElementById("preview").style.display = "block"
document.getElementById("preview").innerHTML = "<img src='"+url+"' width='100%' height='100%'>";
}
//--></script>
<style type="text/css">
#preview {
width:300px;
height:300px;
display:none;
}
</style>

<img src="sample0.gif" onClick="imgch(this.src)">
<img src="sample1.gif" onClick="imgch(this.src)">
<img src="sample2.gif" onClick="imgch(this.src)">
・・・sample7まで

<div id="preview" onClick="this.style.display='none'"></div>

このままだと表示・非表示のたびにこれ以下のコンテンツが上がったり下がったりするのでそれがお嫌でしたら
preview{ }内に
position:absolute;
top:***px;
left:***px;
background-color:***;
を追加してtop,leftで位置調整してください
    • good
    • 0
この回答へのお礼

どうもありがとうございました。敏速な対応で驚きました。初心者なのでわからない事だらけでとても参考になりました。

お礼日時:2007/08/20 10:23

>>フレームを使わないで出来ますか?


フレームは必要ありません。JavaScriptで実現可能です。また、表示
する場所を設定するためにCSSを使用します。

・body間に<div>タグを追加します。
<div id="preview"></div>

・CSSをヘッダ間に追加します。
<style type="text/css"><!--
#preview {
width:200px;
height:200px;
position:absolute;
top:*px;
left:*px;
}
--></style>

・<img>タグにonClick属性を追加します。
<img src=* width=* height=* onClick="Preview(1)">
<img src=* width=* height=* onClick="Preview(2)">
<img src=* width=* height=* onClick="Preview(3)">

・JavaScriptをhead間に追加します。
<script type="text/javascript"><!--
function Preview(no) {
var p_id = document.getElementById("preview");
switch(no){
case 1:
p_id.innerHTML = "<img src='*'>";
break;
case 2:
p_id.innerHTML = "<img src='*'>";
break;
case 3:
p_id.innerHTML = "<img src='*'>";
break;
default:
p_id.innerHTML = "<p>値が不正です。</p>";
break;
}
--></script>

tamanokosiさんがJavaScriptやCSSについてどれほどの知識があるのか
わからないので、解説は省きますが、わからないようでしたら、
補足なりお礼でその旨をお伝え下さい。

*参考URLにて、サンプルを表示しています。

参考URL:http://sakuratan.ddo.jp/uploader/source/date4955 …
    • good
    • 0
この回答へのお礼

どうもありがとうございました。敏速な対応で驚きました。初心者なのでわからない事だらけでとても参考になりました。

お礼日時:2007/08/20 10:24

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