一樓
能不能獲取邊框的寬度啊,比如css裡設置了 border-left:2em或者2px等等帶有計量單位的值 ,jquery能獲取到寬度嗎。你用$(o).css("border-left")獲取的是個字符串,如果你邊框定義為2px,那這個值就是"2px",,如果定義為2em,那這個值就是"2em" ,而不是具體的數字。大蝦有嗎?怎麼解決?
二樓
來個牛人啊!
三樓
$(o).css('border-left-width');
四樓
你只要數字,不計較單位嗎?
var t=parseInt($(o).css("border-left"));
感覺樓主的意思, 應該是想獲取真實的左邊框寬度, 就像jquery的width函數,可以獲取某個元素的寬度(px為單位), 不管你定義的是px還是em或者%, 還是什麼都沒有定義。
如果是這樣, 確實有難度, 遠不是一個 parseInt 可以搞得定。
即使不計較單位, 在沒有對元素的border-left-width做任何定義時, $(o).css('border-left-width'); 也獲取不到正確的值。
樓主的100分, 不是白給的。
五樓
回復四樓:呵呵,其實是一樣的。沒你想的那麼復雜的呀,在2樓的基礎上做一點點小處理就可以了
只要border中對寬度的設置能夠造成布局影響的單位都會轉化為px,比如:
border:2px solid #bfbfbf;
border:2em solid #bfbfbf;
border:2pt solid #bfbfbf;
<script type="text/javascript">
$(function(){
var w=parseInt($('#my').css('border-left-width'))||0;
alert(w);//返回的結果是以px為單位的
})
</script>
<div id="my" style="width:200px;height:200px;border:2em solid #bfbfbf;">
</div>
六樓
經過測試,5樓基本是正確的,但是我把border寫成 border:medium solid #bfbfbf;
ie: alert(w);//彈出0,但是界面上顯示有邊框的,
高速webkit內核:alert(w);//彈出3
我要做的是個在元素內部停靠元素的東東,left:0px,top:0px,要考慮父容器的左邊框和上邊框寬度,這樣相應的left和top要減去對應的邊框寬度,要在父容器z-index下遮住父容器,就像是在父容器下弄個垂直的投影!
這樣ie就不太准了!投影缺個邊框