(function ($) { /** * @param {object} _options */ $.fn.loadMoreNews = function (_options) { var nextPage = 2; var isLoading = false; var page = 1; var options = { loadingElementId: '#loading', container: '', url: document.location.pathname }; $.extend(options, _options); var $isLoading = $(options.loadingElementId, this); $isLoading.hide(); this.click(function (e) { e.preventDefault(); if (!isLoading) { // Set flag and update UI isLoading = 1; $isLoading.show(); var $button = $(this).attr("disabled", "disabled"); var $container = $(options.container) // Fire request for the next page $.ajax({url: options.url + (options.url.indexOf('?') >= 0 ? '&' : '?') + 'pagina=' + nextPage}) .always(function () { // Whether success or failure, update the UI again isLoading = 0; $isLoading.hide(); $button.removeAttr("disabled"); }) .done(function (data) { if (!data) { // When no data was returned, disable the button permanently page = -1; $button.attr("disabled", "disabled").text("Geen nieuws meer."); return; } $container.each(function () { var id = this.toString(); $(id).append($('
'+data+'
').find(id).length ? $('
'+data+'
').find(id).children() : $(data)); }); ++nextPage; }); } }); }; }(jQuery)); $(function () { $('[data-loadmorenews]').each(function () { $(this).loadMoreNews($(this).data('loadmorenews')); }); }); (function ($) { /** * @param {object} _options */ $.fn.menu = function (_options) { var options = { menuSubmenuClass: 'has_submenu' }; $.extend(options, _options); var $menus = $(this).children('.' + options.menuSubmenuClass); var $container = $(this); $menus.on( "mouseenter", function () { var $menuItem = $(this); $('.menu-submenu > ul.submenu').slideUp(400, function(){$(this).closest('.menu-submenu').remove()}); $('.hover', $container).removeClass('hover'); $menuItem.addClass('hover'); var submenu = $('
').append($menuItem.children('ul.submenu').clone()); var pos = $menuItem.offset(); submenu.addClass('menu-submenu').css({top: pos.top, left: pos.left}); submenu.on( "mouseleave", function(){ $('.menu-submenu > ul.submenu').slideUp(400, function(){$(this).closest('.menu-submenu').remove()}); $menuItem.removeClass('hover'); } ); $('body').append(submenu); submenu.children('ul.submenu').slideDown(); submenu.find('ul.submenu li.has_submenu').click(function(){ $(this).find('ul.submenu').slideToggle(); $(this).toggleClass('opened'); }); openPlayerInNewScreen(); }); }; }(jQuery)); $(function () { $('.menu, .mobile-menu').menu({}); }); (function ($) { /** * @param {object} _options */ $.fn.tabs = function (_options) { var options = { tabClass: 'box_header', activeClass: 'active', contentClass: 'tab_content' }; $.extend(options, _options); var $tabs = $(this).find('.' + options.tabClass); var $container = $(this); $tabs.click(function (e) { e.preventDefault(); $tabs.removeClass(options.activeClass); $container.find('.' + options.contentClass).removeClass(options.activeClass); $container.find('#' + $(this).data('tab-content-id')).addClass(options.activeClass); $(this).addClass(options.activeClass); }); }; }(jQuery)); $(function () { $('[data-tabs]').each(function () { $(this).tabs($(this).data('tabs') ?? {}); }); });