隐藏CSS元素而不更改显示属性
这个问题在这里已经有了答案:
有几种方法。 要么你可以使元素的position: absolute
或position: fixed
所以它不占用任何空间,然后使用任何visibility: hidden
, opacity: 0
等。您需要注意的一件事是,如果他们没有display: none
,他们仍然可以接收点击事件,所以使用pointer-events: none
来阻止它。
我的首选组合:
#myElement {
position: absolute;
opacity: 0;
pointer-events: none;
}
然后当你想展示它时:
$("#myElement").css({
'position': 'static',
'opacity': 1,
'pointer-events': 'all'
})
这里的奖励是,你可以转换不透明度,而不是visibility
或display
。
display:none;
肯定是要走的路,除非我误解了你的问题。 如果你的问题是.show()
将它切换到display:block;
那么只需使用jQuery向该元素添加一个类即可。
setTimeout(function() {
$('table').addClass('visible');
}, 2000);
table {
display:none;
}
table.visible {
display:table;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr><td>Test</td><td>Test</td></tr>
<tr><td>Test</td><td>Test</td></tr>
<tr><td>Test</td><td>Test</td></tr>
<tr><td>Test</td><td>Test</td></tr>
</table>
你想隐藏你的元素多久?
有多种方式可以做到这一点,您可以在浏览器中设置cookie,或者可以使用Javascript函数(如setTimeout)在固定的时间段后显示元素。
setTimeout( function() {
$("#your_element").show();
}, 5000); // Time in milliseconds
链接地址: http://www.djcxy.com/p/83557.html