在javascript的function hanshu()中如何引用filter:Alpha(*******);
发布网友
发布时间:2022-04-22 12:24
我来回答
共1个回答
热心网友
时间:2022-04-22 13:53
<p style="width:77px; height=33px; opacity:0.33; filter:Alpha(opacity=33)" id="p_1">
我是文字
</p>
<script type="text/javascript">
//操作滤镜的方法,返回给定滤镜对象。
function getFilter( elem, name, args ) {
//如果支持滤镜才运行
if ( elem.filters ) {
//如果滤镜名未使用命名空间,自动使用微软的
name = name.slice( name.lastIndexOf(".") + 1 );
var filterObj = elem.filters[ name ] ||
elem.filters[ name = "DXImageTransform.Microsoft." + name ];
if ( !filterObj ) {
elem.style.filter = elem.currentStyle.filter + " progid:" + name + "()";
filterObj = elem.filters[name];
}
for ( var i in args ) {
filterObj[i] = args[i];
}
return filterObj;
}
}
//获取Alpha滤镜的Opacity值除以100
function getOpacity( elem ) {
if(elem.filters){
return getFilter( elem, "Alpha" ).Opacity / 100;
}else{
return window.getComputedStyle(elem, null).opacity;
}
}
//设置Alpha滤镜的Opacity值乘以100
function setOpacity( elem, value ) {
if(!getFilter( elem, "Alpha", { Enabled: value < 1, Opacity: value * 100 } )){
elem.style.opacity = value;
}
}
function fun(){
var object_p=document.getElementById("p_1");
object_p.innerHTML = "我目前的Opacity为:" + getOpacity(object_p) + "<br>点击我查看变化。";
object_p.onclick = function(){
setOpacity(this, 0.6);
this.innerHTML = "我现在的Opacity为:" + getOpacity(this);
}
}
fun();
</script>
--------------------------------------------------------------------*----------------------------------
getFilter、getOpacity、setOpacity方法是我以前就写好的,直接拿来用了。
为了和其他浏览器通用,get时除100,set时乘100,另外给你加上了非IE的兼容