A lightweight FCGI blog written in python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
pylog/gallery.js

134 lines
3.6 KiB

var current_li;
function nextByTag(parent,current,name){
var next = false;
var next_element;
for( var i=0; i<parent.childNodes.length; i++ ){
if( parent.childNodes[i]==current ){
next = true;
continue;
}
if( next && parent.childNodes[i].nodeName == name ){
next_element = parent.childNodes[i];
break;
}
}
return next_element;
}
function prevByTag(parent,current,name){
var next = false;
var prev_element;
for( var i=parent.childNodes.length-1; i>=0; i-- ){
if( parent.childNodes[i]==current ){
next = true;
continue;
}
if( next && parent.childNodes[i].nodeName == name ){
next_element = parent.childNodes[i];
break;
}
}
return next_element;
}
function prevImg(){
var parent = current_li.parentNode;
var prev_li = prevByTag(parent,current_li,"LI");
if( !prev_li ){
return false;
}
var img = prev_li.getElementsByTagName("img")[0];
var div = document.getElementById("gallery_container");
var oldimg = div.getElementsByTagName("img");
if( oldimg ){
for( var i=0; i<oldimg.length; i++){
if( oldimg[i].parentNode == div ){
oldimg[i].src = img.src;
}
}
}
current_li = prev_li;
return false;
}
function nextImg(){
var parent = current_li.parentNode;
var next_li = nextByTag(parent,current_li,"LI");
if( !next_li ){
return false;
}
var img = next_li.getElementsByTagName("img")[0];
var div = document.getElementById("gallery_container");
var oldimg = div.getElementsByTagName("img");
if( oldimg ){
for( var i=0; i<oldimg.length; i++){
if( oldimg[i].parentNode == div ){
oldimg[i].src = img.src;
}
}
}
current_li = next_li;
return false;
}
function loadImg(src,target){
var body = document.getElementsByTagName("body")[0];
var div = document.getElementById("gallery_container");
current_li = target.parentNode;
if( !div ) {
div = document.createElement('div');
div.setAttribute('id', 'gallery_container');
body.appendChild(div);
var anch = document.createElement('a');
anch.setAttribute('href', '#');
div.appendChild(anch);
var close = new Image();
close.src = "_img/close.png"
close.id = "gallery_close";
close.onclick = function(){
div.style.visibility='hidden';
return false;
}
anch.appendChild(close);
anch = document.createElement('a');
anch.setAttribute('href', '#');
var prev = new Image();
anch.appendChild(prev);
div.appendChild(anch);
prev.src = "_img/prev.png";
prev.id = "gallery_prev";
prev.onclick = prevImg;
var img = new Image()
div.appendChild(img);
img.src = src;
img.id = "gallery_img"
anch = document.createElement('a');
anch.setAttribute('href', '#');
var next = new Image();
anch.appendChild(next);
div.appendChild(anch);
next.src = "_img/next.png";
next.id = "gallery_next";
next.onclick = nextImg;
}else{
var oldimg = div.getElementsByTagName("img");
if( oldimg ){
for( var i=0; i<oldimg.length; i++){
if( oldimg[i].parentNode == div ){
oldimg[i].src = src;
}
}
}
div.style.visibility='visible';
}
}