summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG1
-rw-r--r--phpfspot.js37
-rw-r--r--themes/default/templates/single_photo.tpl2
3 files changed, 28 insertions, 12 deletions
diff --git a/CHANGELOG b/CHANGELOG
index d65d418..7b0d187 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@ phpfspot (1.3)
* bug, fixed image handling which were slender enough, but too high.
* bug, fix for PDO sqlite when trying to fetch one single row (contributed by
* bug, fix for incorrect SQL query (contributed by Arun Persaud).
+ * bug, fixed window-movement when switching between photo index & photo
* feature, removed much of HTML tables to speed up GUI & CSS cleanup
* feature, key navigation (next/prev photo, photo index, reset all).
* feature, gen_thumbs.php has a new overwrite-thumbnails option.
diff --git a/phpfspot.js b/phpfspot.js
index a2c848e..89eacba 100644
--- a/phpfspot.js
+++ b/phpfspot.js
@@ -18,9 +18,9 @@ function showImage(id, scrollup)
}
/* delete some global vars */
- delete(origHeight);
- delete(origWidth);
- delete(photo_details_pos);
+ delete(origHeight); origHeight = undefined;
+ delete(origWidth); origWidth = undefined;
+ delete(photo_details_pos); photo_details_pos = undefined;
}
function moveToThumb(thumb_id)
@@ -29,19 +29,22 @@ function moveToThumb(thumb_id)
return;
if(thumbimg = document.getElementById('thumbimg' + thumb_id)) {
- window.scrollTo(0, findPos(thumbimg)-100);
+ window.scrollTo(0, findPos(thumbimg,'top')-100);
}
} // moveToThumb()
-function findPos(obj) {
- var curtop = 0;
+function findPos(obj, direction) {
+ var cur = 0;
if (obj.offsetParent) {
do {
- curtop += obj.offsetTop;
+ if(direction == 'left')
+ cur += obj.offsetLeft;
+ if(direction == 'top')
+ cur += obj.offsetTop;
} while (obj = obj.offsetParent);
}
- return [curtop];
+ return [cur];
}
function showCredits()
@@ -269,10 +272,20 @@ function getPhotoToShow()
function zoom(mod)
{
+ var photo;
+
if(mod == undefined)
return;
- if(photo = document.getElementById('photo')) {
+ /* internet explorer */
+ if(document.images['photo'].width)
+ photo = document.images['photo'];
+
+ /* all others */
+ if(photo == undefined && document.getElementById('photo').width)
+ photo = document.getElementById('photo');
+
+ if(photo != undefined) {
if(origWidth == undefined)
origWidth = photo.width;
@@ -286,7 +299,7 @@ function zoom(mod)
photo.height = new_h;
if(photo_details_pos == undefined) {
- photo_details_pos = document.getElementById('photo_details').offsetLeft;
+ photo_details_pos = findPos(document.getElementById('photo_details'),'left');
}
if((photo.offsetLeft + new_w) >= photo_details_pos-20) {
@@ -307,6 +320,8 @@ function zoom(mod)
function hidePhotoDetails(mode)
{
+ var photo_details;
+
if(photo_details = document.getElementById('photo_details')) {
if(mode == 'true') {
photo_details.style.visibility = 'hidden';
@@ -314,7 +329,7 @@ function hidePhotoDetails(mode)
}
else {
photo_details.style.visibility = 'visible';
- photo_details.style.display = 'inline';
+ photo_details.style.display = '';
}
}
} // hidePhotoDetails()
diff --git a/themes/default/templates/single_photo.tpl b/themes/default/templates/single_photo.tpl
index fb194a8..ea513d9 100644
--- a/themes/default/templates/single_photo.tpl
+++ b/themes/default/templates/single_photo.tpl
@@ -73,7 +73,7 @@
{ else }
<a href="{$next_url}" onclick="click(this);" title="click for the next photo" name="photo">
{ /if }
- <img src="{$image_url}" width="{$width}" height="{$height}" alt="{$image_filename}" id="photo" />
+ <img src="{$image_url}" width="{$width}" height="{$height}" alt="{$image_filename}" name="photo" id="photo" />
</a>
</div>