// scroll_check.js // Show Scroll Percentage Status at top left - RJM Programming - June, 2016 // There is an equivalently functional scroll_check.html HTML iframe way of using ... checked for below var sc_oid='showscrollxy'; var sc_scrollx=-1; var sc_scrolly=-1; var prevsc_dh=-1; var prevsc_dw=-1; var sc_dh=-1; var sc_dw=-1; var sc_thisdh=-1; var sc_thisdw=-1; var sc_hideScroll=5000; var sc_scrollDiv=null; var sc_cnt=0; var sc_isOkay=true; var sc_elem1table=null; var sc_elem1img=null; var sc_done=false; function checkandthen() { var ifs=top.document.getElementsByTagName('a'); if (ifs.length > 0) { for (var jifs=0; jifs 0) { for (var iifs=0; iifs 0) { altsc_dw="" + eval(top.window.getComputedStyle(ifs[0], null).getPropertyValue("width").replace('px','')); if (eval(altsc_dw) > eval(sc_dw)) { sc_elem1table=ifs[0]; elemx1=ifs[0]; sc_dw=altsc_dw; } } else { ifs=top.document.getElementsByTagName('img'); if (ifs.length > 0) { altsc_dw="" + eval(top.window.getComputedStyle(ifs[0], null).getPropertyValue("width").replace('px','')); if (eval(altsc_dw) > eval(sc_dw)) { sc_elem1img=ifs[0]; elemx1=ifs[0]; sc_dw=altsc_dw; } altsc_dh="" + eval(top.window.getComputedStyle(ifs[0], null).getPropertyValue("height").replace('px','')); if (eval(altsc_dh) > eval(sc_dh)) { sc_elem1img=ifs[0]; elemy1=ifs[0]; sc_dh=altsc_dh; } } } whattoshow+='Scroll X% = ' + parseFloat(eval(eval(sc_scrollx) * 100.0 / eval(sc_dw))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrollx) + eval(sc_thisdw)) * 100.0 / eval(sc_dw)))).toFixed(2) + '%)
'; whattoshow+='Scroll Y% = ' + parseFloat(eval(eval(sc_scrolly) * 100.0 / eval(sc_dh))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrolly) + eval(sc_thisdh)) * 100.0 / eval(sc_dh)))).toFixed(2) + '%)'; sc_scrollDiv=top.document.getElementById(sc_oid); if (sc_scrollDiv == null) { top.document.body.innerHTML+='
'; sc_scrollDiv=top.document.getElementById(sc_oid); } prevsc_dw=sc_dw; prevsc_dh=sc_dh; } } else if (whattoshow == ' ') { whattoshow=''; sc_dh="" + eval(top.window.getComputedStyle(elemy1, null).getPropertyValue("height").replace('px','')); sc_dw="" + eval(top.window.getComputedStyle(elemx1, null).getPropertyValue("width").replace('px','')); whattoshow+='Scroll X% = ' + parseFloat(eval(eval(sc_scrollx) * 100.0 / eval(sc_dw))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrollx) + eval(sc_thisdw)) * 100.0 / eval(sc_dw)))).toFixed(2) + '%)
'; whattoshow+='Scroll Y% = ' + parseFloat(eval(eval(sc_scrolly) * 100.0 / eval(sc_dh))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrolly) + eval(sc_thisdh)) * 100.0 / eval(sc_dh)))).toFixed(2) + '%)'; prevsc_dw=sc_dw; prevsc_dh=sc_dh; } else { sc_dh="" + eval(top.window.getComputedStyle(elemy1, null).getPropertyValue("height").replace('px','')); sc_dw="" + eval(top.window.getComputedStyle(elemx1, null).getPropertyValue("width").replace('px','')); if (eval(eval(prevsc_dh) - eval(sc_dh)) != 0 || eval(eval(prevsc_dw) - eval(sc_dw)) != 0) { whattoshow+='Scroll X% = ' + parseFloat(eval(eval(sc_scrollx) * 100.0 / eval(sc_dw))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrollx) + eval(sc_thisdw)) * 100.0 / eval(sc_dw)))).toFixed(2) + '%)
'; whattoshow+='Scroll Y% = ' + parseFloat(eval(eval(sc_scrolly) * 100.0 / eval(sc_dh))).toFixed(2) + '% (to ' + Math.min(100,parseFloat(eval((eval(sc_scrolly) + eval(sc_thisdh)) * 100.0 / eval(sc_dh)))).toFixed(2) + '%)'; prevsc_dw=sc_dw; prevsc_dh=sc_dh; } } if (whattoshow != '') { //alert(whattoshow); sc_cnt++; if (sc_elem1img != null) { sc_scrollDiv.innerHTML=""; sc_scrollDiv.style.opacity = 0.7; } else { sc_scrollDiv.innerHTML=whattoshow.replace('NaN','0.00').replace('NaN','0.00'); } sc_scrollDiv.style.left = eval(sc_scrollx) + 'px'; sc_scrollDiv.style.top = eval(sc_scrolly) + 'px'; sc_scrollDiv.style.visibility = 'visible'; setTimeout(function() { if (sc_cnt == 1) sc_scrollDiv.style.visibility = 'hidden'; sc_cnt--; }, sc_hideScroll); } if (sc_isOkay) setTimeout(checkscroll, 200); } setTimeout(checkscroll, 200);