Affichage du réglage: aucune pour les zones WebPart vide
-
16-10-2019 - |
Question
Quelqu'un sait le JavaScript pour la mise en display:none
sur une zone partielle web vide? Je me souviens avoir vu une fois sur un site de publication, mais maintenant ne peut pas le trouver.
Ceci permet d'éviter le remplissage et l'espacement d'un affichage de la zone de partie web quand il n'y a pas de pièce de toile ajouté.
La solution
WSS 3 pages WebPart a contenant les WebPartZones TD et ceux de TD ont un nom et identifiant qui est _invisibleIfEmpty. Ensuite, chaque page contient un javascript comme ceci:
<script language="javascript">if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function") {MSOLayout_MakeInvisibleIfEmpty();}</script>
La fonction MSOLayout_MakeInvisibleIfEmpty les rend invisibles ...
/ WW
Autres conseils
Ou, comme SharePoint Publishing Mise en page met:
<SharePointWebControls:ScriptBlock runat="server">
if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function")
{MSOLayout_MakeInvisibleIfEmpty();}</SharePointWebControls:ScriptBlock>
D'une certaine façon, MSOLayout _... n'a pas fonctionné pour moi, donc je l'ai écrit le code jQuery suivant qui fonctionne aussi bien et vérifie également s'il n'y a qu'un menu à l'intérieur de cette cellule avant qu'elle cache.
$('[name="_invisibleIfEmpty"]').filter(function () {
return $.trim($(this).html()).length == 0 || $(this).children("menu").length;
}).hide();