Si l'élément est visible (JavaScript )
J'ai une fonction javascript qui tente de déterminer si une div qui est visible et ne divers processus avec cette variable. Je suis avec succès en mesure de swap un des éléments de visibilité en la changeant d'affichage entre aucun et bloc; mais je ne peut pas stocker cette valeur...
J'ai essayé de faire les éléments d'affichage de la valeur de l'attribut et de trouver, si l'ID de l'élément est visible, mais aucune n'a fonctionné. Quand j'essaie .getAttribute elle renvoie toujours null; je ne suis pas sûr pourquoi, parce que je sais que id est défini, et il a un attribut d'affichage.
Voici le code des deux différentes méthodes que j'ai essayé:
var myvar = $("#mydivID").is(":visible");
var myvar = document.getElementById("mydivID").getAttribute("display");
Des conseils ou de l'aide serait grandement appréciée.
display
est un membre de la style
de la propriété, et non pas un attribut.J'ai essayé d'utiliser visibles en tant que bien, mais cela ne fonctionne pas trop. Donc, si je ne peux pas appeler l'affichage, car ses une propriété CSS et non pas un Attribut JavaScript comment pourrais-je suivre?
Comment définissez-vous "visible"? N'éléments en dehors de la fenêtre compte aussi? Ne
visibility: hidden
compte aussi?Comment est
$("#mydivID").is(":visible");
pas de travail?is(':visible')
fonctionne très bien, donc le problème est ailleurs, et de passer à quelque chose d'autre qui fait exactement la même chose ne sera probablement pas beaucoup d'aide.OriginalL'auteur Devon Bernard | 2013-04-27
Vous devez vous connecter pour publier un commentaire.
Écran n'est pas un attribut, c'est une propriété CSS à l'intérieur de la
style
attribut.Vous cherchez peut-être pour
ou
OriginalL'auteur SeinopSys
Essayer comme ceci:
VIOLON
Assurez-vous d'inclure le fichier jQuery à l'intérieur de la
head
balise, comme suitBien qu'il dit que ça ne marchait pas, Palash du code ressemble tout à fait valables aussi moi.
Non, nous pouvons peut-être supposer que l'OP but pour définir jQuery, mais ça ne veut pas dire que c'est réellement définie. Mon problème avec cette réponse, c'est que la question des états "Voici ce que j'ai essayé"
$("#mydivID").is(":visible")
, et la réponse est "Ok, alors essayez cette"$("#mydivID").is(":visible")
, ce qui n'ajoute aucune information utile.Aussi, je ne vois pas un point de poster une réponse qui duplique exactement ce que l'OP a montré qu'ils ont essayé, sans une explication. Leur question ne peut pas être logique, mais il est plus logique d'expliquer la réponse et de fournir des solutions de rechange, ou de poser des questions à l'avance
Je ne pense toujours pas que l'ajout de "Inclure jQuery" aide. Mon point est que si quelqu'un veut poster une réponse qui a le code de l'OP (confusion question), il doit être expliqué. Par exemple, je veux commencer avec "eh Bien, vous essayez de faire 2 choses différentes avec
.is(":visible")
et.getAttribute()
. Vous semblez vouloir savoir si il est visible, mais vous êtes également en essayant seulement d'obtenir sondisplay
style. Si vous voulez voir si elle est visible, l'utilisation.is(":visible")
qui retourne un booléen. Si vous avez besoin de ladisplay
de la propriété, de l'utilisation: (bon code pour l'obtenir)." et inclure des référencesOriginalL'auteur palaѕн
Prenons quelques secondes pour voir ce que
.is(":visible")
est de faire en jQuery, allons-nous?Voici un lien: https://github.com/jquery/jquery/blob/master/src/css.js#L529
return !jQuery.expr.filters.hidden( elem );
où
Donc, c'est juste vérifier le décalage de la largeur et de la hauteur de l'élément.
Cela dit, et également intéressant de noter, lors de jQuery vérifie si un élément est caché (comme lors du déclenchement d'un 'toggle' événement), il effectue un contrôle sur la propriété d'affichage et ses existence dans les dom. https://github.com/jquery/jquery/blob/master/src/css.js#L43
Je ne suis pas certain de la version de jQuery qui est, et je n'aime pas regarder, mais la dernière version n'est plus que juste cela -
return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
eh bien, elle donne un aperçu de pourquoi ce qu'il cherchait n'était pas de travail et/ou la bonne approche, puis donne un aperçu de ce qui doit être fait est de mettre le "display" de la propriété, que l'on a déjà répondu... donc....
c'est bizarre, je suis le référencement de la branche master sur github...?
J'étais en train de regarder code.jquery.com/jquery-latest.js - Qui, pour moi, c'est de montrer 1.9.1. Je ne serais pas surpris si mon navigateur cache cette version (au lieu de 2.0) parce que je l'ai ouvert pour un certain temps, qui prend toujours en charge les vieux IE (et a ces choses dans). Intéressant
OriginalL'auteur Nirvana Tikku
Si vous voulez faire cela seule façon javascript, vous pouvez essayer de
OriginalL'auteur Gaurav