如果您已經創建了每個動態頁面,您可能會注意到,如果您始終使用不需要滾動條的頁面高度,然後動態添加內容,則會出現滾動條。當它這樣做時,它會將我的所有內容「推」到滾動條的左側,看起來頁面上的所有內容都會跳轉一點。是否有可能使滾動條位置:絕對?
是否有可能使滾動條像絕對位置一樣操作,以便不會將我的內容全部推送到左側,而只是覆蓋內容。我不喜歡內容全部「跳」到左邊的方式;它看起來很討厭。
謝謝
如果您已經創建了每個動態頁面,您可能會注意到,如果您始終使用不需要滾動條的頁面高度,然後動態添加內容,則會出現滾動條。當它這樣做時,它會將我的所有內容「推」到滾動條的左側,看起來頁面上的所有內容都會跳轉一點。是否有可能使滾動條位置:絕對?
是否有可能使滾動條像絕對位置一樣操作,以便不會將我的內容全部推送到左側,而只是覆蓋內容。我不喜歡內容全部「跳」到左邊的方式;它看起來很討厭。
謝謝
你可以,但它不會是完美的。從this後複製代碼:
// Used like $('#my-id').hasScrollbar();
jQuery.fn.hasScrollbar = function() {
var scrollHeight = this.get(0).scrollHeight;
//safari's scrollHeight includes padding
if ($.browser.safari)
scrollHeight -= parseInt(this.css('padding-top')) + parseInt(this.css('padding-bottom'));
if (this.height() < scrollHeight)
return true;
else
return false;
}
可以查詢,看是否滾動條是存在的。在此之前,然而,你將有一個全局變量,那就是視口的寬度之前出現的滾動條:
var viewportWidth = $(window).width();
並運行上述功能後,你可以使用的新視口寬度比較這viewportWidth
用滾動條的窗口,和margin-right
的body
的負數的差異。
我其實想到最初這樣做,但如果可能的話想要一個CSS解決方案。看起來像沒有可用的,所以我可能會使用你的方法。謝謝 – 2012-07-31 20:19:47
你問的問題無法做到。
你可以然而,迫使它出現在任何時候都:
#id {
overflow: scroll;
}
但是,這是可怕的醜陋。
您可以使用'window.resize'事件處理程序通過比較'document'和'window'的高度來檢測何時需要滾動條,根據需要在主體中添加或刪除一些右邊距,但這是一個JavaScript的解決方案,並在實踐中有點混亂 – jackwanders 2012-07-31 20:28:41