PageSourceSearch

http://nophoto.org/js/jquery.appear.js?0-49-20170206

js nophoto.org collected 2026-10-02 13:21:29 UTC 2,781 bytes, 108 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.3
10 */
11(function($) {
12  var selectors = [];
13
14  var check_binded = false;
15  var check_lock = false;
16  var defaults = {
17    interval: 0, //250,
18    force_process: false,
19	//mios
20	appear_top_offset: $('body').is('.telefono') ? 2000 : 1000, //1000,
21	appear_left_offset: $('body').is('.telefono') ? 2000 : 1000, //1000,
22	//appear_top_offset: 1000,
23	//appear_left_offset: 1000,
24  }
25  var $window = $(window);
26
27  var $prior_appeared;
28
29  function process() {
30    check_lock = false;
31    for (var index = 0; index < selectors.length; index++) {
32      var $appeared = $(selectors[index]).filter(function() {
33        return $(this).is(':appeared');
34      });
35
36      $appeared.trigger('appear', [$appeared]);
37
38      if ($prior_appeared) {
39        var $disappeared = $prior_appeared.not($appeared);
40        $disappeared.trigger('disappear', [$disappeared]);
41      }
42      $prior_appeared = $appeared;
43    }
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    if (top + $element.height() >= window_top &&
59        //top - ($element.data('appear-top-offset') || 0) <= window_top + $window.height() &&
60		top - (defaults.appear_top_offset) <= window_top + $window.height() &&
61        left + $element.width() >= window_left &&
62        //left - ($element.data('appear-left-offset') || 0) <= window_left + $window.width()) {
63		left - (defaults.appear_left_offset) <= window_left + $window.width()) {
64      return true;
65    } else {
66      return false;
67    }
68  }
69
70  $.fn.extend({
71    // watching for element's appearance in browser viewport
72    appear: function(options) {
73      var opts = $.extend({}, defaults, options || {});
74      var selector = this.selector || this;
75      if (!check_binded) {
76        var on_check = function() {
77          if (check_lock) {
78            return;
79          }
80          check_lock = true;
81
82          setTimeout(process, opts.interval);
83        };
84
85        $(window).scroll(on_check).resize(on_check);
86		
87        check_binded = true;
88      }
89
90      if (opts.force_process) {
91        setTimeout(process, opts.interval);
92      }
93      selectors.push(selector);
94      return $(selector);
95    }
96  });
97
98  $.extend({
99    // force elements's appearance check
100    force_appear: function() {
101      if (check_binded) {
102        process();
103        return true;
104      };
105      return false;
106    }
107  });
108})(jQuery);

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.