Портлет пользовательского интерфейса jquery (сортируемый)
В соответствии с примером кода JQuery для сортируемых портлетов функция минимизации уже существует. Я добавил сортируемую функциональность, и она работает, но не так, как ожидалось. После изменения размера портлета кнопка свертывания скрывает только текст и не переключает границу портлета.
Это мой код:
HTML
<div class="column"> <div class="portlet"> <div class="portlet-header">Calls</div> <div class="portlet-content">test Calls content</div> </div> <div class="portlet"> <div class="portlet-header">Phone</div> <div class="portlet-content">test Phone content</div> </div> <div class="portlet"> <div class="portlet-header">Contacts</div> <div class="portlet-content">test Contacts content</div> </div> </div>
Jquery
$( ".column").sortable({ connectWith: ".column", задержка: 150, заполнитель: "ui-state-highlight"});
$ (". portlet"). addClass ("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all").find (". portlet-header").addClass ("ui-widget-header ui-corner-all ").prepend ('').end ().find (". portlet-content ");
$(".portlet-header .ui-icon").click(function() { $(this).toggleClass("ui-icon-minusthick").toggleClass("ui-icon-plusthick"); $(this).parents(".portlet:first").find(".portlet-content").toggle(); }); $(".column").disableSelection(); $(".portlet").resizable();
Есть идеи? Как я уже сказал, после изменения размера кнопка минимизации просто скрывает содержимое и не переключает границу соответствующего портлета. благодарю вас
1 ответ
На тот случай, если кто-нибудь еще наткнется на эту проблему (я сталкивался с этим вопросом ранее, и Google не сильно помогает запретить этот одинокий неотвеченный пост), трюк состоит в том, чтобы изменить размер родительской панели.portlet css. Я закончил с этим, но я уверен, что есть более элегантное решение:
$(".portlet-header .ui-icon-minusthick").click(function () {
if($(this).hasClass("ui-icon-minusthick") == true)
{
$(this).removeClass("ui-icon-minusthick");
$(this).addClass("ui-icon-plusthick");
$(this).parents(".portlet:first").find(".portlet-content").slideToggle();
$(this).parents(".portlet:first").animate({height: "40px"}, 500);
}
else
{
$(this).removeClass("ui-icon-plusthick");
$(this).addClass("ui-icon-minusthick");
$(this).parents(".portlet:first").animate({height: "300px"}, 500);
$(this).parents(".portlet:first").find(".portlet-content").slideToggle();
}
});
Надеюсь, что это помогает любому, все еще гуглящему это!