Я хочу, когда onmouseover в определенном разделе помещает слой OPACITY #fff 0.2 на все, кроме выбранного класса, то есть таблицы
Точно так же, как и у вас:
.tableHighlight:hover{background-color:#eee}
<table id='table-main' class='tableHighlight'>
...
но инвертируется (кладет слой на все остальное, но не на таблицу)
Кажется, я понял.
$('#IDyouWant').on('mouseenter',function(){
$('body').prepend('<div class="curtain"></div>'); // add a layer in front of everything
$('#IDyouWant, .tableHighlight').css({'z-index':'10'}); //brings section and highlighted element to front.
}).on('mouseleave',function(){
$('.curtain').remove(); // remove layer
$('#IDyouWant, .tableHighlight').removeAttr('style'); //remove z-index from section and highlighted element
});
и css для .curtain
.curtain {
display:block;
width:100%;
height:100%;
position:fixed;
top:0px;
left:0px;
background:#FFF;
opacity:0.8;
z-index:9;
}
Скрипки:
ОБНОВЛЕНО:
Помните, что элемент, который должен быть перед всем, должен иметь свойство position
в css. это может быть любая позиция, в моем примере это position:relative;
, но вы должны установить position
для работы z-index
.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:150000;background:#000;display:none;cursor:pointer;filter:alpha(opacity=85);-moz-opacity:0.85;-khtml-opacity:0.85;opacity:0.85}
но нужно записать все остальное (& НЕ перекрывать выделенный блок); как это сделать?