From: Norman Walsh Date: Thu, 30 May 2002 10:20:25 +0000 (+0000) Subject: Hide the overlay if content overlaps X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=33003634ccf848712f9c9cdbfca8d1b96c83644c;p=docbook-dsssl Hide the overlay if content overlaps --- diff --git a/slides/browser/overlay.js b/slides/browser/overlay.js index cc60779c7..644bb5b96 100644 --- a/slides/browser/overlay.js +++ b/slides/browser/overlay.js @@ -18,7 +18,9 @@ var overlayNS4 = document.layers ? 1 : 0; var overlayIE = document.all ? 1 : 0; var overlayNS6 = document.getElementById && !document.all ? 1 : 0; -var overlayDelay=60; +var overlayPadX = 15; +var overlayPadY = 5; +var overlayDelay = 60; var overlayCorner = 'ur'; // ul, ll, ur, lr, uc, lc, cl, cr @@ -30,8 +32,9 @@ function overlayRefresh() { var overlayY = 0; var overlayW = 0; var overlayH = 0; - var overlayPadX = 15; - var overlayPadY = 5; + var contentH = 0; + + var body = xbGetElementsByName('BODY')[0]; if (overlayIE) { overlayLx = document.body.clientWidth; @@ -45,16 +48,19 @@ function overlayRefresh() { overlayH = overlayDiv.offsetHeight; overlayW = overlayDiv.offsetWidth; + contentH = body.offsetHeight; } else if (overlayNS4) { overlayLy = window.innerHeight; overlayLx = window.innerWidth; overlayH = document.overlayDiv.clip.height; overlayW = document.overlayDiv.clip.width; + contentH = body.clip.height; } else if (overlayNS6) { overlayLy = window.innerHeight; overlayLx = window.innerWidth; overlayH = document.getElementById('overlayDiv').offsetHeight; overlayW = document.getElementById('overlayDiv').offsetWidth; + contentH = body.offsetHeight; } if (overlayCorner == 'ul') { @@ -86,10 +92,18 @@ function overlayRefresh() { if (overlayIE) { overlayDiv.style.left=overlayX; overlayDiv.style.top=overlayY+document.body.scrollTop; + + if (contentH > overlayLy) { + overlayDiv.style.visibility = "hidden"; + } } else if (overlayNS4) { document.overlayDiv.pageX=overlayX; document.overlayDiv.pageY=overlayY+window.pageYOffset; document.overlayDiv.visibility="visible"; + + if (contentH > overlayLy) { + document.overlayDiv.style.visibility = "hidden"; + } } else if (overlayNS6) { var div = document.getElementById("overlayDiv"); var leftpx = overlayX; @@ -97,6 +111,10 @@ function overlayRefresh() { div.style.left = leftpx + "px"; div.style.top = toppx + "px"; + + if (contentH > overlayLy) { + div.style.visibility = "hidden"; + } } }