У меня есть прокручиваемая область, которая содержит всплывающие меню.Концептуально, что-то вроде этого:
<div style="overflow:auto; width:100px; height:100px">
... content here that's big enough to trigger scrollbars...
<div>
<a href="javascript:$('#popup').show()">Click here</a>
<div style="position:relative">
<div id="popup"
style="display:none; position:absolute; width:150px; height:150px">
... more content. This div gets shown and hidden by jquery on click events.
</div>
</div>
</div>
</div>
Проблема в том, что, когда всплывающее меню всплывает, оно также содержится внутри прокрутки div и не отображается вне области прокрутки 100x100 пикселей, независимо от того, каквысоко я делаю z-index.Конечно, я понимаю, что в некотором смысле это именно то, о чем я просил, когда говорил внешнему div переполняться: сначала auto.Но для моего случая использования это не то, что я хочу - я хочу, чтобы всплывающее меню было «сверху» и могло выходить за пределы области прокрутки, оставаясь при этом в нужном месте, то есть прямо подСсылка "Нажмите здесь".Несмотря на то, что ссылка «Нажмите здесь» может перемещаться при прокрутке контейнера.
Я также понимаю, что есть некоторые сложные обходные пути, которые я мог бы использовать, например, поместить всплывающее окно полностью за пределы прокручиваемого div и использовать javascript для позиционирования.Это.И тогда мне нужно было бы реагировать на события прокрутки, чтобы переместить его по мере прокрутки контента и т. Д. Совершенно независимо от необходимости писать много кода, чтобы повторно реализовать то, что мне «бесплатно: position: относительный / position: absolute» дал мне бесплатно, это также потребовало бы немного рефакторинга моего собственного кода, поэтому я бы предпочел этого избежать.
Мне интересно, есть ли какой-нибудь простой трюк, который я могу применить к своему внутреннему div, чтобы сообщить об этомне обращайте внимания на свойство «переполнения» своего контейнера или, если это не удастся, на удобный сценарий jquery, который будет реализовывать сложные вещи для меня за кулисами, поэтому мне просто нужно вызвать его, чтобы получить эффект, которого я добиваюсь.