隐藏CSS元素而不更改显示属性

这个问题在这里已经有了答案:

  • jQuery .hide()设置可见性的等价物:隐藏4个答案

  • 有几种方法。 要么你可以使元素的position: absoluteposition: fixed所以它不占用任何空间,然后使用任何visibility: hiddenopacity: 0等。您需要注意的一件事是,如果他们没有display: none ,他们仍然可以接收点击事件,所以使用pointer-events: none来阻止它。

    我的首选组合:

    #myElement {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }
    

    然后当你想展示它时:

    $("#myElement").css({
      'position': 'static',
      'opacity': 1,
      'pointer-events': 'all'
    })
    

    这里的奖励是,你可以转换不透明度,而不是visibilitydisplay


    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

    上一篇: Hide CSS Element Without Changing Display Property

    下一篇: How .show() and .hide() work in jquery