我創建如果position:fixed
在瀏覽器確實是支持的另一種檢查。它創建固定的div並嘗試滾動並檢查div的位置是否改變。
function isPositionFixedSupported(){
var el = jQuery("<div id='fixed_test' style='position:fixed;top:1px;width:1px;height:1px;'></div>");
el.appendTo("body");
var prevScrollTop = jQuery(document).scrollTop();
var expectedResult = 1+prevScrollTop;
var scrollChanged = false;
//simulate scrolling
if (prevScrollTop === 0) {
window.scrollTo(0, 1);
expectedResult = 2;
scrollChanged = true;
}
//check position of div
suppoorted = (el.offset().top === expectedResult);
if (scrollChanged) {
window.scrollTo(0, prevScrollTop);
}
el.remove();
return suppoorted;
}
此功能已在Firefox 22,Chrome 28,IE 7-10,Android Browser 2.3中測試。
這很傷心......但非常感謝參考! – 2012-04-05 10:24:17