Häufig stellt sich das Problem, dass man auf einer SharePoint Seite mehr Informationen ohne scrollen darstellen möchte und deshalb der Kopfbereich zu viel Platz wegnimmt. Der folgende Beitrag zeigt, wie wir im Prinzip beliebige Bereiche dynamisch mit Hilfe von JavaScript ein- und ausschalten können. Es erfolgt keine! Änderungen an der Masterpage in dem Sinne, dass Placeholder oder Komponenten entfernt würden.
Schauen wir uns zunächst den Bildschirm mit und ohne Kopfzeile an.
Seite mit Kopfzeile
Seite ohne Kopfzeile
Für die Steuerung wird ein neuer Link in die Schnellstartleiste eingefügt.
Die Grundidee besteht darin, in Frage kommende Bereiche, z.B. Zeilen oder Ebenen, mit einem Attribut und einer Inline-CSS auszustatten. Dies sieht dann z.B. so aus:
<div id=”mb_mysites” mbName=”albdarTitelleiste” style=”display:inline”>
</div>
Das hier definierte Attribut ist mbName, das kein HTML-Attribut ist und nur dazu dient, in Frage kommende Elemente zu kennzeichnen.
In einem Script werden wird nun alle Ebenen und Zeilen auslesen, in einer Schleife durchlaufen und immer dann, wenn es sich um ein Element mit dem Attribut mbName handelt, ein oder ausschalten.
Im Headbereich steht nun folgendes Script:
<script type=”text/javascript” >
var show = “inline”;
function einaus() {
zeilen = document.getElementsByTagName(“tr”);
divs = document.getElementsByTagName(“div”);
if (show == “inline” ) {
show = “none”;
}
else {
show = “inline”;
}
for ( i = 0; i < divs.length; i++) {
e = divs[i];
if (e.getAttribute(“mbName”) == “albdarTitelleiste”) {
e.style.display=show;
}
} // forfor ( i = 0; i < zeilen.length; i++) {
e = zeilen[i];
if (e.getAttribute(“mbName”) == “albdarTitelleiste”) {
e.style.display=show;
}
} // for} // function
</script>
Dieses Script wird dem Link in der Schnellstartleiste zugewiesen.
<tr><td nowrap>
<a href=”#” onclick=”einaus();” >Kopfzeile ein / aus</a></td></tr>
Die hier vorgestellte Technik ist auf viele Szenarien anwendbar und ermöglicht eine flexible und benutzerfreundliche Oberfläche. Im gezeigten Beispiel wurden alle Ebenen und Zeilen der Kopfzeile einer SharePoint Masterpage mit dem Attribut mbName versehen.
