我将这个jquery插件用于旋转木马控制器http://sorgalla.com/projects/jcarousel/,它基于jquery版本1.2.1
我还需要在页面上有标签,但是当在页面中包含当前的jquery版本时,carousel停止工作。
有没有办法让它们同时出现在同一个页面上,或者有没有办法让标签页在realease 1.2.1下工作?
我不想在另一个插件上重建carousel,因为这个插件已经换了皮肤,并且可以根据需要工作。
我尝试使用jQuery.noConflict,jcarousel控制器仍然不起作用。
发布于 2010-04-19 15:01:41
你还可以使用其他的tons插件(this one看起来很不错)。有没有什么理由你需要使用那个特定的呢?如果没有,我建议你省去很多麻烦,直接换个不同的插件。
否则,jQuery.noConflict应该可以工作。如果没有,那就把你正在使用的代码贴出来,这样我们就可以告诉你哪里出了问题。
发布于 2010-04-19 15:03:33
很遗憾地说,您需要花时间a)修复旧的插件以在新版本的jQuery上工作,或者b)切换到可以在新版本的jQuery上工作的旋转木马。在一个站点上包含两个版本的jQuery是bad practice,您稍后会自找麻烦,但这不是不可能的。
你可以这样做:
<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别名。
发布于 2010-04-19 14:50:49
jQuery API docs上的这篇文章可能会对您有所帮助:jQuery.noConflict。
祝您今天愉快。
https://stackoverflow.com/questions/2665496
复制相似问题