0

试图理解这个 jquery,我发现了 2 个我想使用的脚本,但我可以将它们组合成 1 个吗?目前我将它们都放在单独的脚本标签下。

这是第一个脚本

$(function(){
        $('#navigation_horiz').delay(100).fadeIn(100);
        $('#navigation_horiz').naviDropDown({
        dropDownWidth: 'auto',  //the default width of drop down elements
        slideDownDuration: 600, //easing duration for slideDown
        slideUpDuration: 300 //easing duration for slideUp    
        });
});

这是第二个脚本

if (franchise_id==undefined) { //hide commish nav is not signed into site
     var franchise_id;
     document.write("<style type='text/css'>");
     document.write("#navigation_horiz ul li.commish { display: none; }");
     document.write("</style>");
} 
else if (franchise_id=="0000") { } //show commish nav is logged in as commish
else { // hide both if logged in as any other franchise
     document.write("<style type='text/css'>");
     document.write("#navigation_horiz ul li.commish { display: none; }");
     document.write("</style>");
}

试图放入相同的...下面的示例,但根本不起作用

    $(function(){
        $('#navigation_horiz').delay(100).fadeIn(100);
        $('#navigation_horiz').naviDropDown({
        dropDownWidth: 'auto',  //the default width of drop down elements
        slideDownDuration: 600, //easing duration for slideDown
        slideUpDuration: 300 //easing duration for slideUp    
        });
});
if (franchise_id==undefined) { //hide commish nav is not signed into site
     var franchise_id;
     document.write("<style type='text/css'>");
     document.write("#navigation_horiz ul li.commish { display: none; }");
     document.write("</style>");
} 
else if (franchise_id=="0000") { } //show commish nav is logged in as commish
else { // hide both if logged in as any other franchise
     document.write("<style type='text/css'>");
     document.write("#navigation_horiz ul li.commish { display: none; }");
     document.write("</style>");
}
});
4

3 回答 3

2

是的你可以。第一部分是 jQuery,第二部分是原始 Javascript,都在顶级命名空间下。

唯一需要注意的是:jQuery 代码依赖于 jQuery 库和一个独立的插件(naviDropDown?)。所以你必须把组合代码放在jQuery和插件之后。

于 2013-03-21T15:00:32.543 回答
0

您可以将它们放入单个标签中,但最好将它们排除在单独的 .js 文件中并在文档末尾加载它。

于 2013-03-21T14:54:35.090 回答
0

一个函数只能在执行完毕后才能执行。

如果您在第一次加载网站时加载第二个脚本,如果您不打算在加载时调用函数,请不要将第二个脚本放入函数中。

只有当且仅当它们服务于相同的事件时,您才应该将脚本组合到相同的函数中。

于 2013-03-21T15:27:21.603 回答