画像集を作ってるのですが、
テーブルの中に小さな画像の一覧があり、
クリックするとその大きな画像が表示され、
なおかつページの真ん中に表示されるものを作成中です。
自分が思うに、width=100% height=100%
のテーブルの中に画像リストのテーブルを入れ
テーブル名を table とするなら、
そこにある小さな画像を onclick すると
document.table.location.href = picture;
または
document.table.src = picture;
のようなイメージでテーブルと大画像を置き換えれば
できると思うのですが、うまくいきません。
なにかアドバイスありますでしょうか?
もちろん 写真ごとにセンター寄せの web page を作り
普通にリンクという方法もありますが、写真が増えると
あまり効率が良いとは言えず。。。
No.3ベストアンサー
- 回答日時:
<script>
//拡大画像を表示する
function pwinOpen(imgSrc){
var lgPhoto=document.getElementById('lPhoto');
lgPhoto.src = imgSrc;
var pWin=document.getElementById('pWindow');
pWin.style.visibility = 'visible';
}
//拡大画像を閉じる
function cls(){
var pWin=document.getElementById('pWindow');
pWin.style.visibility = 'hidden';
var lgPhoto=document.getElementById('lPhoto');
}
<body >
<!-------------ここから----------------->
<div id="pWindow" style="position:absolute; visibility:hidden; width:100%; height:100%;">
<table style="width:100%; height:100%;" border="1" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<table style=" background-color:#FFF; border:1px solid #000;" border="1" cellspacing="15" cellpadding="0">
<tr>
<td align="center" valign="middle"><a href="#"><img src="" OnClick="cls()" id="lPhoto"></a></td>
</tr>
</table>
</td>
</tr>
</table>
</div>
<!-------------ここまで----------------->
<table style="width:100%; height:100%;" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<table border="1" cellspacing="0" cellpadding="0" style="background-color:#F3F5FD; border:1px solid #666;">
<tr>
<td><a href="#" onFocus="this.blur()"><img src="" OnMouseOver="pwinOpen('01.jpg')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('21.jpg')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('02.jpg')" width="100" height="50" border="0"></a></td>
</tr>
<tr>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
</tr>
<tr>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
<td><a href="#" onFocus="this.blur()"><img src="" OnClick="pwinOpen('')" width="100" height="50" border="0"></a></td>
</tr>
</table>
</td>
</tr>
</table>
Ajax のような とてもかっこ良いページに仕上がりました。
何度も改造して自作できるよう頑張ってみます。
ありがとうございました!!
No.2
- 回答日時:
次は、18枚の小画像をHeadでセットし、それにマウスを合わせるとメインを更新する仕組みの全容です。
<画像を変数にセットするコード>
<head>
・・・・・
<script type="text/javascript" src="../script/mylibrary.js"></script>
<script>
var i;
var a_images = new Array(18);
for (i=0; i<18; i++) {
a_images[i] = new Image(323,267);
}
a_images[0].src ="new/holiday_01.gif";
a_images[1].src = "new/holiday_02.gif";
・・・・・
a_images[17].src = "new/holiday_18.gif";
</script>
</head>
<小さい画像の配置とマウスでメインを更新するコード>
<td width="110"><img src="new/holiday_01_sum.gif" width="109" height="83" onMouseOver ="update_src(document.main.holiday_photo, a_images[0]);"></td>
*onMouseOver は onClick に
<表示場所>
<td rowspan="6" width="506" valign="top">
<p align="center">
<img id="holiday_photo" name="holiday_photo" src="new/holiday_01.gif" width="323" height="267" vspace="10"></td>
<mylibrary.js>
function update_src(objects, img) {
objects.src = img.src;
}
No.1
- 回答日時:
テーブルに対してではなく、テーブルの中に配置する画像に対して
srcを指定します。
<img id="img1" name="IMG1" src="****.jpg" style="width:100px;height:100px;" />
上記のようにidまたはnamaを指定して
document.getElementById("img1").src="****.jpg"
または
document.imeges["IMG1"].src="****.jpg"
で試してみてください。
.
今回の場合はテーブル内に50ほど小画像がありましたので
その中の一枚と置き換えた場合は
レイアウトがうまくいきませんでした。
あらかじめ一枚の大画像がある場合に便利ですね。
回答ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- MySQL PHP 画像のアップロード Qiita 2 2022/11/28 04:44
- HTML・CSS トリミングで表示した画像をクリックで元どおりにしたい 3 2022/12/16 18:49
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- JavaScript HTML&CSS Javascriptによる動的テーブル 1 2023/03/27 19:51
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
画面表示とともに、テーブルの...
-
selectのonChangeが動作しません
-
Javascriptでテーブルタグの座...
-
javascriptでクリックするごと...
-
javascriptで<table>背景色の取得
-
テーブルの行数を可変長にした...
-
csvファイルのデータを変数とし...
-
テキストエリアに入力した改行...
-
idの振り直しについて
-
正規表現で複数マッチ条件で悩...
-
マウスをブラウザの外に出した...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
hiddenのvalueの値を変えたい
-
【jsp/Java】チェックボックス...
-
Javascriptでのbuttonのname属...
-
onchangeイベントを強制的に発...
-
javascript作成してます。ラジ...
-
POST時に要素を削除してからPOST
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
selectのonChangeが動作しません
-
画面表示とともに、テーブルの...
-
テーブルの行数を可変長にした...
-
javascriptで画像をテーブルに...
-
テキストエリアに入力した改行...
-
プルダウンメニューを表の中に...
-
【jQuery】tableループ内のIDの...
-
javascriptで<table>背景色の取得
-
csvファイルのデータを変数とし...
-
javascriptでクリックするごと...
-
Javascriptでテーブルタグの座...
-
table内で上下するfloating men...
-
tbody要素のinnerHTMLが書き換...
-
テーブルのセルのクリック時、...
-
外部CSVをサイトに読み込み表示...
-
Table内TDの子要素を移動させた...
-
指定のテキストをクリックする...
-
javascript でテーブル操作
-
クリックごとに文字色が交互に...
おすすめ情報