2011-01-11 6 views
13

Ist der jQuery('#selector').css({'opacity':50}); Cross-Browser?jquery opacity cross browser?

Der einzige Grund, warum ich frage ist, weil die Linie unten, dass wir normalerweise auf CSS verwenden würden

-moz-opacity:.50; filter:alpha(opacity=50); opacity:.50;

Antwort

26

dies ist wahrscheinlich besser:

$(element).fadeTo(0, 0.5);
+0

'css ({opacity: 50})' funktioniert nicht immer, gut auf chrome nicht, aber nice one mit 'fadeTo' :) – Val

+0

Das ist kaum das selbe, denn das setzt nicht nur die Deckkraft in ein Cross-Browser-Weg, aber animiert es auch. Im Zeitalter von CSS3 mag dies aufgrund von CSS-Übergängen nicht erwünscht sein. –

+2

@RobertKoritnik, überprüfen Sie die API, bevor Sie solche Behauptungen machen; Das erste Argument bedeutet hier, dass es ** keine ** Animation gibt. Außerdem bin ich nicht sicher, was die Verbindung zu Übergängen ist; keiner wurde gefragt. Darüber hinaus wurde dies vor mehr als einem Jahr klar veröffentlicht, und ich bin mir nicht sicher, was das Alter von CSS3 ist, wenn man bedenkt, dass einige Märkte nicht CSS3-fähig sind. – davin

0

Da jQuery mit Cross-Browser-Kompatibilität konzipiert ist, solange der CSS Opazität Tag Wird in einem Browser unterstützt, ja, Ihr jQuery-Code ist Cross-Browser. (Haben Sie es schon ausprobiert? Sie können zu jsfiddle.net gehen, um zu sehen, wenn es ist.)

Für weitere Informationen, hier ist die W3Schools page on opacity. Kopf dort mit verschiedenen Browsern und sehen, ob es funktioniert. (Es sieht aus wie es für mich in allen drei gängigen Browsern funktioniert.)

+4

Hallo, ich weiß, das ist ein alter Beitrag, aber ich möchte nur hinzufügen, bitte trau dich nicht oder zitieren W3Schools. Siehe: http://w3fools.com/ – megaflop

+2

100% korrekt, @daiscog. Ich war jung und dumm. (Ich blockiere jetzt W3School-Ergebnisse.) Tatsächlich war es SO, das mich für den Fehler meiner Wege korrigierte. Ich bin jetzt schlauer. ;) – JasCav

4

Ja, es setzt die CSS Opazität oder Trübung Filter IE.