初始加载后将div更改为可见?

时间:2018-04-15 13:42:11

标签: javascript jquery

我有一个问题,在javascript之前加载div,显示文本,加载javascript后,它将以不同方式显示(自动滚动)。为防止这种情况,我尝试将visibility: hidden;添加到div #vs,然后将以下代码添加到jQuery document.getElementById("vs").style.visibility= "visible";

这解决了这个问题,但是3秒后它会消失,3秒后它会重新出现,并且它会继续这样。我该如何防止这种情况?

jQuery(document).ready(function($) {
  function autoRefresh() {
    $.ajax({
      success: function(data) {
        // Find div id #vs
        var result = $('<div />').append(data).find('div#vs').html();
        $('div#vs').html(result);

        document.getElementById("vs").style.visibility= "visible";
        // If div id #vs takes up more than 85% of inner height, add class .vscroll
        if (document.getElementById('vs').clientHeight > window.innerHeight * 0.85)
          $('div#vs').addClass('vscroll');
        // If div id #vs takes up less than 85% of inner height, remove class .vscroll
        if (document.getElementById('vs').clientHeight < window.innerHeight * 0.85)
          $('div#vs').removeClass('vscroll');
      }
    });
  }
  autoRefresh();
  // Refresh at page load and every 3000 milliseconds / 3 seconds
  var auto_refresh = setInterval(autoRefresh, 3000);
})

1 个答案:

答案 0 :(得分:1)

我不是JQuery专家,但我认为这是因为您使用的是getElementById()而不是JQuery选择器。

我认为你需要这样做:

$('div#vs').attr('style','visibility: visible');

请原谅我,如果JQuery代码并不完美,我还没有尝试过运行它