Gettin functional, baby
This commit is contained in:
parent
2a33cb215d
commit
0c7d542b46
@ -8,8 +8,16 @@
|
|||||||
<script type="text/javascript" src="js/scripts.min.js"></script>
|
<script type="text/javascript" src="js/scripts.min.js"></script>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
<div id="album">
|
||||||
|
<h2 id="title"></h2>
|
||||||
|
|
||||||
<div id="debug">Debug info here...</div>
|
<h3>Photos</h3>
|
||||||
|
<div id="photos"></div>
|
||||||
|
|
||||||
|
<h3 id="subalbums-title">Sub-albums</h3>
|
||||||
|
<div id="subalbums"></div>
|
||||||
|
</div>
|
||||||
|
<div id="photo"></div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -14,25 +14,82 @@ $(document).ready(function() {
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "GET",
|
type: "GET",
|
||||||
url: "cache/" + path + ".json",
|
url: "cache/" + path + ".json",
|
||||||
|
error: function() { $(document.body).html("Couldn't fetch it."); },
|
||||||
success: function(album) {
|
success: function(album) {
|
||||||
$("#debug").html("<h2>" + album.path + "</h2>");
|
current_album = album;
|
||||||
$("#debug").append("<h3>Photos</h3>");
|
if (current_image_cache != null)
|
||||||
for (var i = 0; i < album.photos.length; ++i)
|
showPhoto();
|
||||||
$("#debug").append("<a href=\"" + imagePath(album.photos[i].name, album.path, 1024, false) + "\"><img border=0 src=\"" + imagePath(album.photos[i].name, album.path, 150, true) + "\" height=150 width=150></a>");
|
else
|
||||||
if (album.albums.length)
|
showAlbum();
|
||||||
$("#debug").append("<h3>Sub-albums</h3>");
|
|
||||||
for (var i = 0; i < album.albums.length; ++i) {
|
|
||||||
var link = $("<a href=\"#" + cachePath(album.path + "/" + album.albums[i].path) + "\"><li>" + album.albums[i].path + "</li></a>");
|
|
||||||
$("#debug").append(link);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function showAlbum() {
|
||||||
|
$("html, body").animate({ scrollTop: 0 }, "slow");
|
||||||
|
var title = "";
|
||||||
|
var components = current_album.path.split("/");
|
||||||
|
var last = "";
|
||||||
|
for (var i = 0; i < components.length; ++i) {
|
||||||
|
last += "/" + components[i];
|
||||||
|
if (i < components.length - 1)
|
||||||
|
title += "<a href=\"#" + cachePath(last.substring(1)) + "\">";
|
||||||
|
title += components[i];
|
||||||
|
if (i < components.length - 1) {
|
||||||
|
title += "</a>";
|
||||||
|
title += " » ";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$("#title").html(title);
|
||||||
|
var photos = "";
|
||||||
|
for (var i = 0; i < current_album.photos.length; ++i)
|
||||||
|
photos += "<a href=\"#" + current_album_cache + "/" + cachePath(current_album.photos[i].name) + "\"><img border=0 src=\"" + imagePath(current_album.photos[i].name, current_album.path, 150, true) + "\" height=150 width=150></a>";
|
||||||
|
$("#photos").html(photos);
|
||||||
|
if (current_album.albums.length)
|
||||||
|
$("#subalbums-title").show();
|
||||||
|
else
|
||||||
|
$("#subalbums-title").hide();
|
||||||
|
var subalbums = "";
|
||||||
|
for (var i = 0; i < current_album.albums.length; ++i)
|
||||||
|
subalbums += "<a href=\"#" + cachePath(current_album.path + "/" + current_album.albums[i].path) + "\"><li>" + current_album.albums[i].path + "</li></a>";
|
||||||
|
$("#subalbums").html(subalbums);
|
||||||
|
|
||||||
|
$("#album").fadeIn();
|
||||||
|
$("#photo").fadeOut();
|
||||||
|
}
|
||||||
|
function showPhoto() {
|
||||||
|
var index;
|
||||||
|
for (index = 0; index < current_album.photos.length; ++index) {
|
||||||
|
if (cachePath(current_album.photos[index].name) == current_image_cache)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (index >= current_album.photos.length) {
|
||||||
|
$(document.body).html("Wrong picture.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$("#photo").html("<a href=\"javascript:history.back(-1)\"><img src=\"" + imagePath(current_album.photos[index].name, current_album.path, 640, false) + "\"></a>");
|
||||||
|
$("#album").fadeOut();
|
||||||
|
$("#photo").fadeIn();
|
||||||
|
}
|
||||||
|
var current_album_cache = "";
|
||||||
|
var current_image_cache = "";
|
||||||
|
var current_album = null;
|
||||||
$(window).hashchange(function() {
|
$(window).hashchange(function() {
|
||||||
var cache = location.hash.substring(1);
|
var new_album_cache = location.hash.substring(1);
|
||||||
if (!cache.length)
|
var index = new_album_cache.lastIndexOf("/");
|
||||||
cache = cachePath("New York Summer 2009"); //root
|
if (index != -1 && index != new_album_cache.length - 1) {
|
||||||
loadAlbum(cache);
|
current_image_cache = new_album_cache.substring(index + 1);
|
||||||
|
new_album_cache = new_album_cache.substring(0, index);
|
||||||
|
} else
|
||||||
|
current_image_cache = null;
|
||||||
|
if (!new_album_cache.length)
|
||||||
|
new_album_cache = cachePath("New York Summer 2009"); //root
|
||||||
|
if (new_album_cache != current_album_cache) {
|
||||||
|
current_album_cache = new_album_cache;
|
||||||
|
loadAlbum(current_album_cache);
|
||||||
|
} else if (current_image_cache != null)
|
||||||
|
showPhoto();
|
||||||
|
else
|
||||||
|
showAlbum();
|
||||||
});
|
});
|
||||||
$(window).hashchange();
|
$(window).hashchange();
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user