2017-09-22 5 views
0

J'ai un bouton qui imprime la page en cours de visionnement. Je veux cacher mon menu de boutons qui est contenu dans le div 'mainMenuDiv' quand je vais imprimer.Comment cacher mon menu de boutons pendant l'impression?

Aucun des éléments suivants ne semble fonctionner et génère une erreur de style non-capturé nul.

document.getElementById('mainMenuDiv').style.display = 'none'; 
document.getElementById('mainMenuDiv').style.visibility = 'hidden'; 

Voici mon code d'écran d'impression

<button className="printBtn" onClick={this.printPage}>PRINT SCREEN</button> 

printPage() { 
     window.print(); 
    } 

Je ne sais pas comment je peux cacher mainMenuDiv sans utiliser ce qui précède document.getElementById appelle

+1

quoi 'console.log (document.getElem entById ('mainMenuDiv')) 'imprime dans vos outils de développement? – lukaleli

+0

null/undefined – user3622460

+0

Donc vous avez votre réponse;) L'élément n'est pas trouvé dans votre HTML. Vérifiez si l'identifiant dans votre code javascript correspond à l'identifiant actuel dans le code HTML et si votre script est ajouté juste avant la balise de fermeture 'body'. – lukaleli

Répondre

4

Vous pouvez utiliser le type @media appelé print et contrôler via CSS:

@media print { 
    #mainMenuDiv { 
    display: none; 
    visibility: hidden; 
    } 
} 
+0

cela fonctionne-t-il avec SASS? – user3622460

+0

[Oui] (http://sass-lang.com/documentation/file.SASS_REFERENCE.html#_media__media), tout comme les CSS standards. –