Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/extensions/SocialProfile/shared/LightBox.js
Ðазад
/* Lightbox JS: Fullsize Image Overlays by Lokesh Dhakar - http://www.huddletogether.com For more information on this script, visit: http://huddletogether.com/projects/lightbox/ Licensed under the Creative Commons Attribution 2.5 License - http://creativecommons.org/licenses/by/2.5/ (basically, do anything you want, just leave my name and link) Stripped this down a bit - Ashish Rewritten to be more object-oriented by Jack Phoenix on 21 June 2011 and JSHinted on 14 August 2015 */ window.LightBox = { /** * Core code from quirksmode.org * * @return Array with x,y page scroll values. */ getPageScroll: function () { var yScroll; if ( this.pageYOffset ) { yScroll = this.pageYOffset; } else if ( document.documentElement && document.documentElement.scrollTop ) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; } else if ( document.body ) { // all other Explorers yScroll = document.body.scrollTop; } var arrayPageScroll = new Array( '', yScroll ); return arrayPageScroll; }, /** * Core code from quirksmode.org * Edit for Firefox by pHaez * * @return Array with page width, height and window width, height */ getPageSize: function () { var xScroll, yScroll; if ( window.innerHeight && window.scrollMaxY ) { xScroll = document.body.scrollWidth; 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 ( this.innerHeight ) { // all except Explorer windowWidth = this.innerWidth; windowHeight = this.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 var pageHeight, pageWidth; if ( yScroll < windowHeight ) { pageHeight = windowHeight; } else { pageHeight = yScroll; } // for small pages with total width less then width of the viewport if ( xScroll < windowWidth ) { pageWidth = windowWidth; } else { pageWidth = xScroll; } var arrayPageSize = new Array( pageWidth, pageHeight, windowWidth, windowHeight ); return arrayPageSize; }, /** * Pauses code execution for specified time. Uses busy code, not good. * Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602 * * @param numberMillis */ pause: function ( numberMillis ) { var now = new Date(); var exitTime = now.getTime() + numberMillis; while ( true ) { now = new Date(); if ( now.getTime() > exitTime ) { return; } } }, /** * Preloads images. Places new image in lightbox then centers and displays. * * @param objLink */ show: function ( objLink ) { var lb = this; // prepare objects var objOverlay = document.getElementById( 'overlay' ); var objLightbox = document.getElementById( 'lightbox' ); var objImage = document.getElementById( 'lightboxImage' ); var objLightboxText = document.getElementById( 'lightboxText' ); var arrayPageSize = lb.getPageSize(); // var arrayPageScroll = lb.getPageScroll(); objLightboxText.style.display = 'none'; // set height of Overlay to take up whole page and show objOverlay.style.height = ( arrayPageSize[ 1 ] + 'px' ); objOverlay.style.display = 'block'; // preload image var imgPreload = new Image(); imgPreload.onload = function () { objImage.src = objLink.href; // center lightbox and make sure that the top and left values are not negative // and the image placed outside the viewport // var lightboxTop = arrayPageScroll[1] + ( ( arrayPageSize[3] - 35 - imgPreload.height ) / 2 ); // var lightboxLeft = ( ( arrayPageSize[0] - 20 - imgPreload.width ) / 2 ); // objLightbox.style.top = ( lightboxTop < 0 ) ? '0px' : lightboxTop + 'px'; // objLightbox.style.left = ( lightboxLeft < 0 ) ? '0px' : lightboxLeft + 'px'; // A small pause between the image loading and displaying is required with IE, // this prevents the previous image displaying for a short burst causing flicker. if ( navigator.appVersion.indexOf( 'MSIE' ) !== -1 ) { lb.pause( 250 ); } // Hide select boxes as they will 'peek' through the image in IE var selects = document.getElementsByTagName( 'select' ); for ( var i = 0; i !== selects.length; i++ ) { selects[ i ].style.visibility = 'hidden'; } objLightbox.style.display = 'block'; objImage.style.display = 'block'; // After image is loaded, update the overlay height as the new image might have // increased the overall page height. arrayPageSize = lb.getPageSize(); objOverlay.style.height = ( arrayPageSize[ 1 ] + 'px' ); this.onload = function () { return; }; }; imgPreload.src = objLink.href; }, hide: function () { // get objects var objOverlay = document.getElementById( 'overlay' ); var objLightbox = document.getElementById( 'lightbox' ); var objLightBoxImg = document.getElementById( 'lightboxImage' ); // hide lightbox and overlay objOverlay.style.display = 'none'; objLightbox.style.display = 'none'; objLightBoxImg.style.display = 'none'; // make select boxes visible var selects = document.getElementsByTagName( 'select' ); for ( var i = 0; i !== selects.length; i++ ) { selects[ i ].style.visibility = 'visible'; } // disable keypress listener document.onkeypress = ''; }, /** * Function runs on window load, going through link tags looking for rel="lightbox". * These links receive onclick events that enable the lightbox display for their targets. * The function also inserts html markup at the top of the page which will be used as a * container for the overlay pattern and the inline image. */ init: function () { if ( !document.getElementsByTagName ) { return; } var objBody = document.getElementsByTagName( 'body' ).item( 0 ); var lb = this; // create overlay div and hardcode some functional styles // (aesthetic styles are in CSS file) var objOverlay = document.createElement( 'div' ); objOverlay.setAttribute( 'id', 'overlay' ); objOverlay.onclick = function () { lb.hide(); return false; }; objOverlay.style.display = 'none'; objOverlay.style.position = 'absolute'; objOverlay.style.top = '0'; objOverlay.style.left = '0'; objOverlay.style.zIndex = '101'; objOverlay.style.width = '100%'; objBody.insertBefore( objOverlay, objBody.firstChild ); // var arrayPageSize = lb.getPageSize(); // var arrayPageScroll = lb.getPageScroll(); // preload and create loader image // var imgPreloader = new Image(); // create lightbox div, same note about styles as above var objLightbox = document.createElement( 'div' ); objLightbox.setAttribute( 'id', 'lightbox' ); objLightbox.style.display = 'none'; objLightbox.style.position = 'absolute'; objLightbox.style.zIndex = '102'; objBody.insertBefore( objLightbox, objOverlay.nextSibling ); // create lightbox div, same note about styles as above var objLightboxText = document.createElement( 'div' ); objLightboxText.setAttribute( 'id', 'lightboxText' ); objLightboxText.style.display = 'none'; objLightboxText.style.zIndex = '102'; objLightboxText.style.textAlign = 'center'; objLightbox.appendChild( objLightboxText ); // create image var objImage = document.createElement( 'img' ); objImage.setAttribute( 'id', 'lightboxImage' ); objImage.style.display = 'none'; objLightbox.appendChild( objImage ); }, setText: function ( message ) { var lb = this; // prep objects // var objOverlay = document.getElementById( 'overlay' ); var objLightbox = document.getElementById( 'lightbox' ); var objImage = document.getElementById( 'lightboxImage' ); var objLightboxText = document.getElementById( 'lightboxText' ); var arrayPageSize = lb.getPageSize(); var arrayPageScroll = lb.getPageScroll(); objImage.style.display = 'none'; objLightboxText.style.opacity = 0.01; // added objLightbox.style.display = 'block'; objLightboxText.style.display = 'block'; objLightboxText.innerHTML = message; // center lightbox and make sure that the top and left values are not negative // and the image placed outside the viewport var dimensionsObj = lb.getDimensions( objLightboxText ); var lightboxTop = arrayPageScroll[ 1 ] + ( ( arrayPageSize[ 3 ] - 35 - dimensionsObj.height ) / 2 ); var lightboxLeft = ( ( arrayPageSize[ 0 ] - 20 - dimensionsObj.width ) / 2 ); objLightbox.style.top = ( lightboxTop < 0 ) ? '0px' : lightboxTop + 'px'; objLightbox.style.left = ( lightboxLeft < 0 ) ? '0px' : lightboxLeft + 'px'; objLightboxText.style.opacity = 1.00; // added }, /** * This function is from the YUI library. * * @param element The element whose width and height we want to get * @return Array */ getDimensions: function ( element ) { var display = element.style.display; if ( display !== 'none' && display !== null ) { // Safari bug return { width: element.offsetWidth, height: element.offsetHeight }; } // All *Width and *Height properties give 0 on elements with display none, // so enable the element temporarily var els = element.style; var originalVisibility = els.visibility; var originalPosition = els.position; var originalDisplay = els.display; els.visibility = 'hidden'; els.position = 'absolute'; els.display = 'block'; var originalWidth = element.clientWidth; var originalHeight = element.clientHeight; els.display = originalDisplay; els.position = originalPosition; els.visibility = originalVisibility; return { width: originalWidth, height: originalHeight }; } };
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка