我的注册域名的简单 2 页网站几乎完成了.不幸的是,我有一个似乎无法解决的小问题:当 Twitter Bootstrap 模式打开和关闭时,标题会跳动.在移动设备上没有问题.该问题仅出现在台式机和笔记本电脑等较大的视口中.
我希望标题在打开/关闭模式时停止跳跃.滚动条消失的事实不是问题.实际上,我希望它保持这种状态.
我注意到跳转标题只发生在固定位置的元素中,例如我的标题(添加了 Bootstrap 类 navbar-fixed-top).它甚至出现在 Bootstrap 网站本身:http://getbootstrap.com/javascripts.转到桌面上的模式 > 可选尺寸"区域,然后单击其中一个按钮.您会看到右侧菜单来回跳动.
当模式打开时,类 .modal-open 被添加到 body 元素中(感谢 @Pred 指出这一点).它在右侧添加了 15px 的填充,与滚动条间距相同.这可以防止身体来回跳跃.
不幸的是,这种填充显然不适用于固定元素.
我似乎找到了解决问题的快速方法.它使用一段 javascript 为标题添加额外的样式(15px padding-right)以防止它跳跃.这可能不是最好的解决方案,但现在它工作得很好.
由于在小于 768 像素(移动)的视口上没有问题,这段代码仅将额外的 15 像素添加到更大的视口,例如台式机和笔记本电脑
- 带有布尔返回的 jQuery UI 对话框 - true 或 false
- <p>内垂直对齐img和文本
- 页面加载时立即显示 JQuery 对话框
- 使用 Javascript 和 CSS 的 ReactJs 模态
- 使用 iframe URL 的 jQuery UI 对话框
- JavaScript 确认取消按钮不停止 JavaScript
- 来自 JavaScript *without* <input> 的文件对话框
- 将部分视图加载到 JQuery 对话框中的缓存问题
- jQuery UI datepicker 在对话框中自动打开
- Jquery-UI 对话框 - 在没有 DIV 的情况下运行