Javascript灯箱未捕获类型错误: $ is not a function

标签 javascript jquery html lightbox

在我的网页中:www.easenhall.org.uk/gallery.html 我有这个错误: 未捕获的类型错误:$ 不是函数 在 gallery.html:54

我从网站下载了这段代码,所以我不太擅长用 Java 脚本编写代码,如果您单击网页上的图像,图像/灯箱会开始移动,然后停止。修复此错误是否可以解决此问题,如果不能解决,我将如何纠正它? 这是java脚本代码:

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
    <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/fancybox/1.3.4/jquery.fancybox-1.3.4.pack.min.js"></script>
    <script type="text/javascript">
        $(function($){
            var addToAll = true;
            var gallery = true;
            var titlePosition = 'inside';
            $(addToAll ? 'img' : 'img.fancybox').each(function(){
                var $this = $(this);
                //var title = $this.attr('title');
                var src = $this.attr('data-big') || $this.attr('src');
                var a = $('<a href="#" class="fancybox"></a>').attr('href', src);//.attr('title', title);
                $this.wrap(a);
            });
            if (gallery)
                $('a.fancybox').attr('rel', 'fancyboxgallery');
            $('a.fancybox').fancybox({
                //titlePosition: titlePosition
            });
        });
        $.noConflict();
        var lightboxOnResize = function lightboxOnResize() {
    if ($(window).width() < 960) {
        $('a[rel="lightbox"]')
            .removeProp('rel')
            .addClass('lightboxRemoved');
    } else {
        $('a.lightboxRemoved').prop('rel', 'lightbox');
    }
}
        $(document).ready(lightboxOnResize);
        $(window).resize(lightboxOnResize);
    </script>

错误部分是这里的这一行:

$(document).ready(lightboxOnResize);

如有任何帮助,我们将不胜感激,谢谢:)

最佳答案

您正在尝试调用不同作用域内的函数。看看 $(function($) {...});它创建了一个闭包,外部函数无法访问闭包内部定义的函数!

最简单的解决方案是移动您的

$(document).ready(lightboxOnResize);
$(window).resize(lightboxOnResize);

语句进入闭包。

关于Javascript灯箱未捕获类型错误: $ is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42888794/

相关文章:

asp.net - 从登录后的页面获取 HTML

html - 为什么我的图像有额外的间距?

javascript - 当我缩放页面时调整 div 的高度

javascript - JQuery 增量/减量值取决于选定的复选框

javascript - Unity实例化对象脚本不重复?

javascript - 如何将 javascript 变量放入 url() 函数中?

javascript - 如何使用 JQuery 获取 HTML 表单数据并写入 XML?

javascript - 当模态被解除或关闭时如何关闭所有可折叠的 div( Accordion )?

javascript - Chrome 中的 CSS#/HTML5 嵌套表格和子填充

javascript - React.js + Flux——在 View 中将回调作为 Prop 传递