JQuery即时addClass或隐藏类

时间:2011-03-04 20:55:07

标签: javascript jquery hide addclass load-time

当添加JQuery来隐藏类时,它当然等待页面加载然后隐藏类,对于'addClass'也是如此。当页面加载时,必须有更好或更快的方式来“加载”。有谁知道任何想法?我在下面给了我的网站JQuery脚本以及链接以查看它们的实际效果:

隐藏子过滤器: Link to example of my script to hide sub filters (notice left navigation filters)

if(jQuery('.refinement_category_section').length){
   jQuery('.refinement_custom_category_section').hide() &&
      jQuery('.refinement_filter').hide();
}

jQuery(document).ready(function(){                         
   if(jQuery('.refinement_category_section').length){
      jQuery('.refinement_custom_category_section').hide() &&
         jQuery('.refinement_filter').hide();
   }
});

OR

添加一个类: Link to example of my script adding Class (notice left navigation filters)

$('.refinement_brand_section').parent().addClass('filterresults');

2 个答案:

答案 0 :(得分:1)

你可以添加CSS规则来隐藏这些类,然后在jquery加载后更改它

.refinement_category_section, .refinement_custom_category_section, .refinement_filter {
  display: none;
}

答案 1 :(得分:1)

使用Firebug,问题在于您要加载的图像数量。我的建议是在应用样式更改后使用javascript为您的项目动态加载图片,或者在页面上使用较少数量的项目(或两者)。这将导致非JavaScript用户的降级但仍然可用的界面。对于支持javascript的浏览器,您可以调整加载图像的方式和数量,以达到很好的效果。

您还应该为您的小界面元素使用精灵,以便您下载单个图像并使用CSS显示它的各个部分。将生成网站的javascript文件和样式表组合在一起也会有所帮助 - 你有20多个js文件和13个以上的样式表,每个都需要一个单独的请求。您可能想要运行YSlow并遵循其他建议。