Javascript 无框架单击时的简单fadein和fadeout效果
我正在寻找一种最简单的方法,在单击另一个div时淡入一个div,然后隐藏它或淡入一个div。提前感谢。有一个CSS属性,名为“transition”:Javascript 无框架单击时的简单fadein和fadeout效果,javascript,html,css,fadein,fadeout,Javascript,Html,Css,Fadein,Fadeout,我正在寻找一种最简单的方法,在单击另一个div时淡入一个div,然后隐藏它或淡入一个div。提前感谢。有一个CSS属性,名为“transition”: 它可以在没有javascript的情况下工作 如果您不介意:将鼠标悬停而不是单击。 下面是一个示例:悬停效果和另一个元素中的图像 也不要忘记供应商的前缀!因此,您要确保这在许多较旧的浏览器中也能正常工作 /* Normal */ a img { opacity: .6; -webkit-transition:opacity 500ms ease-
它可以在没有javascript的情况下工作
如果您不介意:将鼠标悬停而不是单击。
下面是一个示例:悬停效果和另一个元素中的图像 也不要忘记供应商的前缀!因此,您要确保这在许多较旧的浏览器中也能正常工作
/* Normal */
a img {
opacity: .6;
-webkit-transition:opacity 500ms ease-out;
-moz-transition:opacity 500ms ease-out;
-o-transition:opacity 500ms ease-out;
transition:opacity 500ms ease-out;
}
/* ":hover" */
a:hover img {
opacity: 1;
-webkit-transition:opacity 500ms ease-out;
-moz-transition:opacity 500ms ease-out;
-o-transition:opacity 500ms ease-out;
transition:opacity 500ms ease-out;
}
下面是一个很棒的javascript淡出效果:
function fadeout(element) {
var i = 1;
var timer = setInterval(function () {
if (i <= 0.1){
clearInterval(timer);
element.style.display = 'none';
}
element.style.opacity = i;
element.style.filter = 'alpha(opacity=' + i * 100 + ")";
i -= i * 0.1;
}, 50);
}
功能衰减(元素){
var i=1;
变量计时器=设置间隔(函数(){
如果(isetInterval()
和CSS opacity)有任何特定的代码来实现这一点吗?@A.O.@A.O.考虑到指定了onclick事件的需要,这并不是一个确切的答案。这就是为什么我说“如果你不介意:悬停而不是单击”。:-)-JS解决方案只适用于支持“不透明度”的浏览器@elleiospizzaman你能用你的淡入淡出效果来处理这个问题吗?我刚刚添加了一个可以使div淡入淡出的工作示例。
<html>
<script>
function animator(element) {
this.el = element;
this.state = 0;
this.fadeout = function() {
var element = this.el;
var op = 1;
var timer = setInterval(function () {
if (op <= 0.0) {
clearInterval(timer);
}
element.style.opacity = op;
element.style.filter = 'alpha(opacity=' + op * 100 + ")";
op -= 0.1;
}, 50);
};
this.fadein = function() {
var element = this.el;
var op = 0.0;
var timer = setInterval(function () {
if (op >= 1.0) {
clearInterval(timer);
}
element.style.opacity = op;
element.style.filter = 'alpha(opacity=' + op * 100 + ")";
op += 0.1;
}, 50);
};
}
function initfader() {
show = new animator(document.getElementById("div1"));
}
</script>
<body onload="initfader();">
<div id="div1">
<h2>Hello World!</h2>
</div>
<input type="button" onclick="show.fadein();" value="in" />
<input type="button" onclick="show.fadeout();" value="out" />
</body>
</html>