时间:2021-05-25
js里面设置DOM节点透明度的函数属性:filter= "alpha(opacity=" + value+ ")"(兼容ie)和opacity=value/100(兼容FF和GG)。
先来看看设置透明度的兼容性代码:
复制代码 代码如下:
function setOpacity(ele, opacity) {
if (ele.style.opacity != undefined) {
///兼容FF和GG和新版本IE
ele.style.opacity = opacity / 100;
} else {
///兼容老版本ie
ele.style.filter = "alpha(opacity=" + opacity + ")";
}
}
关于有的小伙伴这样写:
复制代码 代码如下:
function setOpacity(ele, opacity) {
if (document.all) {
///兼容ie
ele.style.filter = "alpha(opacity=" + opacity + ")";
}
ele {
///兼容FF和GG
ele.style.opacity = opacity / 100;
}
}
我想说这样在IE10下运行有问题,点了之后没反应。因为IE10支持opacity属性不支持filter了,这个方法不可取。
fadein 函数代码:
复制代码 代码如下:
function fadein(ele, opacity, speed) {
if (ele) {
var v = ele.style.filter.replace("alpha(opacity=", "").replace(")", "") || ele.style.opacity;
v < 1 && (v = v * 100);
var count = speed / 1000;
var avg = count < 2 ? (opacity / count) : (opacity / count - 1);
var timer = null;
timer = setInterval(function() {
if (v < opacity) {
v += avg;
setOpacity(ele, v);
} else {
clearInterval(timer);
}
}, 500);
}
}
fadeout 函数代码:
复制代码 代码如下:
function fadeout(ele, opacity, speed) {
if (ele) {
var v = ele.style.filter.replace("alpha(opacity=", "").replace(")", "") || ele.style.opacity || 100;
v < 1 && (v = v * 100);
var count = speed / 1000;
var avg = (100 - opacity) / count;
var timer = null;
timer = setInterval(function() {
if (v - avg > opacity) {
v -= avg;
setOpacity(ele, v);
} else {
clearInterval(timer);
}
}, 500);
}
}
下面给一个demo示例:
复制代码 代码如下:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript" src="fade.js"></script>
<script type="text/javascript">
window.onload = function () {
document.getElementById('Button1').onclick = function () {
fadeout(document.getElementById('DV'), 0, 6000);
}
document.getElementById('Button2').onclick = function () {
fadein(document.getElementById('DV'), 80, 6000);
}
}
</script>
</head>
<body>
<div id="DV" style="background-color: green; width: 400px; height: 400px;"></div>
<input id="Button1" type="button" value="button" />
<input id="Button2" type="button" value="button" />
</body>
</html>
有什么更好的实现方式可以留言。。。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
动画效果show():显示hide()隐藏$().toggle():显示和隐藏效果切换都可以传入参数,speed.fadeOut(淡出)fadeIn(淡入)fa
为了达到更为生动的效果,可以把一个元素淡出或淡入,在任何一种情况下,都只是随着时间来改变元素的透明度。jQuery提供了3个和淡入淡出相关的函数:·fadeIn
本文实例讲述了javascript淡入淡出焦点图幻灯片效果。分享给大家供大家参考。具体如下:这是一款基于javascript实现的淡入淡出焦点图幻灯片效果代码,
图片轮播有很多种方式,这里采用其中的淡入淡出形式js原生和jQuery都可以实现,jquery因为封装了很多用法,所以用起来就简单许多,转换成js使用,其实也就
本文实例讲述了jquery实现经典的淡入淡出选项卡效果代码。分享给大家供大家参考。具体如下:这是一款经典的Tab选项卡代码,带有淡入淡出效果,jquery插件实