CSS和Javascript,默认情况下需要隐藏自动生成的HTML

CSS和Javascript,默认情况下需要隐藏自动生成的HTML,javascript,html,css,perl,Javascript,Html,Css,Perl,我正在写一本免费的在线电子书,它需要一些小的格式调整: 页面顶部的完整目录开始时是可见的几秒钟,然后最终折叠起来隐藏起来。我们需要的是它开始时是隐藏的,在页面加载的几秒钟内根本不可见。您可以看到,我已经尝试通过设置var index_hidden=1来解决这个问题;在以下链接中,否则目录将永远不会隐藏自己: 这可能不重要,但我正在使用一些自定义的Perl脚本从Perl POD源代码生成此文件,如果需要,我可以提供更多信息。尽管所描述的行为在我OSX+Firefox中没有出现。以下是您可能会做的:

我正在写一本免费的在线电子书,它需要一些小的格式调整:

页面顶部的完整目录开始时是可见的几秒钟,然后最终折叠起来隐藏起来。我们需要的是它开始时是隐藏的,在页面加载的几秒钟内根本不可见。您可以看到,我已经尝试通过设置var index_hidden=1来解决这个问题;在以下链接中,否则目录将永远不会隐藏自己:


这可能不重要,但我正在使用一些自定义的Perl脚本从Perl POD源代码生成此文件,如果需要,我可以提供更多信息。

尽管所描述的行为在我OSX+Firefox中没有出现。以下是您可能会做的:

默认情况下,使用CSS隐藏元素。将此添加到head元素,并在需要时使用更强大的隐藏CSS进行扩展

<style>.wait-for-js { display: none; }</style>
并通过添加类来隐藏元素

<div id="index-container" class="hide-index wait-for-js">
最后但并非最不重要的一点是,让这个技巧发挥作用。加载JS后立即删除该类,这也意味着加载了其他逻辑,并且保存以显示目录。请确保最后加载此JavaScript

<script>
    document.getElementById('index-container').className = 'hide-index';
</script>
或者如果您正在使用jQuery

<script>$('.wait-for-js').removeClass('wait-for-js');</script>

欢迎来到SO

请将您的问题放在主题上:寻求调试帮助的问题为什么此代码不起作用?必须包括:►想要的行为,►特定的问题或错误,以及►在问题本身中复制它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。看:如何创建一个,和。你在O'Reilly的朋友真的认可了你的出版物并接受了roadrunner的形象吗?你看过奥莱利的封面了吗?@Borodin:对不起,我今天没时间看巨魔,我有真正的工作要做!也许下次吧-@威尔布拉斯韦尔:我相信你会意识到我不是在耍花招,我只能假设那是不可能的。iPhone游戏开发的序言中说,跑路者的形象和相关的商业服装是O'Reilly Media的商标。你不应该暗示与奥莱利有任何不存在的关系。@Borodin:事实上,你是在开玩笑。iPhone书中的roadrunner图像与RPerl roadrunner图像完全不同。我们从未暗示RPerl和O'Reilly之间有任何联系,只是为了促进购买O'Reilly book Learning Perl。如果你费心去看图片或阅读内容,你可能已经知道这两件事了。祝你下一次的搜索机会好运,希望它与RPerl或Perl没有任何关系。我可以知道为什么我的答案被否决了吗?它是否没有回答这个问题,是否还不清楚,它是否认可不良做法?我已经添加了一条评论,但似乎已经被某人删除了?我猜是我们的巨魔朋友博罗丁干的,但我没有任何证据。请放心,否决你答案的绝对不是我,事实上我已经点击了check图标接受你的答案,尽管我还没有时间完成所有实际的Javascript内容并尝试实现它。正如我在“现在删除”回复中所说,我将尝试您的解决方案,并让您知道它是如何工作的。再次感谢您欢迎我来到Stack Overflow!:-好吧,我试过了,完全有效!非常感谢,这是一个巨大的帮助。你可以看到现在的变化是活的:我还试图缩小大的空白左边距的大小,你知道怎么做吗?