在我的网页中: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/