2012-05-30 3 views
0

다음과 같은 문제가 있습니다. WordPress Theme의 인쇄 버전을 수정하려고합니다. 테마에는 포함되지 않은 일부 스크립트에서 생성 된 jQuery 이미지 슬라이드 쇼가 포함되어 있습니다.인쇄용 JavaScript 덮어 쓰기 제거

HTML에서 슬라이드 쇼는 각 이미지에 하나의 이미지가 포함 된 ul입니다. li 요소에는 'featured'및 'slide_number_n'클래스가 있으며 n은 슬라이드 번호 (예 : slide_number_1, slide_number_2 등)입니다.

그래서 슬라이드 쇼는 다음과 같이 보일 것입니다 :

<ul class="slideshow_container"> 
    <li class="featured slide_number_1" style="display:block"><img src="foo.jpg" /></li> 
    <li class="featured slide_number_2" style="display:none"><img src="bar.jpg" /></li> 
</ul> 

을 나는 (물론) 페이지의 인쇄 버전을 보면이 슬라이드 쇼의 모든 이미지가 포함되어 있지만, 우리의 고객이 첫 번째 원 표시된 디스플레이, 그래서 그것을 변경하려고 시도. 그러나 슬라이드 쇼에 첫 번째 이미지가 표시된 후에 인쇄 버전을 열면 JS가 모든 표시 값을 인라인으로 덮어 쓰기 때문에 전혀 이미지가 표시되지 않습니다. 이 JS 변경 사항을 되돌릴 수 없으며 심지어 !importantli[style]을 내 print.css에 사용하지 않았습니다.

JS의 변경 사항을 print.css에서 되돌릴 수 있습니까?

답변

1

!important 작동합니다 당신과 관련, 줄리안 감사드립니다. 우리가 코드의 자세한 내용을 볼 필요가 다음 작동하지 않는 경우 http://jsfiddle.net/CqAXu/

:

내 예를 참조하십시오.

+0

이 작동 것, 나는 그것을로드 즉시 페이지를 인쇄합니다. 그러나 JS에 의해 변경된 인라인 CSS는 변경되지 않습니다. IT 부서에서 브라우저 특정 문제 일 수 있다고 생각했습니다. 지금까지 저는 FF와 Opera로 그것을 만났습니다. – JulianB

+0

http://jaredmcateer.com/test.html 크롬에서 테스트 한 결과 첫 번째 div를 숨기고 두 번째를 표시합니다 ... print.css를 인쇄하면 모든 div가 숨겨지고 ' .someDiv' – JaredMcAteer

0

은 첫 번째 인쇄하려면 :

<style media="print"> 
    #slideshow_container .feature { 
     display: none!important; 
    } 

    #slideshow_container :first-child { 
     display: list-item!important; 
    } 
</style> 

<ul id="slideshow_container"> 
    <li class="feature" style="display: none">Print</li> 
    <li class="feature" style="display: list-item">Noprint, Current</li> 
    <li class="feature" style="display: none">Noprint</li> 
    <li class="feature" style="display: none">Noprint</li> 
    <li class="feature" style="display: none">Noprint</li> 
</ul> 
+0

다시, 같은 문제. jQuery가 변경되기 전에 페이지를 인쇄하면 작동합니다. 그러나 jQuery가 첫 번째 자식을'style = "display : none"'으로 설정하자마자 CSS는 그것을 무시할 수없는 것 같습니다. – JulianB

+0

style = "display : none! important"로 설정하지 않으면이 값을 대체해야합니다. – jasssonpet

+0

브라우저는 인쇄 버전을 생성 할 때 페이지를 다시로드하지 않고 페이지로드시 print.css를로드하는 것처럼 보입니다. 적어도 그것은 왜 JS가 내 CSS에 과부하가되는지 설명 할 것입니다. – JulianB