SLOOP

window.print() div 를 이용한 부분인쇄

· 18년 전 · 6182
보통 print 함수 사용시 원하지 않는 부분이 출력되는데 div 를 이용하여 원하는 부분만 출력이 가능합니다.
 
<HTML>
<HEAD>
<STYLE>
DIV { position: relative; }
</STYLE>
<SCRIPT>
var div2print;
function printDiv (id) {
  if (document.all && window.print) {
    div2print = document.all[id];
    window.onbeforeprint = hideDivs;
    window.onafterprint = showDivs;
    window.print();
  }
  else if (document.layers) {
    div2print = document[id];
    hideDivs();
    window.print();
  }
}
function hideDivs () {
  if (document.all) {
    var divs = document.all.tags('DIV');
    for (var d = 0; d < divs.length; d++)
      if (divs[d] != div2print)
        divs[d].style.display = 'none';
  }
  else if (document.layers) {
    for (var l = 0; l < document.layers.length; l++)
      if (document.layers[l] != div2print)
        document.layers[l].visibility = 'hide';
  }
}
function showDivs () {
  var divs = document.all.tags('DIV');
  for (var d = 0; d < divs.length; d++)
    divs[d].style.display = 'block';
}
</SCRIPT>
</HEAD>
<BODY>
<DIV>
<p><font size="2"><b>아래 선택 상자에서 원하는 인쇄 영역을 선택한 다음 "특정 부분 인쇄" 버튼을 클릭하세요!</b></font></p>
<FORM>
<SELECT NAME="divSelect">
<OPTION value="d1">첫 번째 영역만 인쇄
<OPTION value="d2">두 번째 영역만 인쇄
<OPTION value="d3">세 번째 영역만 인쇄
</SELECT>
<INPUT TYPE="button"
       ONCLICK="var s = this.form.divSelect;
                var divID = s.options[s.selectedIndex].value;
                printDiv(divID);"
       VALUE="특정 부분 인쇄"
>
</FORM>
</DIV>
<DIV ID="d1">
<b>[첫 번째 영역]</b><br>
첫 번째 영역입니다!<br><br>
</DIV>
<DIV ID="d2">
<b>[두 번째 영역]</b><br>
두 번째 영역입니다!<br>
두 번째 영역을 선택하여 인쇄해 보세요!<br><br>
</DIV>
<DIV ID="d3">
<b>[세 번째 영역]</b><br>
세 번째 영역입니다!<br>
세 번째 영역을 선택하여 인쇄해 보세요!<br>
</DIV></BODY>
</HTML>
 
네이버 지식인 에서 발취 저작권 문제시 삭제 하겠습니다.
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

+
제목 글쓴이 날짜 조회
18년 전 조회 2,110
18년 전 조회 3,139
18년 전 조회 2,420
18년 전 조회 2,445
18년 전 조회 2,119
18년 전 조회 2,496
18년 전 조회 3,234
18년 전 조회 4,160
18년 전 조회 3,437
18년 전 조회 2,079
18년 전 조회 2,018
18년 전 조회 2,929
18년 전 조회 1,732
18년 전 조회 2,088
18년 전 조회 2,368
18년 전 조회 2,245
18년 전 조회 2,336
18년 전 조회 4,093
18년 전 조회 1,857
18년 전 조회 4,450
18년 전 조회 2,986
18년 전 조회 2,306
18년 전 조회 3,333
18년 전 조회 2,965
18년 전 조회 2,898
18년 전 조회 5,693
18년 전 조회 2,362
18년 전 조회 3,483
18년 전 조회 3,393
18년 전 조회 3,776
18년 전 조회 3,337
18년 전 조회 2,510
18년 전 조회 2,166
18년 전 조회 2,613
18년 전 조회 6,174
18년 전 조회 2,799
18년 전 조회 4,602
18년 전 조회 2,101
18년 전 조회 1만
18년 전 조회 2,549
18년 전 조회 1,615
18년 전 조회 3,042
18년 전 조회 2,992
18년 전 조회 2,883
18년 전 조회 2,205
18년 전 조회 2,386
18년 전 조회 2,936
18년 전 조회 3,026
18년 전 조회 4,192
18년 전 조회 6,183
18년 전 조회 2,127
18년 전 조회 2,250
18년 전 조회 1,952
18년 전 조회 1,708
18년 전 조회 2,692
18년 전 조회 1,740
18년 전 조회 1,611
18년 전 조회 4,796
18년 전 조회 1,840
18년 전 조회 1,895
18년 전 조회 1,900
18년 전 조회 2,022
18년 전 조회 3,689
18년 전 조회 1,705
18년 전 조회 1,581
18년 전 조회 1,414
18년 전 조회 1,915
18년 전 조회 1,953
18년 전 조회 3,718
18년 전 조회 2,041
18년 전 조회 3,177
18년 전 조회 4,809
18년 전 조회 2,936
18년 전 조회 8,104
18년 전 조회 4,112
18년 전 조회 2,807
18년 전 조회 1,582
18년 전 조회 2,688
18년 전 조회 5,096
18년 전 조회 5,279
18년 전 조회 2,150
18년 전 조회 4,409
18년 전 조회 4,157
18년 전 조회 4,218
18년 전 조회 2,337
18년 전 조회 4,247
18년 전 조회 2,243
18년 전 조회 3,343
18년 전 조회 4,982
18년 전 조회 2,004
18년 전 조회 3,471
18년 전 조회 1,702
18년 전 조회 2,797
18년 전 조회 1,731
18년 전 조회 2,780
18년 전 조회 2,615
18년 전 조회 1,615
18년 전 조회 1,556
18년 전 조회 1,803
18년 전 조회 2,307