2017-11-20 18 views
0

아코디언 기능이있는 페이지를 함께 넣었으므로 페이지가 너무 길지 않아서 이제는 페이지를 인쇄 할 때 열리는 섹션 만 인쇄됩니다. 모든 버튼을 열거 나 모든 버튼을 인쇄하여 어떤 도움이라도 대단히 감사합니다!모두를 위해 아코디언 인쇄/모두 인쇄

누군가 도와주세요.

CSS

button.accordion { 
    background-color: #13294b; 
    border: 2px solid #59cbe8; 
    border-radius: 0px 10px 0px 10px; 
    box-shadow: 7px 7px 5px #cccccc; 
    color: #fff; 
    cursor: pointer; 
    padding: 10px 15px 10px 15px; 
    margin: 4px 0px 7px 0px; 
    width: 100%; 
    font-size: 18px; 
    transition: 0.4s; 
    outline: none; 
    text-align: left; 
} 

button.accordion.active, button.accordion:hover { 
    background-color: #1f447b; 
} 

button.accordion:after { 
    content: '\002B'; 
    color: #59cbe8; 
    font-weight: bold; 
    float: right; 
} 

button.accordion.active:after { 
    content: "\2212"; 
} 

div.panel { 
    padding: 0 18px; 
    background-color: white; 
    max-height: 0; 
    overflow: hidden; 
    transition: max-height 0.2s ease-out; 
} 

HTML은

<button class="accordion">Title 1</button> 
<div class="panel">content</div> 

<button class="accordion">Title 2</button> 
<div class="panel">content</div> 

스크립트

var acc = document.getElementsByClassName("accordion"); 
var i; 

for (i = 0; i < acc.length; i++) { 
    acc[i].onclick = function() { 
    this.classList.toggle("active"); 
    var panel = this.nextElementSibling; 
    if (panel.style.maxHeight){ 
     panel.style.maxHeight = null; 
    } else { 
     panel.style.maxHeight = panel.scrollHeight + "px"; 
    } 
    } 
} 
+0

은 그냥 클릭하면 패널을 통해 반복하고 "열기"높이로 각각의'height'을 설정하는 "인쇄"버튼을 추가하고 호출 : 예를 들어

'window.print()'메소드. 그런 다음 활성 패널의'click' 이벤트를 트리거하여 모든 높이를 재설정하십시오. –

+0

안녕 스콧, 정보 주셔서 감사합니다, 조금 자바 스크립트에 새로운, 당신이 나를 통해 지시 할 수 있습니까? 건배 – nsic

+0

안녕하십니까, 도와주세요 – nsic

답변

0

는 미디어 쿼리 인쇄 https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries를 사용합니다.

.accordion .collapsed { 
 
    height: 0; 
 
    overflow: hidden; 
 
} 
 

 
@media print { 
 
    .accordion .collapsed { 
 
     height: auto; 
 
    } 
 
}
<ul class="accordion"> 
 
    <li class="collapsed">this is hidden</li> 
 
    <li class="collapsed">this is hidden</li> 
 
    <li>this is not hidden</li> 
 
    <li class="collapsed">this is hidden</li> 
 
    <li class="collapsed">this is hidden</li> 
 
    <li class="collapsed">this is hidden</li> 
 
</ul> 
 

 
<button onclick="window.print()">Print</button>

+0

감사합니다. 코드가 완벽합니다. 내 기존 CSS 코드에이 코드를 적용하는 방법을 보여 주시겠습니까? 현재 코드가 교차 섹션에 적용되어 정말로 모든 것을 다시하고 싶지 않아요. – nsic

+0

첫 번째로, 아코디언 요소를 숨기는 CSS를 찾을 필요가 있습니다.이 코드는 광산에서'.accordion .collapse'이고 다음에 재정의해야합니다. 내 코드에서 미디어 쿼리 인쇄로 'height : 0'으로 숨기고'height : auto'로 재정의합니다. 다른 메소드는'display : none'으로 숨기고'display : block'으로 오버라이드합니다. 귀하의 코드에 따라 다릅니다. 괜찮 으면 아코디언 파트를 포함하도록 질문에서 CSS를 업데이트하여 나 또는 누군가가 당신을 위해 발견 할 수 있도록하십시오 – am05mhz