fancybox你是未定义的

时间:2010-11-11 18:24:51

标签: c# javascript fancybox

我已经让这个脚本从代码后面打开一个fancybox,但它一直说“你是未定义的”......不确定是什么问题

StringBuilder sb = new StringBuilder();

sb.AppendLine("<script>");
sb.AppendLine("$.fancybox('../Popups/EndedProduction.aspx?Iframe', {");
sb.AppendLine("'width': 557,");
sb.AppendLine("'height': 244,");
sb.AppendLine("'transitionIn': 'none',");
sb.AppendLine("'transitionOut': 'none'");
sb.AppendLine("});");
sb.AppendLine("</script>");

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "Completed", sb.ToString());

3 个答案:

答案 0 :(得分:0)

查看生成的文档源(例如,使用firebug中的HTML-tab)并确保没有嵌入fancybox-script两次。

答案 1 :(得分:0)

找到了解决方法。

<a id="popup" href="../Popups/EndedProduction.aspx?Iframe"></a>

<script type="text/javascript">
        function test() {
            $("#popup").fancybox({
                'width': 557,
                'height': 244,
                'transitionIn': 'none',
                'transitionOut': 'none',
                'type': 'iframe'
            });
        }

<% if (Current.Production.Status >= (Int32)ProductionStatus.Completed)
{ %>
      $(document).ready(function () {
         $("#popup").fancybox().trigger('click');
      });

   <%} %>

</script>

答案 2 :(得分:0)

对于它的价值,我正在设置一个像原始问题中发布的函数,遇到相同的错误,当我使用解压缩的源时,参数是“loading”var。很多堆栈溢出答案表明,当Flexbox脚本加载两次时会发生这种情况,但在我的情况下却没有。答案就是在FQuery(document).ready中包装FancyBox调用。你的解决方案可以做到这一点,但是取消了原来的手动触发器,所以我很好奇这是否能解决你的问题。