【发布时间】:2019-09-09 15:46:42
【问题描述】:
我有一个常规的 php 网页。当您单击某个元素时,会出现一个包含更多内容的弹出窗口。问题是,当弹出窗口出现时,如果用户滚动,我希望弹出内容滚动。相反,当用户滚动时,弹出窗口下的网页会滚动。我试过.focus(),但它似乎不起作用。也许它只适用于表单小部件。任何人都可以提出解决方案吗?
html:
<div class="anecdote-thumb" id="anecdote-BOA">
<img src="img/story/web-21090319MMSbuildings3.jpg">
<p class="anecdote-link-p"><strong><a class="anecdote-link" href="#" onclick="return false;" id="show-BOA">Details</a></strong></p>
</div>
<!------------------ POPUP ---------------------------------->
<div class="popup" id="popup-BOA">
<div class="close"><i class="fas fa-times-circle"></i></div>
<!-- content here -->
<p class="text-close text-center">Close</p>
</div>
<!------------------ END POPUP ------------>
css:
.popup {
width: 60%;
position: fixed;
height:80%;
top: 10%;
left: 20%;
background-color: white;
box-shadow: 5px 5px 10px black;
padding: 30px;
overflow-y: scroll;
z-index:99;
display:none;
}
jquery:
$('.anecdote-link').on('click', function(){
$('.mask').fadeIn();
if ( $(this).attr('id') == "show-BOA" ) {
$('#popup-BOA').fadeIn();
}
});
【问题讨论】:
-
滚动元素将在鼠标显示的地方生效。因此,如果它不在弹出窗口上方,它将滚动页面,反之亦然。因此,除非您谈论的是用户使用键盘滚动,否则焦点将起作用。