我将这个jquery插件用于轮播控制器http://sorgalla.com/projects/jcarousel/,它基于jquery版本1.2.1
我还需要在页面上有标签,但是当在页面中包含当前的jquery版本时,轮播停止工作。
有没有办法让它们在同一页面上共存,或者有没有办法让标签在realease 1.2.1下工作?
我宁愿不在另一个插件上重建旋转木马,因为这个已经剥了皮并且可以根据需要工作。
我尝试使用jQuery.noConflict,jcarousel控制器仍无效。
答案 0 :(得分:1)
您可以使用tons个其他轮播插件(this one看起来相当不错)。你有什么理由需要使用那个特定的吗?如果没有,我建议你省去很多头痛,只需切换到另一个插件。
否则,jQuery.noConflict
应工作。如果没有,那么发布您正在使用的代码,以便我们可以告诉您哪里出错了。
答案 1 :(得分:1)
很抱歉,你要花时间a)修复旧的插件以自己处理更新版本的jQuery,或者b)切换到适用于新版jQuery的轮播。在网站上包含两个版本的jQuery是糟糕的做法,而你以后会要求麻烦,但这并非不可能。
你可能会做这样的事情:
<script type="text/javascript" src="/js/jquery-1.2.1.js"></script>
<script type="text/javascript" src="/js/oldcarousel.js"></script>
<script type="text/javascript">jQuery12 = jQuery.noConflict();</script>
<script type="text/javascript" src="/js/jquery-1.4.2.js"></script>
假设oldcarousel.js
使用闭包(意味着第一行和最后一行代码如下所示):
(function($){
// and that all plugin code in here references $ not jQuery
})(jQuery);
它应该能够在1.4覆盖之后“挂起”到jQuery 1.2。
它可能也可以更改包含顺序: 你可能会做这样的事情:
<script type="text/javascript" src="/js/jquery-1.4.2.js"></script>
<script type="text/javascript" src="/js/jquery-1.2.1.js"></script>
<script type="text/javascript" src="/js/oldcarousel.js"></script>
<script type="text/javascript">jQuery12 = jQuery.noConflict(true);</script>
将true
传递给.noConflict()
时,应该从新版本中恢复$
和jQuery
别名。
答案 2 :(得分:0)
这个jQuery API文档可以帮助您:jQuery.noConflict。
度过愉快的一天。