我正在研究this interactive map我遇到的问题是在页面加载期间整个单元的内容是可见的。有没有一种技术我在加载时间内隐藏这个技术?
答案 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()。