我想用fancybox v2来显示其内容是动态生成的div。我在事物的计划中设定了div的大小。我试过了fancybox文档中的例子来显示大小固定的div。它看起来像这样:动态设置Fancybox2的宽度/高度
<a id="fancy" href="#showdiv">Show contents of div.</a>
<div id="showdiv">...</div>
<script>
$(document).ready(function() {
$("#fancy").fancybox({autoSize:false, width: W, height: H, ...});
});
</script>
我要的是W=$("#showdiv").width
和H=$("#showdiv").height
。显然,在准备好文件时,H和W不可用。我如何去做这件事?
编辑:下面是内容DIV的HTML:
<div id="hidediv" style="display:none">
<div id="showdiv" style="display:block;position:relative">
<canvas id="mycanvas" style="position:relative;display:block"></canvas>
</div>
</div>
在锚的点击处理程序 “#fancy” 我做的:
function onclick() {
var jcanvas = $("#mycanvas").css('width', some_width).css('height', some_height);
// draw on canvas
}
“#fancy” 是一个与Fancybox相关联。
另:
'我把div的大小设置的很晚':所以它的大小(至少是'width'),不是吗?如果这是正确的,那么你不需要在fancybox选项中设置'width'和'height'和'autoSize:false',它们会自动计算,尽管'div'是在稍后添加的。 – JFK 2013-04-03 23:46:48
@JFK我试过但我已经看到,如果我不设置这些值,那么弹出窗口的宽度就会有错(总是大约100)。调整浏览器大小会强制重新调整宽度x高度。 – 2013-04-04 01:04:59
你可以发布动态添加'div'(#showdiv)的呈现html吗?并且,您如何设置其大小:动态?通过CSS?如果你想获得帮助,你需要提供大量的信息;) – JFK 2013-04-04 01:25:43