Skip to content

Instantly share code, notes, and snippets.

@cassy1003
Last active December 20, 2015 10:20
Show Gist options
  • Save cassy1003/6115031 to your computer and use it in GitHub Desktop.
Save cassy1003/6115031 to your computer and use it in GitHub Desktop.
sample
//// slideshow.html
<head>
<meta charset="UTF-8">
<title>スライドショー</title>
<link rel="stylesheet" href="slideshow.css" type="text/stylesheet" media="all">
<script type="text/javascript" src="slideshow.js"></script>
<script type="text/javascript" src="image-database.js"></script>
</head>
<body onLoad="setThumbImages()">
<img src="img/sample0.jpg" id="main">
<div id="thumbArea"></div>
<div id="see more" onClick="seeMore()">もっと見る</div>
</body>
////// slideshow.js
var mainImage = document.getElementById("main");
var thumbImages;
function setThumbImages() {
var thumb = []
for(var i in imageArray){
// image tagを用意
thumb.push('<img src="' + imageArray[i] + '_s.jpg" class="thumb" onClick="showImage(' + i + ')">');
}
// 文字列連結してthumbAreaにつっこむ
document.getElementById("thumbArea").innerHTML(thumb.join(''));
// showImageのたびにgetElementsしていたらコストになるので、ここで一回だけ行う
thumbImages = document.getElementsByClassName("thumb")
}
function showImage(imageNo) {
mainImage.src = imageArray[imageNo] + '.jpg';
for (var i in thumbImages) {
thumbImages[i].classList.remove("select");
}
thumbImages[imageNo].classList.add("select");
}
function seeMore() {
// ここでサーバーのデータベースにリクエス
// きっとこんなん。
// images = sendRequest.getImages({userId: 001});
// 返ってきたのをimageArrayに入れる。
// mageArray.push(images);
// thumbに追加表示
setThumbImages();
}
///// image-database.js
var imageArray = ["img/sample0","img/sample1","img/sample2","img/sample3","img/sample4"];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment