Vor ein paar Monaten habe ich auf meiner Seite sowas eingebaut und auch ein TuT dazu verfasst.
Das Poste ich doch mal frech 1:1:
Mit dieser kleinen JavaScript/jQuery-Funktion lässt sich der Website-Header (oder ein beliebiges anderes HTML-Element) beim scrollen über eine bestimmte Position dynamisch mit einer .sticky CSS-Klasse versehen und dann per CSS beliebig anpassen.
In unserem Fall ist es die Panel Leiste (Benutzer, Moderator oder Admin-CP). Somit hat man beim scrollen die Leiste am oberen Bildschirmrand im Blick.
Man benötigt dafür ein paar Zeilen JavaScript/jQuery und eine zusätzliche Klasse in der jeweiligen CSS.
füge in der
Templates & Style -> Templates -> dein Style -> Templates ohne Gruppe -> headerinclude ganz unten ein:
Code:
<script type="text/javascript">
jQuery(document).ready(function($) {
function sticky() {
var window_top = $(window).scrollTop();
var top_position = $('body').offset().top;
var element_to_stick = $('#panel');
if (window_top > top_position) {
element_to_stick.addClass('sticky');
} else {
element_to_stick.removeClass('sticky');
}
}
$(window).scroll(sticky);
sticky();
});
</script>
Nutzt ihr MyBB 1.6 kann es sein das ihr ein jQuery.noConflict(); in den obigen Code einbauen müsst damit sich verschiedene JavaScript Frameworks wie Prototype und jQuery nicht in die Quere kommen. Weitere Informationen zu jQuery.noConflict(); findet ihr
hier.
Habt ihr bereits MyBB 1.8 am laufen, benötigt ihr kein jQuery.noConflict(); da MyBB 1.8 bereits jQuery nutzt.
Nun brauchen wir noch die erwähnten Zeilen CSS Code damit das Panel auch immer oben angezeigt wird.
füge in der
Templates & Style -> Themes -> dein Style -> global.css ganz unten ein:
Code:
#panel.sticky
{
position: fixed;
top: 0;
left: 0;
width: 100%;
}
Habt ihr alles richtig eingebaut, wird euch ab sofort das Panel sobald ihr etwas nach unten scrollt in eurem Forum, immer oben angezeigt.
Ihr könnt die CSS Klasse weiter editieren z.b. mit einem z-index (habe ich hier gemacht da sonst das Youtube Filmchen in der Leiste wäre.)
oder auch font-size, background usw.