Я разрабатываю веб-приложение на основе Asp.Net 4.0. Я использую в нем контроль Telerik RadScheduler.
RadScheduler показывает изображения в назначении. Я пытаюсь открыть эти изображения в режиме масштабирования, используя Fancybox v 1.3.4. По умолчанию Fancybox открывается в центре страницы, что приятно. И я смог добиться этого.
Фрагмент кода -
<script type="text/javascript">
$(document).ready(function ()
{
$("a#hlImgRoom").fancybox({ 'overlayShow': false, 'transitionIn': 'elastic', 'transitionOut': 'elastic' });
});
</script>
<asp:HyperLink ID="hlImgRoom" runat="server" ClientIDMode="Static" CssClass="noborder">
<asp:Image ID="imgRoom" runat="server" Height="50" Width="70" AlternateText='<%# Eval("Text") %>' />
</asp:HyperLink>
Url соответствующих элементов управления был установлен из кода позади.
Как можно заставить Fancybox открываться в центре этого конкретного элемента управления (в моем случае это управление планировщиком). См. Изображение, показывающее Fancybox в планировщике (мне удалось отобразить его в виде снимка).
Помогло ли это?
Например, если у вас есть такая структура:
<asp:parentControl id="your parent control">
<asp:childControl id="your child control" cssClass="thisControl"></asp:childControl>
</asp:parentControl>
Тогда вам нужно только css для этого.
.thisControl
{
position: absolute;
width: 200px;
height: 200px;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -100px;
}