Server IP : 103.119.228.120 / Your IP : 18.191.215.30 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/softaculous/sitepad/editor/site-data/plugins/kkart-pro/assets/js/zoom/ |
Upload File : |
/*! Zoom 1.7.21 license: MIT http://www.jacklmoore.com/zoom */ (function ($) { var defaults = { url: false, callback: false, target: false, duration: 120, on: 'mouseover', // other options: grab, click, toggle touch: true, // enables a touch fallback onZoomIn: false, onZoomOut: false, magnify: 1 }; // Core Zoom Logic, independent of event listeners. $.zoom = function(target, source, img, magnify) { var targetHeight, targetWidth, sourceHeight, sourceWidth, xRatio, yRatio, offset, $target = $(target), position = $target.css('position'), $source = $(source); // The parent element needs positioning so that the zoomed element can be correctly positioned within. target.style.position = /(absolute|fixed)/.test(position) ? position : 'relative'; target.style.overflow = 'hidden'; img.style.width = img.style.height = ''; $(img) .addClass('zoomImg') .css({ position: 'absolute', top: 0, left: 0, opacity: 0, width: img.width * magnify, height: img.height * magnify, border: 'none', maxWidth: 'none', maxHeight: 'none' }) .appendTo(target); return { init: function() { targetWidth = $target.outerWidth(); targetHeight = $target.outerHeight(); if (source === target) { sourceWidth = targetWidth; sourceHeight = targetHeight; } else { sourceWidth = $source.outerWidth(); sourceHeight = $source.outerHeight(); } xRatio = (img.width - targetWidth) / sourceWidth; yRatio = (img.height - targetHeight) / sourceHeight; offset = $source.offset(); }, move: function (e) { var left = (e.pageX - offset.left), top = (e.pageY - offset.top); top = Math.max(Math.min(top, sourceHeight), 0); left = Math.max(Math.min(left, sourceWidth), 0); img.style.left = (left * -xRatio) + 'px'; img.style.top = (top * -yRatio) + 'px'; } }; }; $.fn.zoom = function (options) { return this.each(function () { var settings = $.extend({}, defaults, options || {}), //target will display the zoomed image target = settings.target && $(settings.target)[0] || this, //source will provide zoom location info (thumbnail) source = this, $source = $(source), img = document.createElement('img'), $img = $(img), mousemove = 'mousemove.zoom', clicked = false, touched = false; // If a url wasn't specified, look for an image element. if (!settings.url) { var srcElement = source.querySelector('img'); if (srcElement) { settings.url = srcElement.getAttribute('data-src') || srcElement.currentSrc || srcElement.src; settings.alt = srcElement.getAttribute('data-alt') || srcElement.alt; } if (!settings.url) { return; } } $source.one('zoom.destroy', function(position, overflow){ $source.off(".zoom"); target.style.position = position; target.style.overflow = overflow; img.onload = null; $img.remove(); }.bind(this, target.style.position, target.style.overflow)); img.onload = function () { var zoom = $.zoom(target, source, img, settings.magnify); function start(e) { zoom.init(); zoom.move(e); // Skip the fade-in for IE8 and lower since it chokes on fading-in // and changing position based on mousemovement at the same time. $img.stop() .fadeTo($.support.opacity ? settings.duration : 0, 1, $.isFunction(settings.onZoomIn) ? settings.onZoomIn.call(img) : false); } function stop() { $img.stop() .fadeTo(settings.duration, 0, $.isFunction(settings.onZoomOut) ? settings.onZoomOut.call(img) : false); } // Mouse events if (settings.on === 'grab') { $source .on('mousedown.zoom', function (e) { if (e.which === 1) { $(document).one('mouseup.zoom', function () { stop(); $(document).off(mousemove, zoom.move); } ); start(e); $(document).on(mousemove, zoom.move); e.preventDefault(); } } ); } else if (settings.on === 'click') { $source.on('click.zoom', function (e) { if (clicked) { // bubble the event up to the document to trigger the unbind. return; } else { clicked = true; start(e); $(document).on(mousemove, zoom.move); $(document).one('click.zoom', function () { stop(); clicked = false; $(document).off(mousemove, zoom.move); } ); return false; } } ); } else if (settings.on === 'toggle') { $source.on('click.zoom', function (e) { if (clicked) { stop(); } else { start(e); } clicked = !clicked; } ); } else if (settings.on === 'mouseover') { zoom.init(); // Preemptively call init because IE7 will fire the mousemove handler before the hover handler. $source .on('mouseenter.zoom', start) .on('mouseleave.zoom', stop) .on(mousemove, zoom.move); } // Touch fallback if (settings.touch) { $source .on('touchstart.zoom', function (e) { e.preventDefault(); if (touched) { touched = false; stop(); } else { touched = true; start( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] ); } }) .on('touchmove.zoom', function (e) { e.preventDefault(); zoom.move( e.originalEvent.touches[0] || e.originalEvent.changedTouches[0] ); }) .on('touchend.zoom', function (e) { e.preventDefault(); if (touched) { touched = false; stop(); } }); } if ($.isFunction(settings.callback)) { settings.callback.call(img); } }; img.setAttribute('role', 'presentation'); img.alt = settings.alt || ''; img.src = settings.url; }); }; $.fn.zoom.defaults = defaults; }(window.jQuery));