芝麻web文件管理V1.00
编辑当前文件:/var/www/cognitio.in/wp-content/plugins/Ultimate_VC_Addons/assets/js/easy-ticker.js
/* * jQuery - Easy Ticker plugin - v3.2.1 * https://www.aakashweb.com/ * Copyright 2021, Aakash Chakravarthy * Released under the MIT License. */ ;(function ($, window, document, undefined) { var name = "easyTicker", defaults = { direction: 'up', easing: 'swing', speed: 'slow', interval: 2000, height: 'auto', visible: 0, mousePause: true, controls: { up: '', down: '', toggle: '', playText: 'Play', stopText: 'Stop' }, callbacks: { before: false, after: false } }; // Constructor function EasyTicker(el, options) { var s = this; s.opts = $.extend({}, defaults, options); s.elem = $(el); s.targ = $(el).children(':first-child'); s.timer = 0; init(); start(); tabFocusHandle(); if(s.opts.mousePause){ s.elem.on('mouseenter', function(){ s.timerTemp = s.timer; stop(); }).on('mouseleave', function(){ if(s.timerTemp !== 0) start(); }); } $(s.opts.controls.up).on('click', function(e){ e.preventDefault(); moveDir('up'); }); $(s.opts.controls.down).on('click', function(e){ e.preventDefault(); moveDir('down'); }); $(s.opts.controls.toggle).on('click', function(e){ e.preventDefault(); if(s.timer == 0) start(); else stop(); }); function init(){ s.elem.children().css('margin', 0).children().css('margin', 0); s.elem.css({ position: 'relative', height: s.opts.height, overflow: 'hidden' }); s.targ.css({ 'position': 'absolute', 'margin': 0 }); s.heightTimer = setInterval(function(){ adjustHeight(false); }, 100); } function start(){ if(s.timer != 0) return; s.timer = setInterval(function(){ move(s.opts.direction); }, s.opts.interval); $(s.opts.controls.toggle).addClass('et-run').html(s.opts.controls.stopText); } function stop(){ clearInterval(s.timer); s.timer = 0; $(s.opts.controls.toggle).removeClass('et-run').html(s.opts.controls.playText); } function move(dir){ var sel, eq, appType; if(!s.elem.is(':visible')) return; if(dir == 'up'){ sel = ':first-child'; eq = '-='; appType = 'appendTo'; }else{ sel = ':last-child'; eq = '+='; appType = 'prependTo'; } var selChild = s.targ.children(sel); var height = selChild.outerHeight(); if(typeof s.opts.callbacks.before === 'function'){ s.opts.callbacks.before.call(s, s.targ, selChild); } s.targ.stop(true, true).animate({ 'top': eq + height + 'px' }, s.opts.speed, s.opts.easing, function(){ selChild.hide()[appType](s.targ).fadeIn(); s.targ.css('top', 0); adjustHeight(true); if(typeof s.opts.callbacks.after === 'function'){ s.opts.callbacks.after.call(s, s.targ, selChild); } }); } function moveDir(dir){ stop(); if(dir == 'up') move('up'); else move('down'); // start(); } function setFullHeight(){ var height = 0; var tempDisplay = s.elem.css('display'); // Get the current el display value s.elem.css('display', 'block'); s.targ.children().each(function(){ height += $(this).outerHeight(); }); s.elem.css({ 'display': tempDisplay, 'height': height }); } function setVisibleHeight(animate){ var wrapHeight = 0; var visibleItemClass = 'et-item-visible'; s.targ.children().removeClass(visibleItemClass); s.targ.children(':lt(' + s.opts.visible + ')').each(function(){ wrapHeight += $(this).outerHeight(); $(this).addClass(visibleItemClass); }); if(animate){ s.elem.stop(true, true).animate({height: wrapHeight}, s.opts.speed); }else{ s.elem.css('height', wrapHeight); } } function adjustHeight(animate){ if(s.opts.height == 'auto'){ if(s.opts.visible > 0){ setVisibleHeight(animate); }else{ setFullHeight(); } } if(!animate){ clearInterval(s.heightTimer); } } function tabFocusHandle(){ var hidden, visibilityChange; if(typeof document.hidden !== 'undefined'){ hidden = 'hidden'; visibilityChange = 'visibilitychange'; }else if (typeof document.msHidden !== 'undefined'){ hidden = 'msHidden'; visibilityChange = 'msvisibilitychange'; }else if (typeof document.webkitHidden !== 'undefined'){ hidden = 'webkitHidden'; visibilityChange = 'webkitvisibilitychange'; } document.addEventListener(visibilityChange, function(){ if(document[hidden]){ stop(); }else{ start(); } }, false); } return { up: function(){ moveDir('up'); }, down: function(){ moveDir('down'); }, start: start, stop: stop, options: s.opts }; } // Attach the object to the DOM $.fn[name] = function(options) { return this.each(function () { if (!$.data(this, name)) { $.data(this, name, new EasyTicker(this, options)); } }); }; })(jQuery, window, document);