我有一个模态窗口,它将显示比浏览器窗口高度更长的内容,所以我需要创建一个模态窗口来接管浏览器的滚动条,就像我们在Pinterest上看到的那样。此外,单击图像将导致该图像转换到模态窗口中的位置。
请注意模式的打开方式如何更改滚动条
问题:如何创建相同的模态窗口(接管滚动条)和图像动画?我知道当模态窗口出现时,浏览器地址栏中的URL会发生变化,但您会注意到该页面并没有真正改变。我能够使用backbone.js这样做,所以不用担心。
HTML代码
<div id="showModal">Click me!</div>
<div class="modal">
<div class="modal_item">
<div class="modal_photo_container">
<img src="img/posts/original/1019_bb8f985db872dc7a1a25fddeb3a6fc3c43981c80.jpg" class="modal_photo">
</div>
</div>
</div>
JS代码
$('#showModal').click(function() {
$('.modal').show();
});
答案 0 :(得分:22)
首先,我建议你的模态的html结构类似于这个:
<div class="modal-container">
<div class="modal">
</div>
</div>
然后,在“点击”上,您将overflow:hidden
添加到body
,并以某种方式将display:block
添加到.modal-container
。 .modal-container
会有相应的css:
.modal-container {
display: none;
overflow-y: scroll;
position: fixed;
top: 0; right: 0;
height: 100%; width: 100%;
}
上的工作示例