如何在div中包装portlet

时间:2013-11-13 06:24:41

标签: jquery html css jquery-ui

我知道足够的html和css来处理我需要的大多数东西,但我不是JQuery的最佳人选。所以我需要一些帮助。

SZENARIO:

我有一个包含jquery可排序portlet的网页

body { min-width:100%; }
.column { width: 33%; float: left; padding-bottom: 100px;}
.portlet { margin: 0 1em 1em 0; }
.portlet-header { margin: 0.3em; padding-bottom: 4px; padding-left: 0.2em; }
.portlet-header .ui-icon { float: right; }
.portlet-content { padding: 0.4em; }
.ui-sortable-placeholder { border: 1px dotted black; visibility: visible !important; height: 50px !important; }
.ui-sortable-placeholder * { visibility: hidden; }
.boxmax{position:absolute;width:100%;height:100%;}


<div class="column">
    <div class="portlet">
        <div class="portlet-header">Feeds</div>
        <div class="portlet-content"><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</p></div>
    </div>
    <div class="portlet">
        <div class="portlet-header">News</div>
        <div class="portlet-content"><span>Lorem ipsum dolor sit amet, consectetuer adipiscing elit</span></div>
    </div>
</div>
<div class="column">
    <div class="portlet">
        <div class="portlet-header">Shopping</div>
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div>
    </div>
</div>
<div class="column">
    <div class="portlet">
        <div class="portlet-header">Links</div>
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div>
    </div>
    <div class="portlet">
        <div class="portlet-header">Images</div>
        <div class="portlet-content">Lorem ipsum dolor sit amet, consectetuer adipiscing elit</div>
    </div>
</div>


$(function() {
    $( ".column" ).sortable({
        connectWith: ".column"
    });
    $( ".portlet" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-all" )
                    .find( ".portlet-header" )
                    .addClass( "ui-widget-header ui-corner-all" )
                    .prepend( "<span class='ui-icon ui-icon-minusthick'></span>")
                    .end()
                    .find( ".portlet-content" );
    $( ".portlet-header .ui-icon" ).click(function() {
        if($( this ).parents(".portlet-header").find("span")[0].className.match("ui-icon-minusthick") != null)
        {
            $( this ).parents(".portlet").css({"position":"absolute", "height":"90%", "width":"90%", "left" : "0.4%", "top" : "1.2%"});
        }
        else
        {
            $( this ).parents(".portlet").css({"position":"", "height":"", "width":"", "left" : "" , "top" : ""});
        }
        $( this ).toggleClass( "ui-icon-minusthick").toggleClass("ui-icon-plusthick" );
        <!--$( this ).parents( ".portlet:first" ).find( ".portlet-content" ).toggle();-->


    });

    $( ".column" ).disableSelection();
});

到目前为止我的尝试:

http://jsfiddle.net/VHWHm/2/

  1. 从一列到另一列的可排序
  2. 可以最大化全屏并最小化到以前的位置
  3. 我想要的是什么:

    http://jsfiddle.net/VHWHm/1/

    问题:

    如何将portlet包装在响应百分比值的div中?

    问题详述:

    如果我点击最大化按钮,则portlet最大化为全屏(完整浏览器)。最小化portlet返回到前一个位置,现在如果我将portlet的一个外部div放到那个时间,最大化portlet应该在父div中最大化而不是全屏。我怎样才能实现这一点。

    提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以根据此更改脚本:

$(function() {
$( ".column" ).sortable({
connectWith: ".column"
 });
  $( ".portlet" ).addClass( "ui-widget ui-widget-content ui-helper-clearfix ui-corner-   all"     )
.find( ".portlet-header" )
.addClass( "ui-widget-header ui-corner-all" )
 .prepend( "<span class='ui-icon ui-icon-minusthick'></span>")
.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();
   });

WORKING DEMO