我試圖檢測不支持位置的設備:固定。編輯:我已經修復了代碼,因此它檢測的是功能而不是瀏覽器/操作系統檢測。瀏覽器檢測使用javascript刷新失敗
我覺得當我第一次輸入這些信息時,我感到困惑。當我刷新頁面時,我的問題正在起作用。高度計算錯誤,這是我所知道的完全不同的問題,但我仍在尋求幫助。
更新檢測,下面的腳本:
function fixed() {
var container = document.body;
if (document.createElement && container && container.appendChild && container.removeChild) {
var el = document.createElement('div');
if (!el.getBoundingClientRect) return null;
el.innerHTML = 'x';
el.style.cssText = 'position:fixed;top:100px;';
container.appendChild(el);
var originalHeight = container.style.height,
originalScrollTop = container.scrollTop;
container.style.height = '3000px';
container.scrollTop = 500;
var elementTop = el.getBoundingClientRect().top;
container.style.height = originalHeight;
var isSupported = (elementTop === 100);
container.removeChild(el);
container.scrollTop = originalScrollTop;
return isSupported;
}
return null;
}
//TEST FOR MOBILE, SET TOP IMAGE TO RELATIVE
if(fixed()) {
image_height = jQuery("#outer_homepage_image").height() - 45;
jQuery("#content").css("top",image_height);
jQuery(window).resize(function() {
image_height = jQuery("#outer_homepage_image").height() - 45;
alert(image_height);
jQuery("#content").css("top",image_height);
});
} else {
jQuery("#outer_homepage_image").css("position","relative");
}
你知道嗎,你只需要編寫'jQuery'解決它通過將代碼包裝在'(function($){....})(jQuery);'中,無論是否使用了noConflict,都可以使用'$' – ThiefMaster
兩個獨立的if/else語句? – Madbreaks
我沒有,並感謝提示@ThiefMaster另外我修復了我的代碼中的double if語句。 –