Autor wpisu: batman, dodany: 10.12.2010 08:00, tagi: javascript
Co jakiś czas zachodzi potrzeba wyszarzenia strony w związku z żałobą. Zazwyczaj podmienia się w tym celu grafikę na czarnobiałą lub w przypadku przeglądarki Internet Explorer stosuje się odpowiedni filtr. Niestety nie ma jednej prostej metody, która zadziałałaby od razu bez konieczności wykonywania dodatkowych czynności. A raczej nie było. W bezkresie Internetu znalazłem ciekawą bibliotekę Javascript, która za jednym zamachem załatwia problem wyszarzenia strony we wszystkich popularnych przeglądarkach.
Biblioteką tą jest grayscale. Zasada działania jest prosta. W przypadku IE stosowany jest filtr, dla wszystkich pozostałych przeglądarek canvas. Użycie grayscale jest banalnie proste i sprowadza się do wywołania jednej funkcji na elemencie, który chcemy wyszarzyć (przykład ze strony autora).
var el = document.getElementById( 'myEl' ); grayscale( el ); // Alternatively, pass a DOM collection // (all elements will get "grayscaled") grayscale( document.getElementsByTagName('div') ); // Even works with jQuery collections: grayscale( $('div') );
Przykład działania znajdziecie w demo przygotowanym przez autora biblioteki.
Na koniec drobna uwaga. Grayscale mieli obrazki piksel po pikselu, a co za tym idzie będzie działał bardzo wolno w przypadku stron przeładowanych grafiką. Korzystajcie z tego rozwiązania z rozwagą.