jquery给div设置半透明背景色,文字不透明

// 把16进制颜色转换成rgb格式
var colorToRGB = function(color){
	var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/g;
	var sColor = color.toLowerCase();
	if(sColor && reg.test(sColor)){
	  if(sColor.length === 4){
		  var sColorNew = "#";
		  for(var i=1; i<4; i+=1){
			  sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
		  }
		  sColor = sColorNew;
	  }
	  //处理六位的颜色值
	  var sColorChange = [];
	  for(var i=1; i<7; i+=2){
		  sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));
	  }
	  return sColorChange.join(",");
	}else{
	  return color;
	}
}

var setBakckgoundAndOpacity = function(obj,color,opacity){
	var rgbaObj = colorToRGB(color);
	if(jQuery.browser.msie&&parseInt(jQuery.browser.version)<9){
	  // 针对ie 6,7,8 通过设置内部元素position:relative;可以避免被父节点的opacity影响
	  jQuery(obj).children().each(function(){
		  if(jQuery(this).css('position') == 'static'){
			  jQuery(this).css('position','relative');
		  }
	  });
	  jQuery(obj).css({
		  'background':color,
		  'opacity':opacity
	  });
	}else{
	  // 支持rgba颜色格式的浏览器用rgba设置透明背景色
	   
	  jQuery(obj).css({
		  'background':'rgba('+colorToRGB(color)+','+opacity+')'
	  });
	}
}

setBakckgoundAndOpacity($(div),'#000000','0.6');


转载于:https://my.oschina.net/darkness/blog/357045

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值