Server IP : 103.191.208.50 / Your IP : 216.73.216.53 Web Server : LiteSpeed System : Linux orion.herosite.pro 4.18.0-553.53.1.lve.el8.x86_64 #1 SMP Wed May 28 17:01:02 UTC 2025 x86_64 User : celkcksm ( 1031) PHP Version : 7.4.33 Disable Function : show_source, system, shell_exec, passthru, popen, exec MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/celkcksm/demo.ncriptech.com/resturant/demo2/assets/js/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
/* ==================================================== * jQuery Is In Viewport. * https://github.com/frontid/jQueryIsInViewport * Marcelo Iván Tosco (capynet) * Inspired on https://stackoverflow.com/a/40658647/1413049 * ==================================================== */ ! function($) { 'use strict' var Class = function(el, cb) { this.$el = $(el); this.cb = cb; this.watch(); return this; }; Class.prototype = { /** * Checks if the element is in. * * @returns {boolean} */ isIn: function isIn() { var _self = this; var $win = $(window); var elementTop = _self.$el.offset().top; var elementBottom = elementTop + _self.$el.outerHeight(); var viewportTop = $win.scrollTop(); var viewportBottom = viewportTop + $win.height(); return elementBottom > viewportTop && elementTop < viewportBottom; }, /** * Launch a callback indicating when the element is in and when is out. */ watch: function() { var _self = this; var _isIn = false; $(window).on('resize scroll', function() { if (_self.isIn() && _isIn === false) { _self.cb.call(_self.$el, 'entered'); _isIn = true; } if (_isIn === true && !_self.isIn()) { _self.cb.call(_self.$el, 'leaved'); _isIn = false; } }) } }; // jQuery plugin. //----------------------------------------------------------- $.fn.isInViewport = function(cb) { return this.each(function() { var $element = $(this); var data = $element.data('isInViewport'); if (!data) { $element.data('isInViewport', (new Class(this, cb))); } }) } }(window.jQuery);