PageSourceSearch

https://www.financial-spread-betting.com/wp-content/plugins/wp-review-pro/public/js/jquery.appear.js?ver=1.1

js financial-spread-betting.com collected 2026-10-02 06:34:27 UTC 2,717 bytes, 113 lines download raw bytes

1/*
2 * jQuery appear plugin
3 *
4 * Copyright (c) 2012 Andrey Sidorov
5 * licensed under MIT license.
6 *
7 * https://github.com/morr/jquery.appear/
8 *
9 * Version: 0.3.6
10 */
11(function($) {
12  var selectors = [];
13
14  var check_binded = false;
15  var check_lock = false;
16  var defaults = {
17    interval: 250,
18    force_process: false
19  };
20  var $window = $(window);
21
22  var $prior_appeared = [];
23
24  function process() {
25    check_lock = false;
26    for (var index = 0, selectorsLength = selectors.length; index < selectorsLength; index++) {
27      var $appeared = $(selectors[index]).filter(function() {
28        return $(this).is(':appeared');
29      });
30
31      $appeared.trigger('wpr_appear', [$appeared]);
32
33      if ($prior_appeared[index]) {
34        var $disappeared = $prior_appeared[index].not($appeared);
35        $disappeared.trigger('wpr_disappear', [$disappeared]);
36      }
37      $prior_appeared[index] = $appeared;
38    }
39  };
40
41  function add_selector(selector) {
42    selectors.push(selector);
43    $prior_appeared.push();
44  }
45
46  // "appeared" custom filter
47  $.expr[':']['appeared'] = function(element) {
48    var $element = $(element);
49    if (!$element.is(':visible')) {
50      return false;
51    }
52
53    var window_left = $window.scrollLeft();
54    var window_top = $window.scrollTop();
55    var offset = $element.offset();
56    var left = offset.left;
57    var top = offset.top;
58
59    if (top + $element.height() >= window_top &&
60        top - ($element.data('appear-top-offset') || 0) <= window_top + $window.height() &&
61        left + $element.width() >= window_left &&
62        left - ($element.data('appear-left-offset') || 0) <= window_left + $window.width()) {
63      return true;
64    } else {
65      return false;
66    }
67  };
68
69  $.fn.extend({
70    // watching for element's appearance in browser viewport
71    wpr_appear: function(options) {
72      var opts = $.extend({}, defaults, options || {});
73      var selector = this.selector || this;
74      if (!check_binded) {
75        var on_check = function() {
76          if (check_lock) {
77            return;
78          }
79          check_lock = true;
80
81          setTimeout(process, opts.interval);
82        };
83
84        $(window).scroll(on_check).resize(on_check);
85        check_binded = true;
86      }
87
88      if (opts.force_process) {
89        setTimeout(process, opts.interval);
90      }
91      add_selector(selector);
92      return $(selector);
93    }
94  });
95
96  $.extend({
97    // force elements's appearance check
98    wpr_force_appear: function() {
99      if (check_binded) {
100        process();
101        return true;
102      }
103      return false;
104    }
105  });
106})(function() {
107  if (typeof module !== 'undefined') {
108    // Node
109    return require('jquery');
110  } else {
111    return jQuery;
112  }
113}());

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.