Я пытаюсь использовать 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 недоступны мне при подготовке документа. Как мне это сделать?
EDIT: Вот HTML для DIV контента:
<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'), не так ли? Если это правильно, тогда вам не нужно устанавливать 'width' и' height' и 'autoSize: false' в fancybox options, они рассчитываются автоматически, несмотря на то, что' div' добавляется позднее – JFK
@JFK Я пробовал, что но я видел, что если я не устанавливаю значения, то всплывающая подсказка имеет неправильную ширину (всегда около 100). Изменение размера браузера заставляет поле корректировать значение widthxheight. –
Вы можете разместить рендеринг html динамически добавленного 'div' (#showdiv)? и как вы устанавливаете его размер: динамически? через css? вам нужно будет предоставить обширную информацию, если вы хотите получить помощь;) – JFK