在页面加载期间可见JQuery隐藏元素

时间:2012-03-04 14:57:46

标签: jquery

我正在研究this interactive map我遇到的问题是在页面加载期间整个单元的内容是可见的。有没有一种技术我在加载时间内隐藏这个技术?

4 个答案:

答案 0 :(得分:4)

添加以下css:

.counties-container{
    display:none;
}

#st-c .counties-container{
    display:block;
}

从map.js中删除以下部分:

//this function hides each <div class="counties-container"> and is called onload and when the user selects a region

//ONLOAD - these several lines are used to help with graceful degradation (when the user doesn't have JavaScript enabled)
hideall(); //initiate the hideall function 
jQuery('#st-c').css("display","block");

这应解决问题

答案 1 :(得分:2)

使用jQuery隐藏元素需要完全加载DOM元素,然后您的jQuery代码将迭代并隐藏目标元素。

这会导致您正在讨论的问题,因此为了避免这种情况,请首先将所需控件的DISPLAY属性设置为none;,然后在完整后将其按照您的要求进行播放页面加载完成。

如果您尝试隐藏它,那么在加载后,显示它,如果您从解决方案中的服务或页面获取数据,请考虑使用load()方法,或者您也可以利用DOM元素的ready()方法。

jQuery官方文档中对这两种方法的引用:

Load http://api.jquery.com/load/

ready http://api.jquery.com/ready/

如果这有助于你,请告诉我。

答案 2 :(得分:1)

我认为您可以将此属性添加到您不希望显示的每个元素中:

  

风格= “显示:无;”

如果您只是想要它不可见,但它的位置已被保留 你也可以用这个:

  

风格= “能见度:隐藏;”


如果不可能这样做,你可以尝试用jQuery以某种方式添加它。

答案 3 :(得分:1)

最简单的方法是在你的css中添加'display:none',然后在你的脚本中添加.show()。