javascript呼叫列印頁面介面實現頁面列印功能
阿新 • • 發佈:2019-01-24
效果圖如下:
程式碼如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/page/index.css" >
<title>window呼叫列印介面</title>
<style>
#pr{width:100px;height:40px;line-height:40px;text-align:center;background:#ccc;}
.box{width:600px;background:red;}
</style>
</head>
<body>
<div class="box">
<h1>列印的內容</h1>
<p >區域性內區域性內容區域性內容區域性內容區域性內容區域性內容區域性內容局</p>
</div>
<div id="tt">外部不列印的內容</div>
<div id="pr">點選列印</div>
</body>
</html>
<script>
function $(selector){
return document.querySelector(selector);
}
//列印頁面全部
$("#pr").onclick =function (){
window.print();
}
/* 列印區域性內容,原理:window.print會列印整個html顯示的內容
* 那麼想一下,如果要列印區域性的內容怎麼辦好呢?換個思路,將要列印的頁面的html先快取起來,然後將要
* 列印的內容部分的html替換掉整個頁面,呼叫方法列印,那麼打印出來的就是區域性的了,最後再將之前快取
* 的html替換回去就好了。
* */
$("#pr").onclick =function(){
var oldHtml = $("body").innerHTML;
var printbox = $(".box").innerHTML;
$("body").innerHTML = printbox;
window.print();
$("body").innerHTML = oldHtml;
}
</script>