【发布时间】:2009-07-17 15:10:28
【问题描述】:
我正在尝试在一个 js 文件中组合几个函数。我对 jquery 很陌生,现在我已经让函数在单独的文件上工作,在不同的页面上被调用(在 drupal 上工作),但是字符串太小了,我认为最好将它们全部组合在一起script.js 文件。
以下是函数:
$(document).ready(function() {
switches = $('#na-paises-list > li');
slides = $('#na-paises-images > div');
switches.each(function(idx) {
this.slide = slides[idx];
}).click(function(){$(this).addClass('selected'); $(this.slide).unbind();}).hoverIntent(paisesOver,paisesOut);
});
function paisesOver(){ $(this).addClass('active'); $(this.slide).fadeIn(); }
function paisesOut(){ switches.removeClass('active'); slides.fadeOut('fast'); }
(这个是我在堆栈溢出here上找到的,稍微改了一下,可能是我犯了一个错误……)
第二个:
$(document).ready(function() {
$("#na-areas-actividade div").tabs({ fx: { opacity: 'toggle', duration: 'fast' }, cookie: { expires: 30 } });
});
第三个:
$(document).ready(function() {
$("#agencias div").tabs({ fx: { opacity: 'toggle', duration: 'fast' }, cookie: { expires: 30 } });
});
每当我尝试将第二个或第三个功能与第一个功能结合起来时,就会出现问题,并且只有其中一个起作用。我将函数放在文档就绪函数中,如下所示:
$(document).ready(function() {
switches = $('#na-paises-list > li');
slides = $('#na-paises-images > div');
switches.each(function(idx) {
this.slide = slides[idx];
}).click(function(){$(this).addClass('selected'); $(this.slide).unbind();}).hoverIntent(paisesOver,paisesOut);
$("#na-areas-actividade div").tabs({ fx: { opacity: 'toggle', duration: 'fast' }, cookie: { expires: 30 } });
$("#agencias div").tabs({ fx: { opacity: 'toggle', duration: 'fast' }, cookie: { expires: 30 } });
});
function paisesOver(){ $(this).addClass('active'); $(this.slide).fadeIn(); }
function paisesOut(){ switches.removeClass('active'); slides.fadeOut('fast'); }
非常欢迎任何帮助或指向正确方向以获取有关此问题的更多信息。
【问题讨论】:
-
你能提供一个在线演示页面的链接吗?
-
我认为您所做的修改可能存在一些错误。你能发布一个 HTML 示例吗?
-
另外,您需要解释您希望这些 sn-ps 代码为您做什么。预期的结果是什么?
-
该站点仅在 localhost 环境中运行,因此没有演示... 第一个代码块的预期结果是显示/隐藏包含图像的 div,从而为菜单选择设置动画。其他代码块只是使用 jqueryUI 选项卡插件来选择内容,但它们被用于不同的页面,女巫将我带到了 Sixgear anwser 的评论......