Server IP : 195.201.23.43 / Your IP : 3.149.236.120 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/kdecoratie/public_html/plugins/content/sigplus/engines/boxplus/caption/js/ |
Upload File : |
/**@license boxplus mouse-over image caption engine * @author Levente Hunyadi * @version 1.4.2 * @remarks Copyright (C) 2009-2010 Levente Hunyadi * @remarks Licensed under GNU/GPLv3, see http://www.gnu.org/licenses/gpl-3.0.html * @see http://hunyadi.info.hu/projects/boxplus **/ /* * boxplus: a lightweight pop-up window engine shipped with sigplus * Copyright 2009-2010 Levente Hunyadi * * boxplus is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * boxplus is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with boxplus. If not, see <http://www.gnu.org/licenses/>. */ if (typeof(__jQuery__) == 'undefined') { var __jQuery__ = jQuery; } (function ($) { /** * Returns the URL of of a high-resolution image version. * @return A well-formed URL, or false. */ function _getImageDownloadUrl(image) { var anchor = image.parent('a'); return anchor.size() ? anchor.attr('href') : false; } function _getCaption(image) { return image.attr('alt'); // image caption text (if any) } /** * Adds a mouse-over image caption to a single image. */ $.fn.boxplusCaption = function (settings) { // default configuration properties var defaults = { position: 'overlay', // caption position: ['overlay'|'figure'] download: _getImageDownloadUrl, // function that returns URL to high-resolution image version, or false caption: _getCaption, // function that returns the text that belongs an image metadata: false, // function that returns the image metadata DOM node, or false dialog: false // function that binds metadata icon to metadata dialog }; settings = $.extend(defaults, settings); settings = $.extend({ alwaysOnTop: settings.position == 'figure' // whether to keep captions on screen even after mouse pointer leaves image bounds }, settings); var image = this; var imagetext = settings.caption(image), download = settings.download, metadata = settings.metadata, dialog = settings.dialog; var url = download && download(image), // url is assigned a URL, or false meta = metadata && metadata(image); // meta is assigned a DOM node wrapped in a jQuery object, or false var showButtons = url || meta; if (!imagetext && !showButtons) { return this; // nothing to show in caption } var isFigureCaption = settings.position == 'figure'; var sibling = image.parent('a').size() ? image.parent() : image; // prevent tooltip text from being displayed when mouse cursor is moved over image image.attr('title', ''); // Internet Explorer var title = sibling.attr('title'); // save "title" attribute value sibling.hover( // other browsers function () { sibling.removeAttr('title'); }, function () { sibling.attr('title', title); } ); var container = $('<div class="boxplus-container" />').insertAfter(sibling); var caption = $('<div class="boxplus-imagecaption boxplus-hidden"></div>').addClass(isFigureCaption ? 'boxplus-figurecaption' : 'boxplus-overlaycaption').appendTo(container).html(imagetext); if (showButtons) { var buttons = $('<div class="boxplus-buttons" />'); if (url) { $('<div class="boxplus-download" />').appendTo(buttons).click(function () { window.location.href = url; return false; // prevent event propagation }); } if (meta && dialog) { dialog($('<div class="boxplus-metadata" />').appendTo(buttons), image); } caption.append(buttons); } var parent = container.parent().mouseenter(function () { var off = image.offset(); container.css({ width: image.outerWidth(), height: image.outerHeight() }).offset(off).offset(off); // offset takes border and padding into account but not margin, must be repeated for IE caption.removeClass('boxplus-hidden'); }); if (!settings.alwaysOnTop) { parent.mouseleave(function () { caption.addClass('boxplus-hidden'); }); } parent.mouseenter().mouseleave(); return this; // support chaining } /** * Adds a mouse-over image caption to all images in a gallery. * A gallery is assumed to be an ordered or unordered list (ol or ul), where the first image * (img) in each list item (li) is the image to tag with a caption. */ $.fn.boxplusCaptionGallery = function (settings) { $('li img:first-child', this).each(function () { $(this).boxplusCaption(settings); }); return this; // support chaining } })(__jQuery__);Private