Fancybox Conflicting with Jquery
Fancybox Conflicting with Jquery
我在使用一些冲突的javascript时遇到了问题。我有一个创建下拉菜单的脚本,以及一组使 fancybox 工作的脚本。但是,当两组脚本都在我的标头代码中时,它们会冲突,只有一个函数可以工作。无论我在代码中首先放置哪个脚本,都是不起作用的脚本。
我对javascript/jquery知之甚少,我只是在使用有人给我的一些脚本,让我用我的HTML放进去(我非常了解)。如果有人能帮忙回答(并为我:)简化一点),那将非常有帮助。
我尝试使用控制台检查脚本中的冲突,但我有点迷茫,不确定我应该在那里看什么。如果有人想告诉我如何在控制台中正确检查问题,那也可以工作,尽管我不能保证仅凭这一点就能帮助我。
这是我的主页 html 文件头部中的代码,首先带有 fancybox(这样,fancybox 不起作用,但下拉菜单可以):
<!--dropdown menu script starts here-->
<script type="text/javascript" src="/common/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="/common/js/jquery.main.js"></script>
<!--dropdown menu script ends here-->
<!--fancybox script starts here-->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="/common/js/fancybox/lib/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/common/js/fancybox/lib/jquery.mousewheel-3.0.6.pack.js"></script>
<script type="text/javascript" src="/common/js/fancybox/source/jquery.fancybox.js?v=2.0.6"></script>
<link rel="stylesheet" type="text/css" href="/common/js/fancybox/source/jquery.fancybox.css?v=2.0.6" media="screen" />
<link rel="stylesheet" href="/common/js/fancybox/source/helpers/jquery.fancybox-buttons.css?v=1.0.2" type="text/css" media="screen" />
<script type="text/javascript" src="/common/js/fancybox/source/helpers/jquery.fancybox-buttons.js?v=1.0.2"></script>
<script type="text/javascript" src="/common/js/fancybox/source/helpers/jquery.fancybox-media.js?v=1.0.0"></script>
<link rel="stylesheet" href="/common/js/fancybox/source/helpers/jquery.fancybox-thumbs.css?v=2.0.6" type="text/css" media="screen" />
<script type="text/javascript" src="/common/js/fancybox/source/helpers/jquery.fancybox-thumbs.js?v=2.0.6"></script>
<script type="text/javascript">
$(document).ready(function() {
// fancybox for vimeo
$(".vimeo").fancybox({
width: 781,
height: 440,
type: 'iframe',
fitToView : false,
wrapCSS : 'fancybox-nav-video'
});
$('.fancybox').fancybox(
{
padding : 0,
openEffect : 'elastic'
}
);
$(".fancybox").fancybox(
{
wrapCSS : 'fancybox-custom',
closeClick : true,
helpers : {
overlay : {
css : {
'background-color' : '#000'
}
},
thumbs : {
width : 50,
height : 50
}
}
}
);
}
);
$("a[href$='.jpg'],a[href$='.jpeg'],a[href$='.png'],a[href$='.gif']").attr('rel', 'gallery').fancybox();
</script>
你加载了两次jQuery库,版本号也略有不同(1.7与1.7.2)。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script type="text/javascript" src="/common/js/fancybox/lib/jquery-1.7.2.min.js"></script>
如评论中所述,您也在其他地方加载它。一次就够了!
编辑
你也在这里加载了jQuery(两次):
<script type="text/javascript" src="/common/js/jquery-1.8.3.min.js"></script>
<script type="text/javascript" src="/common/js/jquery.main.js"></script>
首先,正如你从其他人那里看到的那样,你在那里有太多的JQuery。 不过,Fancybox 在 JQuery 1.8 中存在问题,所以你会想要坚持使用 1.7 版本。 摆脱下拉区域顶部的 1.8 脚本,暂时摆脱谷歌的 cdn 版本,只需使用 fancybox 附带的 1.7.2。 最后,将剩下的一个 Jquery 行移动到页面顶部,它必须首先加载。我不知道下拉代码,但 JQuery 1.7 应该没问题。 不确定这是否会解决您,但这是一个更干净的起点。
相关文章:
- Using jQuery with classes from ES6
- setTimeout in jQuery with a loop
- JQuery with ajax 不断发布多个结果
- Ajax and jQuery with PHP
- jQuery with Google maps
- Lab.js 和 jQuery with $(window).load(function() 过早触发
- Using jQuery with Aurelia
- django.jQuery with django admin change_form.html
- jquery with WordPress loop
- jQuery with AJAX 只执行一部分代码
- JQuery with css3 keydown keyCode = 37 and 39
- Using Jquery with PHP
- Using jQuery with node.js
- JQuery with Element ID
- Using jquery with OO Javascript
- RE: implementing rest / jquery with JS
- Jquery with Asp.net button
- Load jQuery with RequireJS
- jQuery with Callback and Complete
- Joomla 2.5 jQuery with TinyMCE