利用原声js如何做到局部打印

<!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">
  <title>Document</title>
</head>
<body>
    <div id="one">我在打印内容的上边</div>
    <div id="printBox">
        <table border="1">
            <tr>
              <th>Month</th>
              <th>Savings</th>
            </tr>
            <tr>
              <td>January</td>
              <td>$100</td>
            </tr>
          </table>
    </div>
    <div id="two">我在打印内容的下边</div>
    <button onclick="iii('printBox')">打印</button>
  <script>
  	//如何用原声js做到页面局部打印
  	//打印原理就是利用 window.print() 打印,
  	//但是window.print打印的是body里的内容,
  	//如果想做到只打印局部,就要利用这个原理
  	//先把body里的内容存在一个副本里
  	//改变body里的内容,让body的内容等于你需要打印的那一部分
  	//打印完成之后再恢复打印之前的样子,从副本里取出来重新复制给body
  	//传入局部打印的id就ok
    iii = (id) => {
      let printBox = document.getElementById(id)
      let newcontext = printBox.innerHTML
      let oldcontext = document.body.innerHTML
      document.body.innerHTML = newcontext
      window.print()
      window.location.reload()
      document.body.innerHTML = oldcontext
    }
  </script>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值