Używam YUI i potrzebuję uzyskać prawdziwą szerokość elementu. Szerokość elementu można określić w następujący sposób.YUI - Czy szerokość elementu jest prawdziwa?
szerokość + border-left + border-right + padding-left + padding-right + margin-left + margin-right.
Oto co wymyśliłem. Wygląda na to, że działa. Właśnie zastanawiałem się czy to jest najlepszy sposób by pójść o ustalaniu tego albo jest tam tam bardziej skuteczny sposób?
YUI().use('node', function(Y) {
var node = Y.one('#nav');
var nodeWidth = trueElementWidth(node);
alert(nodeWidth);
});
function trueElementWidth(el) {
var width = 0;
var attributes = ['border-left', 'border-right', 'padding-left', 'padding-right', 'width', 'margin-right', 'margin-left'];
for(var i=0; i < attributes.length; i++) {
width = width + removePx(el.getComputedStyle(attributes[i]));
}
return width;
}
function removePx(el) {
el = el.toString();
length = el.length - 2;
elDimension = parseInt(el.substring(0, length));
return isNaN(elDimension) ? 0 : elDimension;
}
Szybka odpowiedź: przejdź do quircksmode.org, rozwiązują problem z przeglądarką krzyżową – Dan