Jquery hide() 函数在页面加载时显示

标签 jquery

场景: 我有一个包含多个 DIV 的页面。某些 DIV 应在首页加载时隐藏。我使用 Jquery hide() 函数来隐藏 DIV。

问题: 由于某种原因,jquery 隐藏功能似乎只能部分工作,即需要完全隐藏的 DIV 显示一秒钟然后隐藏。

请问有办法解决这个问题吗?

最佳答案

在 DOM 准备好之前,您的 JavaScript 不会执行(您无法隐藏尚不存在的元素),因此浏览器会渲染它然后隐藏它。根据您的浏览器的速度和代码的效率,您可能会注意到,也可能不会注意到。

更好的解决方案是使用 css 将元素隐藏起来。

#elementId { display:none; }

您可以将此规则与其余 css 一起包含在样式标记中。如果你有很多想要隐藏/显示的元素,给它们一个共同的类名;然后你可以一次性切换它们的可见性。其 CSS 为:

.commonClassName { display:none; }

然后在 jQuery 中,您可以调用 .show() 来显示它们,或调用 .toggle() 来打开/关闭它们的可见性。 jQuery 类选择器与 css 类选择器相同:

$('.commonClassName').show();

注意:您还可以使用 html style 属性进行样式更改: style="display:none;" 但是,由于我在评论中概述的原因,这通常不是要采取的路线。

关于Jquery hide() 函数在页面加载时显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11515935/

相关文章:

javascript - 阻止 <div> 以避免与内容交互

javascript - 使用 Javascript/jQuery 一次播放一个 HTML 音频文件

javascript - 如何隐藏 Jquery 中已使用 .load 函数加载的元素

jquery - Gmaps4Rails v2 - 检索所有标记

javascript - 改变一个元素的样式而不改变另一个?

javascript - 如何在 JqueryUI 对话框关闭时执行回调

javascript - 如何停止某些选择器来启动功能

jquery - 为什么人们在创建元素时使用斜杠?

javascript - React JavaScript 是否支持 jQuery?

jquery - jScroll 不工作