Вопрос

Кто-нибудь знает JavaScript для настройки display:none в пустой зоне веб-части?Помню, однажды видел это на сайте издательства, но сейчас не могу найти.

Это сделано для того, чтобы избежать заполнения и интервалов в зоне веб-части, когда к ней не добавлена ​​​​веб-часть.

Это было полезно?

Решение

На страницах веб-частей WSS 3 есть TD, содержащие WebPartZones, и эти TD имеют имя и идентификатор _invisibleIfEmpty.Затем каждая страница содержит такой JavaScript:

<script language="javascript">if(typeof(MSOLayout_MakeInvisibleIfEmpty) == "function") {MSOLayout_MakeInvisibleIfEmpty();}</script>

Функция MSOLayout_MakeInvisibleIfEmpty делает их невидимыми...

/WW

Другие советы

Или, как это сказано в макете страницы публикации SharePoint:

<SharePointWebControls:ScriptBlock runat="server">
if(typeof(MSOLayout_MakeInvisibleIfEmpty) == &quot;function&quot;) 
{MSOLayout_MakeInvisibleIfEmpty();}</SharePointWebControls:ScriptBlock>

Почему-то MSOLayout_...у меня это не сработало, поэтому я написал следующий код jQuery, который тоже работает, а также проверяет, есть ли внутри этой ячейки только меню, прежде чем скрыть его.

$('[name="_invisibleIfEmpty"]').filter(function () {
    return $.trim($(this).html()).length == 0 || $(this).children("menu").length;
}).hide();
Лицензировано под: CC-BY-SA с атрибуция
Не связан с sharepoint.stackexchange
scroll top