该问题可能是由:hover
CSS 中的伪类与jQuery 中的onmouseover
and事件之间的冲突引起的。onmouseout
我想我已经找到了解决当您将鼠标悬停在绿色刻度上时背景丢失过滤器的方法:
JSFiddle
似乎仍然可以在 IE9 和 Chrome 中使用。JSFiddle 在 Firefox 中不起作用,但我认为这是由于其他原因。
onmouseover
我基本上将 jQuery和事件重组onmouseout
为一个hover()
事件(我怀疑这会有所不同)并注释掉opacity
在类中设置属性的行.grayscale
。
看看IE9,让我知道你的想法。
$(document).ready(function () {
$(".inspire-me").hover(function () {
$(this).addClass("on");
// $(this).find('.grayscale').css('opacity', '0.50');
$(this).find('.content-lower').css('opacity', '1');
var margin = $(this).find('.grayscale').height() / 2;
var half = margin - 17;
$(this).find('.hide').css('visibility', 'visible');
$('.hide').css({'top' : half});
}
,
function () {
$(this).removeClass("on");
// $(this).find('.grayscale').css('opacity', '1');
$(this).find('.hide').css('visibility', 'hidden');
});
更新
filter
通过在 CSS的属性中指定完整的 SVG XML,我现在可以在 Firefox中使用它:
filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale");
更新小提琴