根据用户位置启动jQuery插件

时间:2013-05-14 07:52:05

标签: javascript jquery optimization client-side

我的大四学生给了我一个任务,将所有小javascript和jQuery插件代码放在一个执行这些插件的文件中,具体取决于页面是否有某些.classes或#ids。我在想什么是最好的方法。

如果 - >会很简单吗?在这种情况下还是做其他事情,还是应该进一步用.each创建一些东西?

我还认为随着插件数量和其他客户端代码的增加,会出现严重的性能问题。但到目前为止,我们只有大约5-10个自我调用函数。

2 个答案:

答案 0 :(得分:0)

如果你需要检查少量插件,你可以真正使用你想要的东西。

如果没有,那么您应该从此列表中选择:http://jsperf.com/jquery-each-vs-for-loop/73

答案 1 :(得分:0)

这样的事情怎么样?这取决于它需要循环的元素数量。如果需要,您可以更具体地使用span或者div。

var a_i = 0, b_i = 0;

$("#ids").each(function() {
    a_i++;
});

$(".classes").each(function() {
    b_i++;
});

if(a_i != 0) {
    $.getScript("js/specific.plugin.min.js");
    $.executePluginFunctionNameThingyHere();
}

if(b_i != 0) {
    $.getScript("js/another-specific.plugin.min.js");
    $.executeOtherPluginFunctionNameThingyHere();
}

未经测试 - 但这是一般的想法。