2010-12-07 9 views

答えて

34

この

<style type="text/css"> 
@media print 
{ 
body * { visibility: hidden; } 
.div2 * { visibility: visible; } 
.div2 { position: absolute; top: 40px; left: 30px; } 
} 
</style> 
+0

これはiPadで正しく動作していません。 –

3

ページの一部ではなくページ全体を印刷することができます。したがって、2つのオプションがあります.1つの要素の内容を新しいページにコピーして印刷するか、他の要素が印刷されないようにすることができます。

メディアCSSを使用して、印刷から1つの要素を非表示にすることができます。例:

@media print { 

    .div1 { display: none; } 

} 
17

もしあれば、あなたのWebページから特定のdivコンテンツを印刷することができますあなたの全ページを印刷したくない。

<html> 
<head> 
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.1.min.js" > </script> 



<script type="text/javascript"> 

    function PrintElem(elem) 
    { 
     Popup($(elem).html()); 
    } 

    function Popup(data) 
    { 
     var mywindow = window.open('', 'new div', 'height=400,width=600'); 
     mywindow.document.write('<html><head><title>my div</title>'); 
     /*optional stylesheet*/ //mywindow.document.write('<link rel="stylesheet" href="main.css" type="text/css" />'); 
     mywindow.document.write('</head><body >'); 
     mywindow.document.write(data); 
     mywindow.document.write('</body></html>'); 

     mywindow.print(); 
     mywindow.close(); 

     return true; 
    } 

</script> 
</head> 
<body> 

<div id="yourdiv"> 
    Div you want to print. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque a quam at nibh adipiscing interdum. Nulla vitae accumsan ante. 
</div> 

<div> 
    This will not be printed. 
</div> 

<div id="anotherdiv"> 
    Nor will this. 
</div> 

<input type="button" value="Print" onclick="PrintElem('#yourdiv')" /> 

</body> 
</html> 

Live Demo

4
<script type="text/javascript"> 
    function printDiv() {  
    var printContents = document.getElementById('Your printable div').innerHTML; 
    var originalContents = document.body.innerHTML; 
    document.body.innerHTML = printContents; 
    window.print(); 
    document.body.innerHTML = originalContents; 
    } 
</script> 
+0

キャンセルをクリックするともう一度私のために印刷されません... –

+0

@ChrisHappyおそらく、イベントリスナーが削除されている/ document.body.innerHTMLが置き換えられたときに失われたと考えています – DanTheMan

0

使用printAreaとjQueryのプラグインの特定のdiv内容を印刷します。ここから簡単な統合ガイドが見つかりました。How to print a specific area of the web page using jQuery

PrintArea jQuery Pluginを使用するには、次のコードだけが必要です。

<script> 
$(document).ready(function(){ 
    $("#printButton").click(function(){ 
     var mode = 'iframe'; 
     var close = mode == "popup"; 
     var options = { mode : mode, popClose : close}; 
     $("div.printableArea").printArea(options); 
    }); 
}); 
</script> 
-1
<script type="text/javascript"> 
    function printDiv() {  
    var printContents = document.getElementById('Your printable div').innerHTML; 
    var originalContents = document.body.innerHTML; 
    document.body.innerHTML = printContents; 
    window.print(); 
    document.body.innerHTML = originalContents; 
    } 
</script> 
0

簡単な方法

@media print { 
    body > div { display:none; } 
    body .div { display:block; } 
} 
0

また、それはjQueryのを使用して行うことができます。

<script> 
function printArea(){ 
    $('body').css('visibility', 'hidden'); 
    $('.div2').css('visibility', 'visible'); 
    window.print(); 
} 
</script> 
+0

私はあなたが身体を隠すことができると思いますその中に何かを見せて – mplungjan

0
.class-toggle { display: inline-block; } 
#div1, #div2 { display: none; } 
function classToggle() { 
    $('#div1').addClass('class-toggle'); 
} 

classToggle(); 

を次にあなたがイベントで遊ぶことができますどのように処理するかを処理するハンドラで、出力を に出力します。

関連する問題