一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

腳本控制自適應高度的縮短問題

function vvheight() {
       var sideleft=document.getElementById("content-left").scrollHeight;
       var sideright=document.getElementById("content-right").scrollHeight;
       layoutHeight=Math.max(sideleft,sideright);
       document.getElementById("content-left").style.height=layoutHeight+"px";
       document.getElementById("content-right").style.height=layoutHeight+"px";
}

我想用腳本來控制自適應高度,我用上面的代碼控制了左列和右列的自適應高度。
可是有的頁面因為內容多被撐得挺長,有的頁面內容少,用上面的代碼不能縮短了!
我就是想在訪問內容少的時候,內容還能再縮回來,代碼應該怎么寫呢?謝謝了!
復制代碼 代碼如下:
function vvheight() {
    var CL=document.getElementById("content-left");
    var CR=document.getElementById("content-right");
    while(parseInt(CL.scrollHeight)==parseInt(CL.style.height)){CL.style.height=parseInt(CL.style.height)-30+"px"}
    var sideleft=CL.scrollHeight;
    while(parseInt(CR.scrollHeight)==parseInt(CR.style.height)){CR.style.height=parseInt(CR.style.height)-30+"px"}
    var sideright=CR.scrollHeight;
    layoutHeight=Math.max(sideleft,sideright);
    CL.style.height=layoutHeight+"px";
    CR.style.height=layoutHeight+"px";
}

解答:
在IE和Opera里,DIV的style.overflowY的默認值是"auto",上面的代碼不會有問題。

在Firefox和Safari里,DIV的style.overflowY的默認值是""(相當于"hidden"),所以你直接用上面代碼的話,會出錯。需要人為調整style.overflowY="auto"。

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
下面這個算法略有不同,你看哪一個效果更好(變化的瞬間人眼睛感覺到的閃爍更小)?

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]
就是這幾行代碼:

復制代碼 代碼如下:
    while(CL.scrollHeight==CL.clientHeight){CL.style.height=CL.clientHeight-30+"px"} 
    var sideleft=CL.scrollHeight; 
    while(CR.scrollHeight==CR.clientHeight){CR.style.height=CR.clientHeight-30+"px"}

沒有太多時間,就先隨便講一講吧。如果感興趣的人多,以后我可以開一些這樣的專題,或者寫到書里去。

元素的scrollHeight屬性是微軟在IE中首創的DHTML屬性,并非W3C規范或技術推薦標準的內容,但是現在幾乎所有的瀏覽器都在支持這個屬性(這是因為W3C標準中并沒有相應的替代方案――因此我通常不提“標準”二字,而總是說“兼容、可用”)。scrollHeight是元素在內部不出現縱向滾動條的情況下在頁面上顯示時將占據的高度(像素數)。
[attach]64076[/attach]

clientHeight也不是W3C規范的東西(事實上,很多有用的東西都與“標準”無關,但它們是事實上的標準)。clientHeight是元素在頁面中顯示時實際占據的高度(像素數)。
[attach]64077[/attach]

如果使元素內部不出現縱向滾動條(給元素足夠多的空間,令其可以完整顯示;或者將其縱向滾動條禁用,也就是將style.overflowY設為"hidden"),則scrollHeight==clientHeight。

在滾動條出現時,clientHeight < scrollHeight,元素未能在頁面上完整顯示,若要令其完整顯示,則至少需要scrollHeight像素高度的空間。

也就是,元素內部出現縱向滾動條時,scrollHeight就是令元素得以完整顯示的最小高度。

在上面第一個例子中,我不斷縮短DIV的高度(每次縮短30像素),直到DIV內部滾動條出現,取此時的scrollHeight值。

在第二個例子中,我直接把DIV高度設為1像素,迫使其內部出現滾動條,取scrollHeight值。

在我的顯示器上,兩個例子沒有明顯的差別。你可以把顯示器的刷新頻率調到最低,看看哪一種方式在變化的瞬間閃爍更小,擇優用之。

JavaScript技術腳本控制自適應高度的縮短問題,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 美女视频黄是免费的 | 久久怡红院亚欧成人影院 | 色视频在线观看视频 | 激情乱人伦 | 国产综合一区二区 | 久草精品免费 | 六月天婷婷 | 美女被男人扒开腿猛网站 | 91免费版在线观看 | 一级毛片国产真人永久在线 | 四虎永久在线精品免费影视 | 国产精品久久久久久久牛牛 | 国产视频网站在线 | 日本精品www色 | 四虎影视4hutv最新地址在线 | 久久只有这才是精品99 | 综合在线视频精品专区 | 毛片久久| 国产精品亚洲欧美一区麻豆 | 午夜免费 | 久久国产综合 | 久久综合偷拍 | 成人精品第一区二区三区 | 欧美日韩亚洲国产无线码 | 国产女同一区二区三区五区 | 亚洲欧洲高清 | 欧美成人综合在线 | 一本色道久久综合一区 | 亚洲乱码一二三四区乱码 | 91精品国产综合久久久久久 | 国内精品久久久久激情影院 | 91香蕉国产亚洲一二三区 | 五月亚洲综合 | 乱人伦一区二区三区 | 狠狠色狠狠色综合伊人 | 亚洲视频一区二区在线观看 | 五月丁香六月婷综合缴情在线 | 国产人成午夜免视频网站 | 欧美最猛性xxxxx黑人巨 | 色老板在线看 | 四虎8848精品永久在线观看 |