Ich versuche herauszufinden, ob eine Anzeige im Div-Stil blockiert ist. Dann tun Sie etwas, hier ist ein Beispiel
Dies ist nur eine Vermutung, die ich versuche, es in Jquery zu tun
if("#toshow":"display" == "block"){
}else{
}
Ich versuche herauszufinden, ob eine Anzeige im Div-Stil blockiert ist. Dann tun Sie etwas, hier ist ein Beispiel
Dies ist nur eine Vermutung, die ich versuche, es in Jquery zu tun
if("#toshow":"display" == "block"){
}else{
}
Sie wollen also unterscheiden display: block
und display: none
? Wenn ja, können Sie die besser verwenden is()
Funktion in Kombination mit der :visible
Selektor dazu:
if ($('#toshow').is(':visible')) {
} else {
}
Dies funktioniert unabhängig davon, ob Sie verwendet haben display: block
oder display: inline
oder display: inline-block
.
@Dustin: Ich bin mir nicht sicher, warum Sie einen solchen Kommentar posten, obwohl dies sehr einfach ist, selbst zu experimentieren. Wenn Sie ein Problem mit diesem speziellen Fall haben, wird es an anderer Stelle verursacht.
– BalusC
28. April 2013 um 19:02 Uhr
Okay, sagen wir es mal so. Dies funktioniert, wenn Sie wissen möchten, ob das div derzeit sichtbar ist. Dies funktioniert nicht, wenn Sie wissen möchten, ob das div ein Block ist (die ursprüngliche Frage, die mich auch zu dieser Stackoverflow-Frage aus einer Google-Suche geführt hat). In meinem Fall wollte ich wissen, ob ein (derzeit verstecktes) div würde ausgeblendet werden, als ich das übergeordnete div enthüllte. jsfiddle.net/ejVvu/1 Wie Sie sehen können, funktioniert diese Antwort nicht, um zu überprüfen, ob ein div ein Blockattribut hat (die ursprüngliche Frage). Also +1 für eine “bessere” Lösung für die aktuelle Sichtbarkeit, aber nicht die Antwort auf die Frage.
– Dustin Graham
29. April 2013 um 20:00 Uhr
@Dustin: Die Antwort hat gerade beantwortet, was das OP eigentlich erforderlich. Siehe auch meta.stackexchange.com/questions/66377/what-is-the-xy-problem
– BalusC
29. April 2013 um 20:10 Uhr
Ihr Standpunkt ist gültig, ich bin mir nicht sicher, was hier der richtige Ansatz ist, da das OP seine Frage so formuliert hat exakt was ich wissen musste, worauf Brian antwortete. Mit der XY-Problemphilosophie und der Tatsache, dass die div-ID des OP #toshow lautete, können Sie jedoch zu Recht den Schluss ziehen, dass er tatsächlich eine Möglichkeit brauchte, um festzustellen, ob im Moment etwas sichtbar war. Vielleicht eine Bitte, die Frage zu klären, oder eine erweiterte Antwort, die eine direkte Antwort und eine „Was Sie vielleicht wirklich brauchen, ist …“-Alternative enthält. Wie auch immer, hoffentlich hilft meine Geige Benutzern, die in meiner Situation waren. TY für die XY-Verbindung
– Dustin Graham
29. April 2013 um 20:39 Uhr
Sie müssen die verwenden css
Funktion.
if($("#toshow").css("display") == "block"){
}else{
}
$(document).ready(function(){
if ($('#toshow').css('display') == 'block') {
// Do something.
} else {
// Do something else.
}
});
Sollte den Trick machen.
Vergiss nicht deine :visible
Wähler.
if ($("#toshow:visible").length) {
// it's visible
} else {
// it's not visible
}
Hugo Matos de Suza
Diese Option hat einwandfrei funktioniert. Ich bin Brasilianer und musste den Text übersetzen, aber als ich den Code sah, sah ich sofort, dass es die richtige Option war.
function reversoObjeto() {
$('#janela').fadeToggle(500, function(e) {
if ($("#janela").css("display") == "none") {
alert("Janela Apagou!");
} else {
alert("Janela Acendeu!");
}
})
}