Я пытаюсь сделать модальный диалог в наименьшем количестве jQuery-кода, потому что у моего проекта уже слишком много загруженного jQuery.
Итак, сначала мне понадобился оверлей, который достигается с помощью:
$('body').wrapInner('<div />')
.css('opacity','0.5')
.css('z-index','2')
.attr('id','dim1');
Не обращайте внимания на то, что у меня есть другая процедура, чтобы убить события click на # dim1, пока этот модальный присутствует. Итак, теперь мне нужно нарисовать мой модальный диалог сверху:
$('body').append('<div id="test">My Test</div>');
$('#test')
.css('opacity','1.0')
.css('position','fixed')
.css('color','#000')
.css('z-index','2000')
.css('height','300px')
.css('width','300px')
.css('top','50%')
.css('left','50%');
Тем не менее, когда я это делаю, я заканчиваю темным #test, когда я не хочу, чтобы это было затемнено - только материал, стоящий за ним. Что за трюк?