2015-07-19 3 views
0

Я попытался добавить эффект размытия на изображение + текст, эффекты на клик на Java.Фильтр: Blur Firefox Issue

Он отлично работает в хромированном и сафари.

Но у меня не было шансов получить этот эффект в firefox.

Код:

$('.newsletter').click(function(){ 
    $(".overlay_newsletter").fadeIn(); 

    $(".name, li, .newsletter, svg, .header-links").css({ 
      '-webkit-filter': 'blur(3px)', 
      'filter': 'blur(3px)', 
      '-moz-filter': 'blur(3px)'}); 

    $(".menu-expand").css({ 
      '-webkit-filter': 'blur(8px)', 
      'filter': 'blur(8px)', 
      '-moz-filter': 'blur(8px)', 
      'opacity':'0.5'}); 

    $(".logo").css({ 
      '-webkit-filter': 'blur(8px)', 
      'filter': 'blur(8px)', 
      '-moz-filter': 'blur(8px)'}); 
    }); 

Надежда кто-то может помочь мне здесь :)

+0

Я недавно не проверял, но я не думаю, что FF так же поддерживает его. Я думаю, что они все еще нуждаются в версии для URL-адресов или требуют, чтобы был установлен флаг эксперимента. Http://caniuse.com/#feat=css-filters –

+0

Я пробовал версию URL-адреса, но затем некоторые из объектов исчезнут – Dennis

+1

Тогда, возможно, короткая демонстрация может быть полезна, поэтому мы можем проверить себя. JSfiddle.net ждет вас. :) –

ответ

3

вы должны установить правила без префикса последнего.

$('.newsletter').click(function(){ 
    $(".overlay_newsletter").fadeIn(); 

    $(".name, li, .newsletter, svg, .header-links").css({ 
     '-webkit-filter': 'blur(3px)', 
     '-moz-filter': 'blur(3px)', 
     'filter': 'blur(3px)'}); 

$(".menu-expand").css({ 
     '-webkit-filter': 'blur(8px)', 
     '-moz-filter': 'blur(8px)', 
     'filter': 'blur(8px)', 
     'opacity':'0.5'}); 

$(".logo").css({ 
     '-webkit-filter': 'blur(8px)', 
     '-moz-filter': 'blur(8px)', 
     'filter': 'blur(8px)'}); 

});

Помимо старой версии FF требуется svg, чтобы применить эффект размытия. https://developer.mozilla.org/en/docs/Web/CSS/filter

+0

Хорошая точка, но тогда мы не можем просто опустить правило '-moz-filter'? –

+0

@ A.Wolff Я бы сам, так как это бесполезно, и я бы даже сбросил префикс webkit. Это до Денниса;). Точка - это порядок вызова префиксных и простых правил;) –

+0

Я предполагаю, что для обработки более старой версии Safari вам все равно нужен префикс webkit –

0

Я попытался это

filter: url("data:image/svg+xml;utf9,<svg%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'><filter%20id='blur'><feGaussianBlur%20stdDeviation='2'%20/></filter></svg>#blur"); 

Он отлично работает в FF, но есть способ, чтобы вызвать это в JQuery на событие щелчка?

+0

вы можете установить свой SVG в html и применять фильтр: url ("# blur"); в jquery http://codepen.io/anon/pen/VLBVZb –

+0

работал отлично для размытия. но как я могу сказать, сделать размытие изображения на клике, потому что значение теперь установлено в ссылке html url: «" – Dennis

+0

как это из сценария jquery: $ ('p'). click (function() {$ ('p'). css ('filter', 'url ("# blur")')}); ? –