单击调整大小 div?
Resizing div with click?
我有一个 webform
看起来像这样。它是 masterpage
中的 div
,其中包含多个 GridViews
:
如您所见,网格视图占据了大部分 space,因此我想将它们最小化。我不想使用 CollapsiblePanel
因为它会隐藏所有内容。我想隐藏一半div/gridviews;是这样的:
基本上,我想添加一个可以点击的控件:当展开时,它会显示gridview的全高。折叠时,我只会看到 div
和网格视图的一小部分。
感谢任何帮助。
谢谢。
您可以将所有 GridView 包裹在 div 中,并使用 class 指定高度并隐藏溢出。然后,当您单击该按钮时,它会更改 gridViewContainer
的 class 的 class,高度设置为 auto
。
<div class="small" id="gridViewContainer">
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
<input type="button" onclick="toggleGridContent()" value="toggleGridContent" />
<script type="text/javascript">
function toggleGridContent() {
var id = "#gridViewContainer";
if ($(id).hasClass("small")) {
$(id).attr("class", "large");
} else {
$(id).attr("class", "small");
}
}
</script>
<style>
.small {
height: 200px;
overflow: hidden;
}
.large {
height: auto;
}
</style>
Ajax Control Toolkit CollapsiblePanel 确实具有 CollapsedSize/ExpandedSize 属性,如果您正在使用它的话?
Javascripters 会在客户端使用例如jQuery。事实上,除非您能找到开箱即用的 aspx 控件,否则客户端比 ACT 控件容易得多。
像
<!-- give your divs a class and collapsed/expanded sizes -->
<div class="collapsibleDiv" CollapsedSize="10" ExpandedSize="300"
style="border: 1px red dashed;"
>
<p>-</p>
...
<p>-</p>
</div>
<!-- bottom of page -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(function() {
$(".collapsibleDiv").click(
function() {
var me = $(this);
var expandHeight= Number(me.attr('ExpandedSize'))
var collapseHeight=Number(me.attr('CollapsedSize'));
var isExpanded= me.height()===expandHeight;
var targetHeight= isExpanded ? collapseHeight : expandHeight;
me.animate({ height: targetHeight});
//or without animation : me.height(targetHeight)
}
);
});
</script>
我有一个 webform
看起来像这样。它是 masterpage
中的 div
,其中包含多个 GridViews
:
如您所见,网格视图占据了大部分 space,因此我想将它们最小化。我不想使用 CollapsiblePanel
因为它会隐藏所有内容。我想隐藏一半div/gridviews;是这样的:
基本上,我想添加一个可以点击的控件:当展开时,它会显示gridview的全高。折叠时,我只会看到 div
和网格视图的一小部分。
感谢任何帮助。
谢谢。
您可以将所有 GridView 包裹在 div 中,并使用 class 指定高度并隐藏溢出。然后,当您单击该按钮时,它会更改 gridViewContainer
的 class 的 class,高度设置为 auto
。
<div class="small" id="gridViewContainer">
<asp:GridView ID="GridView1" runat="server"></asp:GridView>
</div>
<input type="button" onclick="toggleGridContent()" value="toggleGridContent" />
<script type="text/javascript">
function toggleGridContent() {
var id = "#gridViewContainer";
if ($(id).hasClass("small")) {
$(id).attr("class", "large");
} else {
$(id).attr("class", "small");
}
}
</script>
<style>
.small {
height: 200px;
overflow: hidden;
}
.large {
height: auto;
}
</style>
Ajax Control Toolkit CollapsiblePanel 确实具有 CollapsedSize/ExpandedSize 属性,如果您正在使用它的话?
Javascripters 会在客户端使用例如jQuery。事实上,除非您能找到开箱即用的 aspx 控件,否则客户端比 ACT 控件容易得多。 像
<!-- give your divs a class and collapsed/expanded sizes -->
<div class="collapsibleDiv" CollapsedSize="10" ExpandedSize="300"
style="border: 1px red dashed;"
>
<p>-</p>
...
<p>-</p>
</div>
<!-- bottom of page -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$(function() {
$(".collapsibleDiv").click(
function() {
var me = $(this);
var expandHeight= Number(me.attr('ExpandedSize'))
var collapseHeight=Number(me.attr('CollapsedSize'));
var isExpanded= me.height()===expandHeight;
var targetHeight= isExpanded ? collapseHeight : expandHeight;
me.animate({ height: targetHeight});
//or without animation : me.height(targetHeight)
}
);
});
</script>