2010-08-23 2 views
4

Я использую этот фрагмент кода для добавления наложения на весь сайт:Весь сайт наложения div?

$(function() { 

    var docHeight = $(document).height(); 

    $("body").append("<div id='overlay'></div>"); 

    $("#overlay") 
     .height(docHeight) 
     .css({ 
     'opacity' : 0.4, 
     'position': 'absolute', 
     'top': 0, 
     'left': 0, 
     'background-color': 'black', 
     'width': '100%', 
     'z-index': 5000 
     }); 

}); 

Он отлично работает, только мне нужен один элемент, чтобы сидеть над этой наложенной ID. Я дал этому элементу z-index больше 5000 здесь, но он никогда не поднимается над серым наложением --- какие-либо идеи?

+0

Вы пытаетесь создать модальный диалог? Если это так, вместо того, чтобы делать два div, добавьте один div с содержимым и получите серый фон, заполняющий весь документ. –

+0

Не могли бы вы показать нам все правила css для элемента, который вы хотите надеть сверху? Вы пробовали использовать позицию: относительная? Это происходит во всех браузерах или только в одном? – Stephen

+0

Имейте в виду, что элемент z-index никогда не может превышать значения его родителя. –

ответ

0

Дайте position:absolute или position:relative.

0

Убедитесь, что элемент, который вы хотите верхи позиционируется (как абсолютное или относительное) .. другой мудрый г-индекс означает ничего

1

Убедитесь, что это брат и прямым потомком body, чтобы гарантировать, что это будет работать в IE наряду с приданием ему position чего-либо, кроме static и более высокий, чем z-index 5000.

0

первый чек, где именно второй элемент добавляется другими словами, если ур назначая это значение в JQuery, но ур с помощью простого CSS закодировать Значения 2-го элемента могут иметь место. Также вы должны попробовать использовать некоторые кавычки, где значения ur я обнаружил, что использование двойных кавычек со значениями непрозрачности помогает.

Только предложение, но вместо того, чтобы пытаться динамически назначать элементы с помощью JQuery и давать им свойства, я могу предложить попробовать простой css при предоставлении атрибутов элементов и использовать JQuery только для того, чтобы манипулировать тем, что нужно вычислить и не может быть выполнено только css. Тогда уры код будет выглядеть так:

$(function() { 

    var docHeight = $(document).height(); 

    $("body").append("<div id='overlay'></div>"); 
    $("#overlay").height(docHeight); 
    $("#overlay").css({"opacity":"0.4"}); 
}); 

и элемент также будет иметь свойство, назначенное файл CSS по умолчанию

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