jQuery Mobile 1.1.0 Final 刚刚发布并承诺:
“真正的固定工具栏:轻量级、基于 CSS 且广泛兼容”
解决移动浏览器中所有令人头疼的问题的具体解决方法是什么?position:fixed
我有一个桌面应用程序(基于 Twitter 引导程序),它的位置:固定工具栏在移动浏览器上效果不佳?我想在没有所有其他功能和 CSS jQuery Mobile 的情况下合并特定修复。
jQuery Mobile 1.1.0 Final 刚刚发布并承诺:
“真正的固定工具栏:轻量级、基于 CSS 且广泛兼容”
解决移动浏览器中所有令人头疼的问题的具体解决方法是什么?position:fixed
我有一个桌面应用程序(基于 Twitter 引导程序),它的位置:固定工具栏在移动浏览器上效果不佳?我想在没有所有其他功能和 CSS jQuery Mobile 的情况下合并特定修复。
容易(或多或少):
1)浏览器嗅探生成黑名单。
2) Position:fixed 支持浏览器
3) Position:static 其余
在 JQM 中查找此部分:
$.widget("mobile.fixedtoolbar", $.mobile.widget, {...}
由于目前许多移动浏览器不支持 pos:fix,因此在许多浏览器中,您最终会在内容底部看到静态工具栏!!!
还有一个polyfill可以恢复以前的行为(隐藏重新定位显示)。
我只是使用这个 polyfill 的一部分来重新定位元素,然后像这样显示它们:
el.jqmData("fixed") == "top" ? el.css( "top", $( window ).scrollTop() + "px" ) :
el.css( "bottom", wrap.outerHeight() - $( window ).scrollTop() - $.mobile.getScreenHeight() + "px" );
如果您的工具栏/元素不必可见,这很好用,因为它从设定位置(scroll-stop-recalcualte)与原始固定工具栏(JQM 1.1 之前)在滚动期间重新计算(scroll-calculate-scroll-计算),这对设备硬件造成了太大的压力,并导致工具栏卡住或跳跃。