HEX
Server: LiteSpeed
System: Linux venus 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: axxoncom (1007)
PHP: 8.3.19
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/axxoncom/domains/pulse.com.pk/private_html/wp-content/plugins/borderless/assets/lib/appear.js
/*
 * jQuery.appear
 * https://github.com/bas2k/jquery.appear/
 * http://code.google.com/p/jquery-appear/
 * http://bas2k.ru/
 *
 * Copyright (c) 2009 Michael Hixson
 * Copyright (c) 2012-2014 Alexander Brovikov
 * Licensed under the MIT license (http://www.opensource.org/licenses/mit-license.php)
 */
(function($) {
  $.fn.appear = function(fn, options) {

      var settings = $.extend({

          //arbitrary data to pass to fn
          data: undefined,

          //call fn only on the first appear?
          one: true,

          // X & Y accuracy
          accX: 0,
          accY: 0

      }, options);

      return this.each(function() {

          var t = $(this);

          //whether the element is currently visible
          t.appeared = false;

          if (!fn) {

              //trigger the custom event
              t.trigger('appear', settings.data);
              return;
          }

          var w = $(window);

          //fires the appear event when appropriate
          var check = function() {

              //is the element hidden?
              if (!t.is(':visible')) {

                  //it became hidden
                  t.appeared = false;
                  return;
              }

              //is the element inside the visible window?
              var a = w.scrollLeft();
              var b = w.scrollTop();
              var o = t.offset();
              var x = o.left;
              var y = o.top;

              var ax = settings.accX;
              var ay = settings.accY;
              var th = t.height();
              var wh = w.height();
              var tw = t.width();
              var ww = w.width();

              if (y + th + ay >= b &&
                  y <= b + wh + ay &&
                  x + tw + ax >= a &&
                  x <= a + ww + ax) {

                  //trigger the custom event
                  if (!t.appeared) t.trigger('appear', settings.data);

              } else {

                  //it scrolled out of view
                  t.appeared = false;
              }
          };

          //create a modified fn with some additional logic
          var modifiedFn = function() {

              //mark the element as visible
              t.appeared = true;

              //is this supposed to happen only once?
              if (settings.one) {

                  //remove the check
                  w.unbind('scroll', check);
                  var i = $.inArray(check, $.fn.appear.checks);
                  if (i >= 0) $.fn.appear.checks.splice(i, 1);
              }

              //trigger the original fn
              fn.apply(this, arguments);
          };

          //bind the modified fn to the element
          if (settings.one) t.one('appear', settings.data, modifiedFn);
          else t.bind('appear', settings.data, modifiedFn);

          //check whenever the window scrolls
          w.scroll(check);

          //check whenever the dom changes
          $.fn.appear.checks.push(check);

          //check now
          (check)();
      });
  };

  //keep a queue of appearance checks
  $.extend($.fn.appear, {

      checks: [],
      timeout: null,

      //process the queue
      checkAll: function() {
          var length = $.fn.appear.checks.length;
          if (length > 0) while (length--) ($.fn.appear.checks[length])();
      },

      //check the queue asynchronously
      run: function() {
          if ($.fn.appear.timeout) clearTimeout($.fn.appear.timeout);
          $.fn.appear.timeout = setTimeout($.fn.appear.checkAll, 20);
      }
  });

  //run checks when these methods are called
  $.each(['append', 'prepend', 'after', 'before', 'attr',
      'removeAttr', 'addClass', 'removeClass', 'toggleClass',
      'remove', 'css', 'show', 'hide'], function(i, n) {
      var old = $.fn[n];
      if (old) {
          $.fn[n] = function() {
              var r = old.apply(this, arguments);
              $.fn.appear.run();
              return r;
          }
      }
  });

})(jQuery);