Det’ for børn

Junior Bagedyst Struer: Kagepyntningskonkurrence for børn

Bag og pynt den sjoveste, flotteste, mest fantasifulde kage du kan komme i tanke om – alle slags kager er…

Læs mere »

Overflødighedshorn af aktiviteter hen over sommeren i Kildeparken

For første gang nogensinde bliver sommeren 2021 i juni og juli et væld af forskellige aktiviteter i Kildeparken samlet under…

Læs mere »

THORNING: Snit en træmand til Emil fra Lønneberg

I disse tider, hvor planlægning er sat lidt på stand by, er der heldigvis én ting, der er helt sikker:…

Læs mere »

Lise Rønne bliver vært på ‘X Factor – live’

Når ‘X Factor’ går live fra fredag 26. februar på TV 2 PLAY og TV 2, bliver det med Lise…

Læs mere »

Julen kickstartes på bedste vis på Nørrebro Teater

I en spændende opsætning,af Charles Dickens klassiker,der er krydret med masser af humor og corona-parat næstekærlighed,sættes julen igang på Nørrebro…

Læs mere »

Nu forstår jeg…

  Politik for begyndere. 123 sider. Gyldendal. Anmeldt af Malthe Møller, 12 år. Jeg synes, det er fedt, at det…

Læs mere »

Uha da da, så slem han var

  … og Astrid Lindgrens udgave af sådan en elskelig skarnsknægt, er fortolket et utal af gange, siden han så…

Læs mere »

Man må ikke sove i (midnats)timen…

Mange forældre sukker længselsfuldt efter litteratur, børnene selv kan læse. Altså, bøger de gider læse, fordi de er skrevet i…

Læs mere »

Rebeller (ud)kommer…

Bogen her er tilegnet rebelske piger, men med tidsånd og tusch kan man jo ændre det lille ’for’ til et…

Læs mere »

“2040 we didn`t make it…” er total-underholdning til sidste blodsdråbe

Det er tusmørke udenfor, og vi bevæger os fra rum til rum på jagt efter bogstaver… Alle antenner er ude…

Læs mere »
Back to top button
ANNONCE
/* Sticky for a second top ad script*/ ;(function () { var last_known_scroll_position = 0; var ticking = false; var floatingClass = 'js-floating'; var onTop = true; var floaters = []; var raf = (function(){ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(callback){ window.setTimeout(callback, 1000 / 60) }; })(); function Floater(element) { this.element = element; this.ghost = null; this.isFloat = false; this.static_pos = null; this.headerHeight = 60; } Floater.prototype.shouldBeStatic = function(scroll_pos) { return scroll_pos < this.static_pos; } Floater.prototype.shouldBeFloating = function() { var boundingRect = this.element.getBoundingClientRect(); return boundingRect.top <= this.headerHeight; } Floater.prototype.switchToFloating = function(scroll_pos) { var boundingRect = this.element.getBoundingClientRect(); this.ghost = createGhost(this.element); this.isFloat = true; this.element.style.top = this.headerHeight + 'px'; this.element.style.width = this.element.offsetWidth + 'px'; this.element.style.zIndex = '10000'; // set orig to be fixed this.element.style.position = 'fixed'; // set orig to be fixed this.ghost.style.width = boundingRect.width + 'px'; this.ghost.style.height = boundingRect.height + 'px'; this.ghost.style.display = 'block'; // set ghost to be visible this.static_pos = scroll_pos; this.element.classList.add(floatingClass); } Floater.prototype.switchToStatic = function(scroll_pos) { this.isFloat = false; this.static_pos = null; this.element.style.width = 'auto'; this.element.style.position = 'static'; // set orig to be fixed this.element.style.width = 'auto'; if (this.ghost) { this.ghost.style.display = 'none'; // set ghost to be visible this.ghost.remove(); } this.element.classList.remove(floatingClass); } function initFloaters() { var elements = []; var leftSticky = document.getElementById('div-gpt-ad-sticky_1'); var rightSticky = document.getElementById('div-gpt-ad-sticky_2'); if (leftSticky) elements.push(leftSticky); if (rightSticky) elements.push(rightSticky); // var elements = Array.prototype.slice.call(document.querySelectorAll('.js-float-on-scroll')); floaters = elements.map(function(element) { return new Floater(element); }) } function createGhost(el) { var parent = el.parentNode; var ghost = document.createElement('div'); ghost.style.display = 'none'; parent.insertBefore(ghost, el); return ghost; } function testFloaters(scroll_pos) { for(var i = 0; i < floaters.length; i++) { var floatData = floaters[i]; if(floatData.isFloat) { floatData.shouldBeStatic(scroll_pos) && floatData.switchToStatic(scroll_pos); } else { floatData.shouldBeFloating() && floatData.switchToFloating(scroll_pos); } } } function throttle(func, limit) { var inThrottle; return function () { var args = arguments; var context = this; if (!inThrottle) { func.apply(context, args); inThrottle = true; setTimeout(function() { inThrottle = false }, limit); } } } function update(scroll_pos) { testFloaters(scroll_pos) } function init() { window.addEventListener('scroll', throttle(function(e) { if (last_known_scroll_position === window.scrollY) return; last_known_scroll_position = window.scrollY; if (!ticking) { raf(function() { update(last_known_scroll_position); ticking = false; }); ticking = true; } }, 25)); initFloaters(); } window.addEventListener('DOMContentLoaded', function (event){ init(); }); }());