2016-08-15 35 views
0

在以下示例中,我有五個部分和一個控制檯日誌,其中顯示當前滾動位置,部分的高度以及部分在文檔中的位置。當部分沒有被操縱時,在我的屏幕上,結果如下。計算縮放和旋轉元素的原始高度

Current Scroll Position: 0, Position Of Section: 10, Height Of Section: 196.796875 
Current Scroll Position: 0, Position Of Section: 216.796875, Height Of Section: 196.796875 
Current Scroll Position: 0, Position Of Section: 423.59375, Height Of Section: 196.796875 
Current Scroll Position: 0, Position Of Section: 630.390625, Height Of Section: 196.796875 
Current Scroll Position: 0, Position Of Section: 837.1875, Height Of Section: 196.796875 

但是,在操作部分後,讀取結果。

Current Scroll Position: 0, Position Of Section: 10, Height Of Section: 225.51136779785156 
Current Scroll Position: 0, Position Of Section: 216.85635375976562, Height Of Section: 225.51138305664062 
Current Scroll Position: 0, Position Of Section: 423.59375, Height Of Section: 225.5113525390625 
Current Scroll Position: 0, Position Of Section: 630.4501342773438, Height Of Section: 225.5113525390625 
Current Scroll Position: 0, Position Of Section: 837.1875, Height Of Section: 225.5113525390625 

我的問題:是否有一種方法可以在操作元素之前獲取元素的高度,之後操作元素?

看到這個JSFiddle爲未操作的部分和這個JSFiddle爲操縱的部分。

+0

丹,你認爲你的新高度是從左邊最高點到最右邊還是每個矩形的距離? –

+0

@JoelHernandez我認爲高度是未旋轉元素底部邊緣的頂部邊緣,但我不知道如何告訴代碼 – Dan

回答

0

丹,您可以嘗試設置cookie爲矩形的每一個高度:

在JS設置一個cookie:

function setCookie(cname, cvalue, exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires="+ d.toUTCString(); 
    document.cookie = cname + "=" + cvalue + "; " + expires; 
} 

然後,你可以以後檢索高度值旋轉:

獲取一個Cookie在JS:

function getCookie(cname) { 
    var name = cname + "="; 
    var ca = document.cookie.split(';'); 
    for(var i = 0; i <ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0)==' ') { 
      c = c.substring(1); 
     } 
     if (c.indexOf(name) == 0) { 
      return c.substring(name.length,c.length); 
     } 
    } 
    return ""; 
} 

這是一種方法。希望這可以幫助!