2013-02-06 47 views
0

我正在嘗試解決此bug:http://code.google.com/p/chromium/issues/detail?id=20574想要執行轉換,然後在通過JavaScript將元素定位到其終端位置時將其刪除。通過JavaScript從元素中刪除-webkit轉換

我試圖

document.getElementById('popover').style.setProperty("-webkit-transform", "translate3d(0,0,0)") 

document.getElementById('popover').style.setProperty("-webkit-transform", "none") 

沒有人可以有任何效果。

如果我手動刪除轉換並定位元素,則固定元素的行爲應該與其應該一樣。

這裏是改造自己:

#popover.open { 
    display: block; 
    position: relative; 
    -webkit-animation: openpopup 0.2s 1; 
    -webkit-animation-fill-mode: forwards; 
} 
#popover.closed { 
    -webkit-animation: closepopup 0.2s 1; 
    -webkit-animation-fill-mode: forwards; 
} 
@-webkit-keyframes openpopup { 
    from { 
     -webkit-transform: translate3d(0, 100%, 0); 
    } 
    to { 
     -webkit-transform: translate3d(0, 0%, 0); 
    } 
} 
@-webkit-keyframes closepopup { 
    from { 
     -webkit-transform: translate3d(0, 0%, 0); 
    } 
    to { 
     -webkit-transform: translate3d(0, 100%, 0); 
    } 
} 

回答

1

的JavaScript你試圖改變CSS屬性有不同的名稱。它被稱爲WebkitTransform

document.getElementById('popover').style.setProperty("WebkitTransform", "none");應該工作。

+0

這似乎沒有效果。當我運行它時返回'undefined',並且沒有其他東西看起來改變。我希望元素能夠返回到變換之前的位置? – Damon

+1

爲了記錄,你可以做到這一點:'document.getElementById('popover')。style.WebkitTransform =「none」;'。說到這一點,您可以通過在瀏覽器控制檯中檢查'document.getElementById('popover')。style'來獲得這些屬性(當然,不要指望'WebkitTransform'出現在Firefox的控制檯中)。 – Christian

+0

這很奇怪..它的變形屬性在變換後是空白的,但固定的元素仍然固定在變換後的div的頂部而不是窗口。我想它會更深入。 – Damon