MediaWiki: Common.js: Unterschied zwischen den Versionen
Aus Joachim Camerarius (1500-1574)
Noeth (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Noeth (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 11: | Zeile 11: | ||
$( "#linkResult" ).empty().prepend('<div class="container"><div class="col-md-4"></div><div class="col-md-4"> <a href=' + url + ' class="btn btn-sm drilldown-btn-test victoria-two">Seite besuchen</a></div><div class="col-md-4"></div></div>'); | $( "#linkResult" ).empty().prepend('<div class="container"><div class="col-md-4"></div><div class="col-md-4"> <a href=' + url + ' class="btn btn-sm drilldown-btn-test victoria-two">Seite besuchen</a></div><div class="col-md-4"></div></div>'); | ||
} | } | ||
/***************************/ | |||
/***** Sticky header *******/ | |||
/***************************/ | |||
var stickyHeaders = (function() { | |||
var $window = $(window), | |||
$stickies; | |||
var load = function(stickies) { | |||
if (typeof stickies === "object" && stickies instanceof jQuery && stickies.length > 0) { | |||
$stickies = stickies.each(function() { | |||
var $thisSticky = $(this).wrap('<div class="followWrap" />'); | |||
$thisSticky | |||
.data('originalPosition', $thisSticky.offset().top) | |||
.data('originalHeight', $thisSticky.outerHeight()) | |||
.parent() | |||
.height($thisSticky.outerHeight()); | |||
}); | |||
$window.off("scroll.stickies").on("scroll.stickies", function() { | |||
_whenScrolling(); | |||
}); | |||
} | |||
}; | |||
var _whenScrolling = function() { | |||
$stickies.each(function(i) { | |||
var $thisSticky = $(this), | |||
$stickyPosition = $thisSticky.data('originalPosition'); | |||
if ($stickyPosition <= $window.scrollTop()) { | |||
var $nextSticky = $stickies.eq(i + 1), | |||
$nextStickyPosition = $nextSticky.data('originalPosition') - $thisSticky.data('originalHeight'); | |||
$thisSticky.addClass("fixed"); | |||
if ($nextSticky.length > 0 && $thisSticky.offset().top >= $nextStickyPosition) { | |||
$thisSticky.addClass("absolute").css("top", $nextStickyPosition); | |||
} | |||
} else { | |||
var $prevSticky = $stickies.eq(i - 1); | |||
$thisSticky.removeClass("fixed"); | |||
if ($prevSticky.length > 0 && $window.scrollTop() <= $thisSticky.data('originalPosition') - $thisSticky.data('originalHeight')) { | |||
$prevSticky.removeClass("absolute").removeAttr("style"); | |||
} | |||
} | |||
}); | |||
}; | |||
return { | |||
load: load | |||
}; | |||
})(); | |||
$(function() { | |||
stickyHeaders.load($(".followMeBar")); | |||
}); |
Version vom 20. März 2019, 19:09 Uhr
/* Das folgende JavaScript wird für alle Benutzer geladen. */ $(document).ready(function() { $(".nav li.disabled a").click(function() { return false; }); }); function loadFrame(url){ $( "#result" ).empty().load(url + ' #frameContent,#frameContentInner'); $( "#linkResult" ).empty().prepend('<div class="container"><div class="col-md-4"></div><div class="col-md-4"> <a href=' + url + ' class="btn btn-sm drilldown-btn-test victoria-two">Seite besuchen</a></div><div class="col-md-4"></div></div>'); } /***************************/ /***** Sticky header *******/ /***************************/ var stickyHeaders = (function() { var $window = $(window), $stickies; var load = function(stickies) { if (typeof stickies === "object" && stickies instanceof jQuery && stickies.length > 0) { $stickies = stickies.each(function() { var $thisSticky = $(this).wrap('<div class="followWrap" />'); $thisSticky .data('originalPosition', $thisSticky.offset().top) .data('originalHeight', $thisSticky.outerHeight()) .parent() .height($thisSticky.outerHeight()); }); $window.off("scroll.stickies").on("scroll.stickies", function() { _whenScrolling(); }); } }; var _whenScrolling = function() { $stickies.each(function(i) { var $thisSticky = $(this), $stickyPosition = $thisSticky.data('originalPosition'); if ($stickyPosition <= $window.scrollTop()) { var $nextSticky = $stickies.eq(i + 1), $nextStickyPosition = $nextSticky.data('originalPosition') - $thisSticky.data('originalHeight'); $thisSticky.addClass("fixed"); if ($nextSticky.length > 0 && $thisSticky.offset().top >= $nextStickyPosition) { $thisSticky.addClass("absolute").css("top", $nextStickyPosition); } } else { var $prevSticky = $stickies.eq(i - 1); $thisSticky.removeClass("fixed"); if ($prevSticky.length > 0 && $window.scrollTop() <= $thisSticky.data('originalPosition') - $thisSticky.data('originalHeight')) { $prevSticky.removeClass("absolute").removeAttr("style"); } } }); }; return { load: load }; })(); $(function() { stickyHeaders.load($(".followMeBar")); });