结合多个jQuery脚本

时间:2011-01-24 22:55:33

标签: javascript jquery html scripting ssi

我正在尝试根据他的绘画和绘画为我的一个朋友创建一个简单的投资组合网站。布局相对简单,但事实证明很难实现。我在页面上有三个jquery脚本,每个脚本都执行一个特定的功能。

1)bgStretcher - 拉伸一系列背景图像以填充用户的窗口。
2)崩溃 - 简单的可折叠菜单系统
3)galleryview - 基本没有多余装饰幻灯片画廊

目前,bgstretcher和collapse在一个名为nav.shtml(http://yungchoi.com/nav.shtml)的页面上,以及gallery.shtml(http://yungchoi.com/gallery.shtml)上的图库。 Seperatley他们工作正常,但当我通过SSI(test.shtml)调用导航页面时,代码似乎遇到问题并被禁用。

我发现的解决方案都导致在jquery中使用noConflict函数(http://stackoverflow.com/questions/2656360/use-multiple-jquery-and-jquery-ui-libraries),(http:/ /hubpages.com/hub/How-to-use-jQuery_noConflict),但每当我尝试插入它并更改我的代码时,一切都会再次搞砸了。我还将每个脚本的文件组织到单独的文件夹和目录中,但这也没有帮助。

我的经验是图形和网页设计,所以我的编码技巧并不是最好的。我知道基础知识,但重写jquery代码不是我学过的东西所以我可能不理解如何正确解决这个问题。如果有人能够清楚而轻松地解释我需要做些什么才能使这些工作在一起,我会非常感激。

谢谢!

3 个答案:

答案 0 :(得分:3)

您仍然在页面中加载了多个版本的jQuery。

卸下:

<script type="text/javascript" src="support/bgstrecher/jquery-1.3.2.min.js"></script>

<script src="support/collapse/jquery-1.2.1.min.js" type="text/javascript"></script>

你也应该删除:

<script type="text/javascript">
  $.noConflict();
  // Code that uses other library's $ can follow here.
</script>

&安培; - (因为你只需要打包或解压缩版本,而不是两者都有)

<script type="text/javascript" src="galleryview/jquery.galleryview-2.1.1.js"></script>

看看是否有帮助。

如果您还要使用与jo相似的其他库,例如MooTools,Dojo或Prototype,则只需要noConflict。您不太可能需要&amp;如果你这样做,你需要重新编码以使用jQuery函数而不是$。

你遇到的问题是,所有这些jQuery包含都会覆盖插件所附带的jQuery的早期版本,因此当你调用它时函数不再存在。

答案 1 :(得分:0)

为什么要加载Jquery两次?

首先是1.4.2分钟的文件然后直接完全吹过?

答案 2 :(得分:0)

您仍然有多次调用jQuery(即使文件不在同一目录中)。 以同样的方式,你两次调用“galleryview / jquery.galleryview-2.1.1.js”(第二个文件只是打包)。

顺便说一句,我的错误控制台告诉我:

“错误:jQuery.timer未定义 源文件:http://yungchoi.com/galleryview/jquery.timers-1.2.js 行:135“

您确定需要此计时器插件吗?现在,似乎你包含了太多的脚本。尝试删除所有不需要的文件(你应该只保留一个版本的jquery。但如果你使用的某些插件不兼容,你会遇到越来越多的兼容性问题。)