基本編ではWindows環境にフォルダー、html、cssを作成し、メモ帳を使って編集し写真を表示する方法を説明しました。
実践編では、一歩進んで自分で撮った写真を見栄え良く表示する方法を説明しました。
さらに進んでJavaScriptとjQueryを使って写真などを動的に表示することを実例で説明します。
興味のある人はダウンロードしてみて下さい。
写真の枚数が多くなると、ホームページがどんどん長くなっていくので、小さい画像(サムネール thumbnail)を並べて、見たいものだけを大きく表示する。
また、cssを変えて表示のスタイルが大きく変わる実例として、2種類のcssをボタンで切り替えます。
作例画像(click)
<head>
<script type="text/javascript">
txt=new Array(); img=new Array();
img[1]='img/PB270597.jpg';
img[2]='img/PB300692.jpg';
.......................
// number of img
var ic = 12 ;
// clean txt
for(i=1; i <= ic; i++) {txt[i] = ' '};
txt[1]='東京駅夜景';
txt[2]='平林寺(埼玉県新座市)';
.......................
// image define
movimg=new Array();
for(i=1; i<=ic ; i++) {movimg[i] = new Image();movimg[i].src = img[i] ;}
// image change
function changImg1(imgNoA,imgNoB) {document.images[imgNoA].src=movimg
[imgNoB].src;}
// css change
function changeCSS(sURL) {var obj = document.getElementsByTagName
("link");for (var k=0, cnt=0; k<obj.length; k++)
{if (obj[k].type == "text/css") obj[k].href = sURL[cnt++];}}
//-->
</script>
</head>
<body>
.......................
<script type="text/javascript">
for (i = 1; i<=ic; i++)
{document.write("<a href='javascript:void(0);' onMouseOver='changImg1(0,"+i+");document.forms[0].e0.value=txt["+i+"]'+><img src="+img[i]+"></a>");}
</script>
........................
<form>
<input type="button" value="frame A" onClick="changeCSS(['css/csssa.css'])">
<input type="button" value="frame B" onClick="changeCSS(['css/csssb.css'])">
</form>
........................
</body>
普通に写真を並べるだけでは物足りなく、もっと見ていて楽しいものにしたい。
作例画像(click)
<script type="text/javascript" src="onebook3d/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="onebook3d/js/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="onebook3d/js/jquery.onebook3d-2.3.0-full-min.js"></script>
<script type="text/javascript" src="onebook3d/js/three.min.js"></script>
<script>
$(function(){
var imgArray = [
['img2/P7040907.jpg',' '],
['img2/P12204667.jpg','01/22/2017 薬師池'],
..............................................................
];
$('#photobook').onebook(imgArray,
{
startPage:1, // 初期表示に何ページ目から見せるか default:1
flip:'soft', // 'basic','soft' フリップアニメーション default:'basic'
skin:'dark', // 'light','dark' 裏表紙の色 default:'dark'
bgDark:'#222222 url(onebook3d/i/bg.jpg)', // 全画面表示の際の背景 skinの指定によってbgLightかbgDarkを指定。
slope:0, // 0,1,2 アルバムの傾け具合 default:0
border:10, // 写真画像の余白 default:30
language:'en', // 'en','ru' 言語 default:'en'
cesh:true // true,false キャッシュするかしないか default:true
});
});
</script>
写真をスライド
jQueryの使い方の例としてもう一つ紹介します。こちらはjQueryのライブラリーをダウンロードしないで、google提供のサイトをリンクするものです。
作例画像(click)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<meta http-equiv="Content-Script-Type" content="text/javascript" />
<title>東京夜景 slide</title>
<link rel="stylesheet" type="text/css" href="jslide.css" />
<!-- img -->
<!--[if lt IE 9]><script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script>
$(function(){
var $setElm = $('.multiple'),
fadeSpeed = 4500,
switchDelay = 8000;
$setElm.each(function(){
var targetObj = $(this);
var findUl = targetObj.find('ul');
var findLi = targetObj.find('li');
var findLiFirst = targetObj.find('li:first');
findLi.css({display:'block',opacity:'0',zIndex:'99'});
findLiFirst.css({zIndex:'100'}).stop().animate({opacity:'1'},fadeSpeed);
setInterval(function(){
findUl.find('li:first-child').animate({opacity:'0'},fadeSpeed).next('li').css({zIndex:'100'}).animate({opacity:'1'},
fadeSpeed).end().appendTo(findUl).css({zIndex:'99'});
},switchDelay);
});
});
</script>
</head>
<body>
<div id="div_root">
<h1>東京夜景 </h1>
<div id="container">
<div class="multiple">
<ul>
<li><img src="img/P2150816.jpg" width="640" height="480" alt=""></img><span>湯島天神(文京区)</span></li>
<li><img src="img/P3240337.jpg" width="640" height="480" alt=""></img><span>千鳥ヶ淵(千代田区)</span></li>
<li><img src="img/P6032052.png" width="640" height="480" alt=""></img><span>墨田公園(浅草)</span></li>
<li><img src="img/PB240228.jpg" width="640" height="480" alt=""></img><span>神宮外苑銀杏並木</span></li>
<li><img src="img/PC150042.jpg" width="640" height="480" alt=""></img><span>西新宿駅前</span></li>
<li><img src="img/PB270610.jpg" width="640" height="480" alt=""></img><span>日比谷通り(千代田区)</span></li>
<li><img src="img/PA260691.jpg" width="640" height="480" alt=""></img><span>東京都庁展望台</span></li>
<li><img src="img/PB270597.jpg" width="640" height="480" alt=""></img><span>東京駅前</span></li>
<li><img src="img/PC150033.jpg" width="640" height="480" alt=""></img><span>西新宿</span></li>
<li><img src="img/PC180922.jpg" width="640" height="400" alt=""></img><span>レインボーブリッジ(晴海埠頭より)</span></li>
</ul>
</div><!--/.multiple-->
</div><!--/#container-->
</div>
</body>
</html>
様々なjQueryプラグインが提供されています。jQueryプラグインで検索してみて下さい。
ダウンロードやコピーしてまずは自分のpcで稼働する環境を作り、好みのスタイルに作り上げていきます。その過程で必要な知識を断片的に会得して徐々に知識を深めていくことが必要と思います。
html/cssの記述の効率化のためにプログラム言語 Pythonの簡単な作例を掲載します。
・Python作例
・Python作例②
Total | Today | Yesterday |