我正在显示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>
我只显示并隐藏其中一个嵌入,我的问题是:Evertime我显示嵌入它重新加载pdf并转到pdf页面的顶部。每次我展示它时,我都不想重新加载pdf。我怎样才能做到这一点?
答案 0 :(得分:7)
我没有在浏览器(Chrome)中重新加载PDF,因此我无法重现,但使用.visibility而不是.display可能会在您的浏览器中运行。
<script>
function show(target) {
document.getElementById(target).style.visibility = 'visible';
}
function hide(target) {
document.getElementById(target).style.visibility = 'hidden';
}
</script>
答案 1 :(得分:0)
你也可以使用 .show()/。hide() Jquery函数。工作笨拙here。仅供参考,还添加了将选定的PDF加载到单<emded>
中的演示。
/* 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');
});