Anzeige einstellen: Keine für leere Web -Teil -Zonen
-
16-10-2019 - |
Frage
Kennt jemand das JavaScript für die Einstellung? display:none
in einer leeren Web -Teil -Zone? Ich erinnere mich, dass ich es einmal auf einer Verlagsseite gesehen habe, kann es aber jetzt nicht finden.
Dies soll die Polsterung und den Abstand vermeiden, dass eine Web -Teil -Zone angezeigt wird, wenn kein Webpart hinzugefügt wird.
Lösung
WSS 3 Web -Teil -Seiten verfügt über TDs, die die WebPartzones enthalten, und diese TDs haben einen Namen und eine ID, die _invisibleIfieMpty ist. Dann enthält jede Seite ein JavaScript wie folgt:
<script language="javascript">if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function") {MSOLayout_MakeInvisibleIfEmpty();}</script>
Die Funktion msolayout_MakeInvisibleIfieMpty macht sie unsichtbar ...
/Ww
Andere Tipps
Oder, wie SharePoint Publishing -Seitenlayout ausdrückt:
<SharePointWebControls:ScriptBlock runat="server">
if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function")
{MSOLayout_MakeInvisibleIfEmpty();}</SharePointWebControls:ScriptBlock>
Irgendwie hat Msolayout _... für mich nicht geklappt, also habe ich den folgenden JQuery -Code geschrieben, der ebenfalls funktioniert, und prüft auch, ob es nur ein Menü in dieser Zelle gibt, bevor er es verbirgt.
$('[name="_invisibleIfEmpty"]').filter(function () {
return $.trim($(this).html()).length == 0 || $(this).children("menu").length;
}).hide();