您可以使用Modernizr創建供應商前綴,然後您可以使用.split()
來拆分.css()
的輸出並獲取所需的值。
這裏得到妥善前綴屬性的方法:
if (Modernizr.csstransforms3d) {
trans_key = Modernizr.prefixed('transform').replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
} else if (Modernizr.csstransforms) {
trans_key = Modernizr.prefixed('transform').replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
}
來源:http://www.modernizr.com/docs/#prefixed
然後你可以使用.css()
得到-vender-transform
屬性:
var matrix = $('#element-id').css(trans_key);//output = matrix(1, 0, 0, 1, 100px, 0px)
然後最後你可以.split()
的matrix
值到可用的東西:
var data = matrix.replace(')', '').split(',');//data[4]='100px', data[5]='0px'
這裏是一個演示:http://jsfiddle.net/7Yz8B/
誰會改變? – FakeRainBrigand 2011-12-21 00:15:49
用戶可以通過拖動容器溢出來改變它。 – Chamilyan 2011-12-21 00:20:58
聽起來像你可能有更大的問題。除非這完全是你需要做的,否則解釋你在做什麼以及爲什麼你需要這樣做會對你有好處 - 你的解決方案可能不是唯一的解決方案,或者可能是太多的工作,或者不是正確的那一個。編輯:你不能只在用戶拖動容器後使用回調? – 2011-12-21 00:21:56