dポイントプレゼントキャンペーン実施中!

http://www.daichifive.com/
↑のサイトのような感じに背景を画面サイズに合わせてフル表示にし、
サムネイル出して、クリックすれば、次の画像に切り替えたいと思っています。
画像は3枚で、3枚目の画像だけ、縦長になっているので、
背景が3枚目になったときだけ縦スクロールバーを付けて、
上から下まで見れるようにしたいです。

サムネイルを出して、次の画像に切り替えるくらいですと、
jQueryを探せば何かあると思うのですが、
3枚目だけ縦スクロールバーをつけることなどできるのでしょうか。

できるとすれば、どのjQueryを使って、どうゆうカスタマイズをすればできるのでしょうか?

jQuery以外の方法でも、上記のような動きを実装できるやり方があれば
ご教授いただけないでしょうか。
よろしくおねがい致します。

A 回答 (2件)

理屈はとても簡単です。


たとえば、HTML/CSSだけで画像を画面一杯に配置する技術はお持ちですか?
それができれば、javascriptでその要素を入れ替えるだけです。

「jQeruy=プラグインの利用」と考えるのは早計です。
自分のやりたいことに100%フィットしたプラグインを見つけるほうが大変だと思いますよ。
理屈はとても単純ですし、難易度としても高くないはずです。
HTML/CSS/JQueryの基本だけでできます。
基本をお持ちでないのであれば、カスタマイズを考えずに、どこかのプラグインの仕様に従うしかないと思います。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
HTML/CSSだけで画像を画面一杯に配置することはできるのですが
javascriptの知識がほぼありません。
今までは配布されているjQueryで事足りていたので
お恥ずかしい話、自分でスクリプトを組むという頭がありませんでした;;
これを機会に勉強しようと思います。
ありがとうございました。

お礼日時:2012/02/14 10:28

HTMLの内容によります。


示されたサイトは、文書の内容に関係ないあくまで背景ですね。
 (注)背景としてマークアップされるべきですが、このサイトはそうはなっていません。

しかし、「サムネイル出して、クリックすれば、次の画像に切り替えたい」となると、もはや背景ではなく、写真を見せるためのアルバム(写真集)です。
 だとすると、背景ではありません。
 そして、背景画像を表示領域に合わせて伸縮させる手軽な方法はありません。(後述)

 また、写真のサイズが異なるということですが、縦長の画像は画面内に収まるようにアスペクト比を固定して縮小するほうがユーザビリティ上は良いのでは?
 最近のディスプレイは縦置きのスマートフォン(450px)、スマートフォン横置きやi-padのように小さな画面から、1920pxというワイドディスプレイもあります。

 以上のことから、画像による画像の目次と、でっかい画像のsectionとしてマークアップすべきではないかと思います。
 ごく簡単な例ですが、スライドショー機能をなくして、画像をクリックして大きな画像をウィンド巾に合わせてアスペクト比固定で表示する方法です。自動的にスライドショーをさせる場合は、それぞれの<li>にjavascriptでfocusを移動させてください。

 HTMLは文書構造を示すためだけに使っているので、表示方法は自由に変更できるでしょう。
★The W3C Markup Validation Service ( http://validator.w3.org/#validate_by_input )
★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_ … )
で検証済み
_は、タブに戻すこと。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ja">
<head>
_<meta http-equiv="content-type" content="text/html; charset=Shift_JIS">
_<title>サンプル</title>
_<meta name="author" content="ORUKA1951">
_<meta http-equiv="Content-Style-Type" content="text/css">
_<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" >
_<link rel="START" href="../index.html">
_<style type="text/css">
<!--
html,body{margin:0;padding:0;display:block;width:100%;height:100%;position:absolute;}
div.section ul{position:absolute;top:0;padding:0;width:100%;height:100%;overflow:hidden;}
#index,#indexli,div.section ul,div.section ul li{display:block;margin:0;padding:0;list-style:none;}
#index{z-index:100;position:fixed;bottom:0;left:0;width:auto;background-color:black}
#index li{display:inline-block;margin:5px;}
div.section ul li{display:block;width:100%;height:100%;overflow:auto;}
div.section ul li img{display:block;width:100%;height:auto;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>サンプル</h1>
__<ul id="index">
___<li><a href="#main1"><img src="./images/thumbnail/1.jpg" width="64" height="48" alt="写真1"></a></li>
___<li><a href="#main2"><img src="./images/thumbnail/2.jpg" width="64" height="48" alt="写真2"></a></li>
___<li><a href="#main3"><img src="./images/thumbnail/3.jpg" width="64" height="48" alt="写真3"></a></li>
___<li><a href="#main4"><img src="./images/thumbnail/7.jpg" width="48" height="64" alt="写真4"></a></li>
__</ul>
_</div>
_<div class="section">
__<h2>画像一覧</h2>
__<ul>
___<li id="main1"><img src="./images/1.jpg" width="640" height="480" alt="写真1"></li>
___<li id="main2"><img src="./images/2.jpg" width="640" height="480" alt="写真2"></li>
___<li id="main3"><img src="./images/3.jpg" width="640" height="480" alt="写真3"></li>
___<li id="main4"><img src="./images/7.jpg" width="480" height="640" alt="写真4"></li>
__</ul>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
_</div>
</body>
</html>


背景画像の伸縮はCSS3で導入されるbackground-sizeを使うと伸縮できます。
    • good
    • 0
この回答へのお礼

お礼が遅くなって申しわけありません。
コードまで付けていただいて、ご丁寧な回答ありがとうございます!
たしかに縦長の画像は画面に収まるようにしたほうがいいと思うのですが
どうしても、ということだったので悩んでいました;;
勉強になりました。ありがとうございます。

お礼日時:2012/02/14 10:20

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