【发布时间】:2012-07-20 04:33:47
【问题描述】:
我的网页如下:
<div id="id1" class="stuff">
TEXT, FORMS, and STUFF
</div>
<div id="id2" class="stuff" style="display:none">
TEXT, FORMS, and STUFF
</div>
<div id="id3" class="stuff" style="display:none">
TEXT, FORMS, and STUFF
</div>
<a id="btn1">DD</a>
<a id="btn2">DD</a>
<a id="btn3">DD</a>
在此之下,我有 jQuery click 事件,它将被点击的项目的显示设置为继承,其他的设置为无。
$("#btn2").click(function (e) {
$("#id1").css('display','none');
$("#id3").css('display','none');
$("#id2").css('display','inherit');
});
显示和隐藏可以正常工作,但是我确实注意到最初隐藏的 div 中的某些内容没有正确渲染,尤其是被 CSS 操作的元素。本质上,当页面加载时,隐藏的 div 没有正确呈现,并且当它们显示时看起来很丑。正确执行此操作的方法是什么?
编辑:::::::::::::::::::::::::::::::::::::::::::::
我最终将所有最初隐藏的 div 设置为“可见性:无”,然后在页面 onLoad() 事件中设置显示:无。当我切换时,我会同时更改可见性和显示。一切都正确呈现,并且由于事物被静态设置为不可见,因此所有 div 都不会显示丑陋的 2 秒。
【问题讨论】:
-
如何点击未显示的内容?
-
我认为你必须更具体一点,“丑陋”并不能真正告诉我们问题是什么,通常这应该可以正常工作,但只是做
$("#id1, #id3").hide();似乎更简单?我猜你对每个元素都有一个函数,而且这个例子只是用隐藏元素上的点击事件写得不好,否则我倾向于同意上面的评论,如何点击隐藏元素?跨度> -
对不起。我打错了。有三个按钮。隐藏 div 内的元素未正确呈现。当我最初取消隐藏所有 div 时,一切都呈现正确。
标签: javascript jquery css html visibility