从@steve的解决方案并没有为我,尽管我的工作问题被等同于@斯蒂芬妮。
重申的是斯蒂芬妮和我分享问题:
我有很长的引导模态。在小屏幕上,如果没有滚动,模式将无法完整显示。默认情况下,引导模式的位置是:固定的。我可以通过将其更改为position:absolute来让它们滚动。
但现在我有一个新问题。我的页面也很长,当我从页面的底部中触发模式时,该模式出现在当前浏览器视图之外的页面的顶部处。
因此,要解决这两个:
CSS:
// allows the modal to be scrolled
.modal {position: absolute;}
的JavaScript/jQuery的:
// jumps browser window to the top when modal is fired
$('body').on('show', '.modal', function(){
$('body').scrollTop(0);
});
但事实证明,Firefox不喜欢 '身体' 的选择为scrollTop,但确实喜欢'HTML'。 Webkit反过来操作。从这里使用注释:Animate scrollTop not working in firefox
由于我使用jQuery < 1.9我可以做浏览器嗅探解决这个问题:
// jumps browser window to the top when modal is fired
$('body').on('show', '.modal', function(){
// Firefox wants 'html', others want 'body'
$(jQuery.browser.mozilla ? "html" : "body").scrollTop(0);
});
现在,当模态被解雇,他们出现在页面的顶部,浏览器窗口会向上滚动以显示它们,但如果用户的屏幕太小而无法显示模式的整个长度,用户仍然可以向下滚动。
谢谢,这有帮助! :) – Stefanie
这确实有帮助,但是现在,模式一直沿着非移动网站的文档向我发送。 – mbrochh
看到我刚刚给出的答案,我从css只维护 – Innodel