这比其他运行速度快。但我不知道它会在慢电脑有多快.. 代码过滤动态结果。该标准设置为CSS类。提高这个jQuery脚本的性能
$(document).ready(function()
{
$("#filters a").click(function(event)
{
event.preventDefault();
event.stopPropagation();
if($(this).hasClass("checked"))
{
$(this).removeClass("checked");
}
else if(!$(this).hasClass("disabled"))
{
$(this).addClass("checked");
}
else
{
return false;
}
var results=$("#products li");
results.hide();
$("#filters li.filtersGroup a").removeClass("disabled");
$("#filters li.filtersGroup").each(function(index) {
var classes="";
$(this).find("a.checked").each(function(index) {
classes=classes+ "." + $(this).attr("id") +",";
});
if(classes=="") return true;
results=results.filter(classes.substr(0,classes.length-1));
//periorismos
$("#filters li.filtersGroup").not($(this)).each(function (index){
$(this).find("a").each(function(index) {
if(results.filter("." + $(this).attr("id")).length<=0) {
$(this).removeClass("checked").addClass("disabled");
}
});
});
});
results.show();
})
});
任何想法如何改善它?还我能做些什么有关的preventDefault(itsnot触发如果整个文档的心不是装的,因为这可能是impacient人的问题..
所以它运行很好,你没有问题吗?..没有在这里看到,然后。 – Fosco 2010-10-26 18:55:18
只有在特殊情况下才会想到的东西。你可以更详细地了解一些选择器,以便DOM检查不会太重吗? – brumScouse 2010-10-26 18:56:26
我不会在另一个'each'内运行'each'函数,但除此之外,我需要查看一些HTML以获得更好的想法。 – Mottie 2010-10-26 19:01:41