This patch fix the position and size of the overlay and the position of the main lightBox window when using large pages.
Created by: Rodrigo Chacon
--- jquery.lightbox-0.5.js.old 2010-03-03 03:53:02.000000000 -0300
+++ jquery.lightbox-0.5.js 2010-03-04 02:04:31.000000000 -0300
-133,7 +133,7 @@
backgroundColor: settings.overlayBgColor,
opacity: settings.overlayOpacity,
width: arrPageSizes[0],
- height: arrPageSizes[1]
+ height: arrPageSizes[3]
}).fadeIn();
// Get page scroll
var arrPageScroll = ___getPageScroll();
-388,73 +388,26 @@
$('embed, object, select').css({ 'visibility' : 'visible' });
}
/**
- / THIRD FUNCTION
- * getPageSize() by quirksmode.com
+ * by Rodrigo Chacon
*
* @return Array Return an array with page width, height and window width, height
*/
function ___getPageSize() {
- var xScroll, yScroll;
- if (window.innerHeight && window.scrollMaxY) {
- xScroll = window.innerWidth + window.scrollMaxX;
- yScroll = window.innerHeight + window.scrollMaxY;
- } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
- xScroll = document.body.scrollWidth;
- yScroll = document.body.scrollHeight;
- } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
- xScroll = document.body.offsetWidth;
- yScroll = document.body.offsetHeight;
- }
- var windowWidth, windowHeight;
- if (self.innerHeight) { // all except Explorer
- if(document.documentElement.clientWidth){
- windowWidth = document.documentElement.clientWidth;
- } else {
- windowWidth = self.innerWidth;
- }
- windowHeight = self.innerHeight;
- } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
- windowWidth = document.documentElement.clientWidth;
- windowHeight = document.documentElement.clientHeight;
- } else if (document.body) { // other Explorers
- windowWidth = document.body.clientWidth;
- windowHeight = document.body.clientHeight;
- }
- // for small pages with total height less then height of the viewport
- if(yScroll < windowHeight){
- pageHeight = windowHeight;
- } else {
- pageHeight = yScroll;
- }
- // for small pages with total width less then width of the viewport
- if(xScroll < windowWidth){
- pageWidth = xScroll;
- } else {
- pageWidth = windowWidth;
- }
- arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight);
+ arrayPageSize = new Array();
+ arrayPageSize[0] = $("body").width();
+ arrayPageSize[1] = $("body").height();
+ arrayPageSize[2] = $(window).width();
+ arrayPageSize[3] = $(window).height();
return arrayPageSize;
};
/**
- / THIRD FUNCTION
- * getPageScroll() by quirksmode.com
+ * by Rodrigo Chacon
*
* @return Array Return an array with x,y page scroll values.
*/
function ___getPageScroll() {
- var xScroll, yScroll;
- if (self.pageYOffset) {
- yScroll = self.pageYOffset;
- xScroll = self.pageXOffset;
- } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
- yScroll = document.documentElement.scrollTop;
- xScroll = document.documentElement.scrollLeft;
- } else if (document.body) {// all other Explorers
- yScroll = document.body.scrollTop;
- xScroll = document.body.scrollLeft;
- }
- arrayPageScroll = new Array(xScroll,yScroll);
- return arrayPageScroll;
+ arr = new Array($(window).scrollLeft(), $(window).scrollTop());
+ return arr;
};
/**
* Stop the code execution from a escified time in milisecond