Próbuję utworzyć funkcję, która sprawdza bg elementu i zmienia jego bg na podany kanał alfa. Funkcja ma tę postać:Funkcja jQuery do dodawania alfa do elementu bg
$.fn.bgalpha = function(alpha) {
var bg = $(this).css('background-color');
//...
}
Ale: chrom zwraca bg jako RGB gdy normalny kolor jest ustawiony i jak RGBA z zera, gdy nie ma bg, czyli 8 zawsze zwraca HEX, IE9 powraca „przezroczysty”, gdy nie ma to bg i rgb, gdy jest bg itp. Tak wiele różnych przypadków.
Co chcę zrobić, to> uzyskać r, g, b z koloru bg obiektu, dodać do niego kanał "a" i ustawić element bg jako rgba ze wszystkimi wartościami. Ale od prostego do zrobienia jest to trudne i skomplikowane, gdy mówimy o przeglądaniu krzyżowym.
Masz pojęcie, jak używać tych kolorów w sposób "uniwersalny"? W różnych przypadkach otrzymuję wartości „none”, „przezroczysty”, „rgba”, „RGB” lub „hex” jako wartości początkowej bg
Prawdopodobnie jest to dużo prostsze niż się wydaje. Jeśli przeglądarka zwraca hex jako kolor, prawdopodobnie nie obsługuje rgb, a nie wszystkie przeglądarki. Nie wszystkie przeglądarki obsługują także rgba i nie możesz ustawić kanału Alpha, jeśli przeglądarka nie obsługuje rgba, więc musisz zacząć od sprawdzenia, czy przeglądarka obsługuje rgba, jeśli tak, po prostu ustaw kolor za pomocą rgba! – adeneo
Co powiecie na obejście: użyj dwóch elementów, ułożonych jeden na drugim, jednego z tłem i jednego z zawartością. Następnie zmień krycie tła. – Blazemonger