/** * hscore - * * @author htmlstream * @version 1.0 */ ; (function ($) { 'use strict'; $.hscore = { /** * * * @param * * @return */ init: function () { $(document).ready(function (e) { // botostrap tootltips $('[data-toggle="tooltip"]').tooltip(); // bootstrap popovers $('[data-toggle="popover"]').popover(); // detect internet explorer (ie) $.hscore.helpers.detectie(); // bootstrap navigation options $.hscore.helpers.bootstrapnavoptions.init(); }); }, /** * * * @var */ components: {}, /** * * * @var */ helpers: { math: { getrandomvaluefromrange: function(startpoint, endpoint, fixed) { var fixedinner = fixed ? fixed : false; math.random(); return fixedinner ? (math.random() * (endpoint - startpoint) + startpoint) : (math.floor(math.random() * (endpoint - startpoint + 1)) + startpoint); } }, /** * detect internet explorer (ie) * * @return version of ie or false, if browser is not internet explorer */ detectie: function() { var ua = window.navigator.useragent; var trident = ua.indexof('trident/'); if (trident > 0) { // ie 11 => return version number var rv = ua.indexof('rv:'); var iev = parseint(ua.substring(rv + 3, ua.indexof('.', rv)), 10); document.queryselector('body').classname += ' ie'; } var edge = ua.indexof('edge/'); if (edge > 0) { // ie 12 (aka edge) => return version number var iev = parseint(ua.substring(edge + 5, ua.indexof('.', edge)), 10); document.queryselector('body').classname += ' ie'; } // other browser return false; }, /** * bootstrap navigation options * */ bootstrapnavoptions: { init: function () { this.mobilehideonscroll(); }, mobilehideonscroll: function () { var $collection = $('.navbar'); if (!$collection.length) return; var $w = $(window), breakpointsmap = { 'sm': 576, 'md': 768, 'lg': 992, 'xl': 1200 }; $('body').on('click.hsmobilehideonscroll', '.navbar-toggler', function (e) { var $navbar = $(this).closest('.navbar'); if ($navbar.length) { $navbar.data('mobile-menu-scroll-position', $w.scrolltop()); } e.preventdefault(); }); $w.on('scroll.hsmobilehideonscroll', function (e) { $collection.each(function (i, el) { var $this = $(el), $toggler, $nav, offset, $hamburgers, breakpoint; if ($this.hasclass('navbar-expand-xl')) breakpoint = breakpointsmap['xl']; else if ($this.hasclass('navbar-expand-lg')) breakpoint = breakpointsmap['lg']; else if ($this.hasclass('navbar-expand-md')) breakpoint = breakpointsmap['md']; else if ($this.hasclass('navbar-expand-xs')) breakpoint = breakpointsmap['xs']; if ($w.width() > breakpoint) return; $toggler = $this.find('.navbar-toggler'); $nav = $this.find('.navbar-collapse'); if (!$nav.data('mobile-scroll-hide')) return; if ($nav.length) { offset = $this.data('mobile-menu-scroll-position'); if (math.abs($w.scrolltop() - offset) > 40 && $nav.hasclass('show')) { $toggler.trigger('click'); $hamburgers = $toggler.find('.is-active'); if ($hamburgers.length) { $hamburgers.removeclass('is-active'); } } } }); }); } } }, /** * * * @var */ settings: { rtl: false } }; $.hscore.init(); })(jquery);