div anzeigen, wenn jquery blocken

Lesezeit: 2 Minuten

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: blockoder display: inlineoder 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
}

Benutzeravatar von Hugo Matos de Souza
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!");
    }
  })
}

1431310cookie-checkdiv anzeigen, wenn jquery blocken

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy