2013-09-02 3 views
-1

Y at-il autre pouralternatif pour display: none

display:none; 

J'utilise jquery pour afficher un div uniquement clic. Ceci est mon code

$(document).ready(function() { 
$('#showmenu').click(function() { 
    $('#showmenu').text($('.sidebarmenu').is(':visible') ? 'Show Menu' : 'Hide Menu'); 
    $('.sidebarmenu').toggle("slide"); 
}); 
}); 

Ceci est mon HTML

<button id="showmenu" type="button">Show menu</button></div> 
<div class="sidebarmenu" style="display: none;"> 
    Can the button value change to "show" or "hide" 
</div> 

Mais je ne peux pas utiliser

 display:none;
Quels sont les autres moyens d'atteindre, vous pouvez également this

+6

Vous devez fournir plus de contexte/code pour que cela ait du sens. –

+0

Utiliser l'opacité? N'oubliez pas de le préfixer pour les navigateurs plus anciens. – Albzi

+0

quelle est l'erreur exacte, pouvez-vous s'il vous plaît expliquer? –

Répondre

0

essayer avec visibility attribut.

visibility:hidden 
+1

S'il vous plaît noter que ce ne sera pas afficher l'élément, mais occuper l'espace qui serait nécessaire sur la page. Vous aurez alors une zone vide dans votre page. – Sliq

+0

définir l'attribut height et width sur 0. – NaYaN

1

Vérifiez également HTML5 “the hidden attribute”

<div hidden>This is hidden</div> 
+0

retournons-nous à font = "" center etc? Pourquoi ont-ils ajouté cet attribut? omg –

+2

Bien que j'encourage une plus grande prise de conscience de l'attribut 'hidden', notez que (a) ce n'est PAS la même chose que' display: none'. L'attribut 'hidden' porte une sémantique sur la pertinence du contenu de son élément d'une manière que' display: none' ne possède pas; (b) l'aspect présentationnel de l'attribut caché est obtenu en appliquant 'display: none' à l'élément sur lequel il apparaît, donc tout problème provoqué par' display: none' sera également causé par l'ajout de l'attribut 'hidden' . – Alohci

2

Vous pouvez le cacher et le forcer à prendre des pas d'espace avec ces lignes:

visibility: hidden; 
height: 0; 
width: 0; 
overflow: hidden; 
0

Dans le cas où il contient du texte seulement, juste définir sa taille de police à 0:

<div id="Div1">You won't see me</div> 

CSS:

#Div1 { font-size: 0px; } 

Fiddle.

3

En addition aux autres answers: vous could également:

  1. move la element outside du la viewport de l'usager, like:

    position: fixed; 
    left: -99999; /* or without the minus, depends */ 
    top: -99999; /* or without the minus, depends */ 
    
  2. Utilisez opacity:

    opacity: 0; 
    
  3. Une manière sale de rendre le texte "invisible" pour l'utilisateur, mais lisible pour les machines est de c reate un élément avec fond blanc et texte blanc. ;) S'il vous plaît noter que Google a des algorithmes puissants pour détecter cela et voit cela comme une fraude SEO lorsqu'il est surutilisé. N'en abusez pas (voir les blogs SEO pour plus d'informations) ou votre site sera classé.

Questions connexes