2011-02-03 64 views
1
function allowscroll() 
{ 
if (screen.width<1200){document.getElementById('html').style.cssText='overflow-x: scroll !important;';}; 
} 

<body onLoad="allowscroll();"> 

嗨,那裏,上面的代碼適用於任何元素,例如,爲「wrapper」底層的「html」,但如何編輯應用於HTML的CSS呢?基本上,因爲溢出:在IE7中隱藏不繼承 - 這會導致一個大空右側緣和水平滾動條(只在IE7中,IE 8了兼容性),香港專業教育學院設置css來javascript getelementbyid ...如何'獲取'html變量

html {overflow-x:hidden;} 

這是唯一的出路修復它而不會丟失必要的功能,例如溢出的圖形可視化。

這是一切都很好,但是,較低的屏幕分辨率需要水平滾動只是爲了看到所有的頁面本身,所以我試圖爲這些用戶恢復水平滾動條 - 並恢復大的右邊距對於碰巧遇到的任何人,例如ie7 1024 x 768 - 我可以忍受這一點(除非任何人碰巧擁有superdupa解決方案)。

document.getElementById('html').style.cssText='overflow-x: scroll !important;'; 

所以上面的代碼適用於編輯任何元素的CSS,而不是HTML的CSS。

我也試過:

function allowscroll() 
{ 
if (screen.width<1200){document.getElementByName('html').style.cssText='overflow-x: scroll !important;';}; 
} 

function allowscroll() 
{ 
if (screen.width<1200){window.style.cssText='overflow-x: scroll !important;';}; 
} 

我真的很感激任何幫助, - 如果它可以幫助在看到解決方案,其中適用的鏈接是:delight design,基本上,它的如何取出:

html {overflow-x:hidden;} 

從較低的屏幕分辨率的CSS。 。

千恩萬謝

回答

2

還有一堆不同的方式來獲得html元素:

document.documentElement 
document.getElementsByTagName('html')[0] 
document.body.parentNode 

但在所有誠實,必須有一個更好的辦法。我現在沒有時間來追查到底發生了什麼,但from what I can tell,加上position:relative溢出可能會有所幫助的任何需要。

2

嘗試document.getElementsByTagName("html")[0]

注意我剛纔編輯的答案的getElementsByTagName返回一個數組。你需要該數組中的第一個元素。

+0

感謝這很好,我學到了它 – 2011-02-03 21:58:47

2

只需使用documentElement

document.documentElement 

full browser suport

+0

感謝您的期待,但它沒有發生 – 2011-02-03 16:47:45

+0

@Will:什麼沒有發生?你是說它沒有選擇``文檔元素,還是你說你的CSS沒有做到你想要的? – user113716 2011-02-03 16:48:37