【问题标题】:Show/Hide without reloading显示/隐藏而不重新加载
【发布时间】:2017-01-04 02:55:03
【问题描述】:

我正在展示 2 个嵌入。嵌入有一个指向 pdf 的链接:

<div id="container" class="text-center">           
    <embed src="www.example.com/pdf1.pdf" width="550" height="800" type='application/pdf' id="mypdf1">
    <embed src="www.example.com/pdf2.pdf" width="550" height="800" type='application/pdf' id="mypdf2">
</div>

我还有 2 个按钮,一个用于显示嵌入,另一个用于隐藏嵌入。像这样:

<div class="button">
    <button class="btn-info" onclick="hide('thePdf2')" type="button">HIDE</button>
</div>
<div class="button">
    <button class="btn-info" onclick="show('thePdf2')" type="button">SHOW</button>
</div>

我使用以下函数来显示和隐藏嵌入:

<script> 
    function show(target) {
        document.getElementById(target).style.display = 'block';
    }
    function hide(target) {
        document.getElementById(target).style.display = 'none';
    }
</script>

我只显示和隐藏其中一个嵌入,我的问题是:每次我显示嵌入时,它都会重新加载 pdf 并转到 pdf 页面的顶部。我不想每次显示 pdf 时都重新加载它。我怎样才能做到这一点?

【问题讨论】:

    标签: javascript jquery html pdf


    【解决方案1】:

    没有在我的浏览器 (Chrome) 中重新加载 PDF,因此我无法重现,但使用 .visibility 而不是 .display 可能在您的浏览器中有效。

    <script> 
        function show(target) {
            document.getElementById(target).style.visibility = 'visible';
        }
        function hide(target) {
            document.getElementById(target).style.visibility = 'hidden';
        }
    </script>
    

    【讨论】:

      【解决方案2】:

      您也可以使用 .show()/.hide() Jquery 函数。工作 plunck here。仅供参考,还添加了将所选 PDF 加载到单个 &lt;emded&gt; 的演示。

      /* toggle show hide of pdf */
      $(document).on('click', '.pdf-container button', function(event){
          var $target = $(event.target);
          var $pdfViewer = $target.closest('.pdf-container').find('embed');
      
          if(!$pdfViewer){ return; }
          if($pdfViewer.is(':visible')){
              $pdfViewer.hide();
              $target.text('show');
              return;
          } 
      
          $pdfViewer.show();
          $target.text('hide');
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-29
        • 1970-01-01
        • 1970-01-01
        • 2019-11-20
        • 1970-01-01
        • 2015-12-21
        • 1970-01-01
        相关资源
        最近更新 更多