Skip to content

Instantly share code, notes, and snippets.

@gunjanpatel
Last active June 12, 2023 01:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gunjanpatel/6398339f60afdf66a6e73d37ce225445 to your computer and use it in GitHub Desktop.
Save gunjanpatel/6398339f60afdf66a6e73d37ce225445 to your computer and use it in GitHub Desktop.
JQuery plugin to observe appearance of the element. Intersection observer using jquery.
(function ($) {
"use strict";
$.fn.appearanceObserver = function (options) {
let defaults = {
onAppeared: function () {
},
onDisappeared: function () {
},
};
let settings = $.extend({}, defaults, options),
observe = this,
observeTopOffset = observe.offset().top,
observeHeight = observe.outerHeight(),
windowHeight = $(window).height(),
windowScrollTop = $(window).scrollTop(),
observeTop = (observeTopOffset + observeHeight - windowHeight);
if (windowScrollTop > observeTop && observeTopOffset < windowScrollTop) {
settings.onDisappeared.call();
} else {
settings.onAppeared.call();
}
return this;
};
}(jQuery));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment