ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryプラグインを使用してページコンテンツを印刷する方法

jqueryプラグインを使用してページコンテンツを印刷する方法

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-15 10:54:291701ブラウズ

今回は、jquery プラグインがページのコンテンツを印刷する方法について説明します。以下は実際的なケースです。

ビジネスシナリオ顧客はページ上に印刷ボタンが必要で、それをクリックすると、Echartsチャートの内容とテキストプロンプト情報が印刷できることがわかりました。の実装方法が3つほどあり、残りの2つはあまり馴染みがないことと、印刷方法がjQueryをベースに開発された印刷プラグインなので、jQueryを使って要素を見つけることができるので、これにしました。この方法を使用します。

まず、次のような実装レンダリングを見てください:

実装レンダリング

js ファイルの紹介

<script type="text/javascript" src="JS/jquery-migrate-1.2.1.min.js"></script>
<script type="text/javascript" src="JS/jqprint-0.3.js"></script>

注: ここにjQueryが最初に導入されたファイルがあります。最初の js ファイルが導入されていない場合、互換性の問題が発生し、jqprint を使用して印刷するときにエラーが発生します。

htmlページたくさんの

htmlタグがあります

<p class="wrap-content container" id="container">
 <table border="0" cellpadding="0" cellspacing="0" class="store-joinin baseinfo">
  <thead>
   <tr>
    <th colspan="40">用户信息</th>
   </tr>
  </thead>
  <tbody>
   <tr style="background: rgb(255, 255, 255);">
    <th>姓名:</th>
    <td colspan="40">18030632605</td>
   </tr>
   <tr style="background: rgb(255, 255, 255);">
    <th>性别:</th>
    <td colspan="40">男</td>
   </tr>
   <tr style="background: rgb(255, 255, 255);">
    <th>年龄:</th>
    <td colspan="40">41</td>
   </tr>
   <tr style="background: rgb(255, 255, 255);">
    <th>身份证:</th>
    <td colspan="40">52272419770101059X</td>
   </tr>
   <tr style="background: rgb(255, 255, 255);">
    <th>所属机构:</th>
    <td colspan="40">上海市政法委</td>
   </tr>
  </tbody>
  </table>
 ......
 <button class="btn btn-danger printBtn1" onclick="btnPrintClick()" type="button">打 印</button>
もちろん、ここには示されていない多くのHTMLタグが以下にあります。

印刷ボタンをクリックした後に実行される機能

function btnPrintClick(){
 var imgBox = $('#img_box');
 var chartBox = $('#main');
 if (imgBox.length <= 0) {
  chartBox.after(&#39;<p id="img_box"></p>');
  imgBox = $('#img_box');
 }
 // 将echart生成图片并放入img-box,并显示图片img-box
 imgBox.html('< img src="&#39; + myChart.getDataURL() + &#39;"/>').css('display','block');
 // 隐藏echart图chart-box
 chartBox.css('display','none');
 // 调整img大小
 var img = imgBox.find('img');
 var imgWidth = img.width();
 var showWidth = 1000; // 显示宽度,即图片缩小到的宽度
 if (imgWidth > showWidth) { // 只有当图片大了才缩小
  var imgNewHeight = img.height() / (imgWidth / showWidth);
  img.css({'width': showWidth + 'px', 'height': imgNewHeight + 'px'});
 }
 var imgBox2 = $('#img_box2');
 var chartBox2 = $('#main2');
 if (imgBox2.length <= 0) {
  chartBox2.after(&#39;<p id="img_box2"></p>');
  imgBox2 = $('#img_box2');
 }
 // 将echart生成图片并放入img-box,并显示图片img-box
 imgBox2.html('< img src="&#39; + myChart2.getDataURL() + &#39;"/>').css('display','block');
 // 隐藏echart图chart-box
  chartBox2.css('display','none');
 // 调整img大小
 var img2 = imgBox2.find('img');
 var img2Width = img2.width();
 var show2Width = 1000; // 显示宽度,即图片缩小到的宽度
 if (img2Width > show2Width) { // 只有当图片大了才缩小
  var img2NewHeight = img2.height() / (img2Width / show2Width);
  img2.css({'width': show2Width + 'px', 'height': img2NewHeight + 'px'});
 }
 // 打印
 $("#TestQuestions").jqprint();
 // 执行打印后再切换回来
 // 显示echart图chart-box
 chartBox.css('display','block');
 chartBox2.css('display','block');
 // 隐藏图片img-box
 imgBox.css('display','none');
 imgBox2.css('display','none');
}

注: ここでは画像の拡大縮小方法が使用されています。たとえば、Echarts チャートで多くのコンテンツを表示する必要がある場合、通常はスクロール バーを使用して、もう一度復元します。

印刷する必要のないラベルは、最初に非表示にすることができます。印刷ページに表示する必要のないラベル コンテンツについては、jQuery を使用して印刷前に対応する要素を検索し、その要素を非表示にし、印刷後に非表示の要素を表示します。このケースを読んだ後は、それをマスターできたと思います。さらに興味深い方法については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jQuery実行ページでデフォルトでクリックイベントをトリガーする方法

jqueryでの使用とクリックの方法

layuiのウィンドウ間でパラメータを渡す方法ポップアップウィンドウ

以上がjqueryプラグインを使用してページコンテンツを印刷する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。