为什么jQuery在一个页面而不是另一个页面上工作?

时间:2014-02-25 00:13:35

标签: jquery jquery-plugins fancybox-2

我在网站上使用了许多jQuery脚本,包括Fancybox。一切都有效,除了带有表单的页面。我之前从未见过与jQuery的静态形式冲突。起初我认为这是jQuery的路径,但是有相同级别的页面,一个将工作,另一个不会。

例如,在this page上,如果您点击 ArtStart我们的新闻稿 Fancybox工作正常,但如果您在this page上执行相同操作,则相同的表单无法打开在Fancybox中,我收到以下错误:

  

Fancybox不是一个功能

通常,这告诉我jquery.fancybox的链接已断开或存在冲突。我已将$更改为jQuery以防止冲突,但它没有任何区别。此外,所有页面都来自脚本链接的相同嵌入代码。

以下是Fancybox的代码:

<script>
        jQuery(document).ready(function() {
            jQuery(".fancybox").fancybox({
            openEffect  : 'none',
            closeEffect : 'none',
            width       : 600,
            height      : 800
            });
        });
</script>

我希望得到一些解决这个问题的帮助。

由于

2 个答案:

答案 0 :(得分:3)

您脑中有3个jQuery(document).ready个实例,请尝试将所有脚本移动到一个jQuery(document).ready这样可以解决无法识别.fancybox方法的问题

答案 1 :(得分:0)

是的,你有几个jQuery(document).ready,其中一些明确别名$,而其他则不是。

此外,在代码中间的某处,您再次加载jQuery

<script type="text/javascript" charset="utf-8" src="http://opteracreative.com/~mac/?ACT=10&ui=core,widget,mouse,position,draggable,resizable,button,dialog,datepicker&plugin=markitup,toolbox.expose,overlay,tmpl&file=underscore,cp/date&v=1388434578&use_live_url=y&include_jquery=y"></script>

我相信全局jQuery对象确实加载了它的插件,但就在那时你用一个没有插件的新的替换它。