2009-06-08 2 views
0

Ну у меня есть прозрачный DIV или фон установлен прозрачный :) CSS:IE 7, Javascript прозрачный ДИВ OnClick

#lowerLayer 
{ 
    position: fixed; 
    top: 0px; 
    left: 0px; 
    right: 0px; 
    bottom: 0px; 
    width: 100%; 
    height: 100%; 
    background-color: Transparent; 
    cursor: help; 
    z-index: 1; 
} 

ДИВ находится прямо под тэгом .. и под там у меня есть a blueprint макет.

JQuery (это выполняется в $ (документ) .ready):

$("#lowerLayer").click(function() { 
    $(this).fadeTo("fast", 0, function() { 
     $(this).hide(0); 
    }); 
}); 

Моя раскладка отлично работает в Opera 10 и я предполагаю, что это работает в Opera 9 ... но IE 7 клопы слоев, которые имеют более низкий г-индекс действуют как они выше прозрачного DIV ...

ответ

2

простое решение было бы поместить прозрачный DIV (#lowerLayer) последний в HTML (как раз перед закрытием </body>.

Это известная проблема с некоторыми браузерами (например, IE)

EDIT: как указано в моем комментарии, blockUI plugin обрабатывает все, что вам может понадобиться, если вы хотите замаскировать свою страницу с помощью наложения.

+0

ну это стоит попробовать, но это было не помогите :(+1 – Peter

+1

Когда прозрачный div имеет самый высокий индекс z, и он последний в HTM L, он всегда будет выше всего остального на странице (за исключением выпадающих списков в IE, что является ошибкой). Лучшим вариантом было бы использовать плагин blockUI (я добавил ссылку в свой ответ) –

4

У меня была такая же проблема с IE7 и нашлось более легкое решение. Вместо того чтобы сделать ваш div прозрачным, используя css, используйте javascript, чтобы установить его непрозрачность.

После вашего примера:

стиль CSS

#lowerLayer {
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
background-color: #000;
cursor: help;
z-index: 1;
}

Javascript код (например, после загрузки DOM дерево)

document.getElementById("lowerLayer").style.filter = "alpha(opacity=0)";

+1

На самом деле это правильный ответ. Кажется, что если div пуст и прозрачен (нет цвета фона), IE не фиксирует клики на нем. Предоставляя ему цвет фона и устанавливая непрозрачность, 0 работает вокруг этого. –

Смежные вопросы