2010-12-20 86 views

回答

10

如果您有其他div,你可以得到這樣

var $somediv = $('#some_div_element'), 
    pos  = $.extend({ 
     width: $somediv.outerWidth(), 
     height: $somediv.outerHeight() 
    }, $somediv.position()); 

,然後用它的尺寸+位置,而動態地創建一個覆蓋

$('<div>', { 
    id: 'overlay', 
    css: { 
     position:   'absolute', 
     top:    pos.top, 
     left:    pos.left, 
     width:   pos.width, 
     height:   pos.height, 
     backgroundColor: '#000', 
     opacity:   0.50 
    } 
}).appendTo($somediv); 

例子:http://www.jsfiddle.net/GkFu4/1/

+1

+1,因爲我不知道jQuery的element-ecreating部分讓你提供屬性(特別是CSS)。謝謝! – Phrogz 2010-12-20 21:59:04

3

你可以使用CSS3來做到這一點。定位一個<div>絕對頂部,並給<div>的背景:rgba(255,255,255,.3)

+1

這是rgba功能在所有平臺上兼容?例如:IE7 – itsols 2012-04-28 06:13:45