/
githubmirror
/
materialize
Обзор
Документация
Войти
/
githubmirror
/
materialize
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
v0.97.8
js/scrollFire.js
48 строк
1 KB
Chang Alan
scrollfire el callback parameter and transition tweaks
24 апр 2016, 01:20
24 апр 2016, 01:20
e3b8c7f
Код
Авторство
О чём код?
(function($) { // Input: Array of JSON objects {selector, offset, callback} Materialize.scrollFire = function(options) { var didScroll = false; window.addEventListener("scroll", function() { didScroll = true; }); // Rate limit to 100ms setInterval(function() { if(didScroll) { didScroll = false; var windowScroll = window.pageYOffset + window.innerHeight; for (var i = 0 ; i < options.length; i++) { // Get options from each line var value = options[i]; var selector = value.selector, offset = value.offset, callback = value.callback; var currentElement = document.querySelector(selector); if ( currentElement !== null) { var elementOffset = currentElement.getBoundingClientRect().top + window.pageYOffset; if (windowScroll > (elementOffset + offset)) { if (value.done !== true) { if (typeof(callback) === 'function') { callback.call(this, currentElement); } else if (typeof(callback) === 'string') { var callbackFunc = new Function(callback); callbackFunc(currentElement); } value.done = true; } } } } } }, 100); }; })(jQuery);