参照サイト)
https://www.tsukimi.net/jquery_specific-range_printing.html
参照サイトの2つめ「特定の範囲だけを印刷する」を実装し、
参照サイトと同じように「ブラウザのメニューの印刷」では全ての範囲で印刷をしたいのですが上手くいきません。
参照サイトでは「このページを印刷する」ボタンでは、特定の範囲だけで印刷定され、
ブラウザのメニューの印刷では全ての範囲で印刷されます。
しかし自身で試したところ、「このページを印刷する」ボタンと「ブラウザのメニューの印刷」のどちらも
「特定の範囲(下記サンプルのmainのみ)だけを印刷」になってしまいます。
以下サンプルソースです
<!DOCTYPE html> <html> <head> <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <style type="text/css"> @media print{ .print{display:none;} } </style> <style type="text/css"> header{ height: 200px; background-color: red; } main{ height: 200px; background-color: green; } footer{ height: 200px; background-color: blue; } </style> <script type="text/javascript"> $(function(){ //非表示にしたい要素 var hide_elm = $('.header,.footer,.sidebar'); //ボタンをクリック $('button').click(function(){ //非表示 hide_elm.addClass('print'); //印刷 window.print(); //元に戻す hide_elm.removeClass('print'); }); }); </script> </head> <body> <header class="print"></header> <main class="main"></main> <button onclick="window.print();">このページを印刷する</button> <footer class="print"></footer> </body> </html>回答2件
あなたの回答
tips
プレビュー