我有一個具有以下功能的頁面:有一個大的圖像可生成scoll(水平和垂直)和一個固定位置的按鈕(它保留在左上角,即使使用滾動),點擊時,圖像適合客戶端寬度。使用固定位置的按鈕將圖像適合寬度
由於position: fixed
在網絡不支持Explorer 8中,我使用了一個解決辦法 - 這是功能:
function setFixedPosition(jqueryWrapper, pixelsFromTop, pixelsFromLeft) {
jqueryWrapper.css('position', 'absolute');
var setOffsets = function() {
jqueryWrapper.css("top", (($(window).scrollTop() + pixelsFromTop) + "px"));
jqueryWrapper.css("left", (($(window).scrollLeft() + pixelsFromLeft) + "px"));
};
setOffsets();
$(window).scroll(function() {
setOffsets();
});
}
setFixedPosition($('#zoomFitButton'), 15, 15);
這是按鈕的動作:
$('#zoomFitButton').click(function() {
$('img.preview').css('width', '100%');
});
按鈕保持不變無論是在Firefox 13和IE8。
但是,IE8下,如果我的地方滾動,然後我點擊按鈕,該按鈕移動到一個「奇怪」的位置:
- 如果我垂直滾動,然後點擊,它把在按鈕左下角;
- 如果我水平滾動,然後點擊,它把按鈕在右上角;
- 如果我滾動兩種方式,然後點擊,它把按鈕某處中心。
在Firefox中,即使在單擊適合寬度按鈕之後,按鈕仍然位於左上角(我期望它的位置)。
這裏是a test page。
我的代碼是否適合此功能(原則上),或者我需要添加一些適合寬度操作(以修復我的按鈕定位);或者IE瀏覽器出現問題(我需要一種解決方法 - 如果有的話,有什麼建議嗎?)?
謝謝。
http://stackoverflow.com/questions/1628265/how-to-get-positionfixed-css-to-work-in-ie-7-with-transitional-doctype – Austin 2012-07-09 17:08:59
@奧斯汀感謝,它在IE8(並可能在7)。我還是想找到什麼是錯我的解決辦法,特別是如果某些客戶端將使用IE6。 – 2012-07-09 17:25:51