Javascript 如何在悬停时使div褪色?
您好,我目前有一个跨度,显示在悬停时的图像上,但是我想使用一些javascript或css转换,使这个div在悬停时淡入约0.8不透明度,然后在鼠标不悬停时返回0 以下是我迄今为止如何设置的示例,现在所需的只是淡入度和0.8不透明度: 我相信有一个简单的代码,有人必须这样做 非常感谢您的帮助,谢谢Javascript 如何在悬停时使div褪色?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,您好,我目前有一个跨度,显示在悬停时的图像上,但是我想使用一些javascript或css转换,使这个div在悬停时淡入约0.8不透明度,然后在鼠标不悬停时返回0 以下是我迄今为止如何设置的示例,现在所需的只是淡入度和0.8不透明度: 我相信有一个简单的代码,有人必须这样做 非常感谢您的帮助,谢谢 .classa { opacity:0.8; } 您可以像这样addClass和removeClass $("div.image-hover").hover( function(){ //fade
.classa
{
opacity:0.8;
}
您可以像这样addClass
和removeClass
$("div.image-hover").hover(
function(){
//fadein
$(this).addClass("classa");
},
function(){
//fadeout
$(this).removeClass("classa");
}
);
这是小提琴
在下面的评论之后编辑
你可以用
这是小提琴
); 您可以使用CSS的
:hover
伪类,除非您需要支持IE6:
.image-hover:hover {
opacity: .8;
}
* html .image-hover:hover { /* For IE7 and higher */
filter: alpha(opacity=80);
}
不过,这一比例不会下降到80%,而是会立即达到80%。要做到这一点,您可以使用jQuery的和函数(edit:or,它只是不透明度上动画
的一个方便包装,如下所示):
你的问题不清楚span中的文本应该做什么,但这些是让你开始的工具
播放动画;我使用了0.6而不是0.8,只是为了更明显。所以。。。下面是CSS3/HTML5实现这一点的方法。不过,这在IE中是行不通的:它将回到常规的、即时的方式(因此它确实有效,只是不像在真正的浏览器中那样平滑)
由于CSS3转换使用的是硬件关联,这真的非常顺利!除此之外,这个=)甚至不需要任何Javascript或jQuery 你可以做:
function fadein() {
$('.desc').animate({
opacity: 0.8,
}, 1000, function() {
// Animation complete.
})
}
function fadeout() {
$('.desc').animate({
opacity: 0,
}, 1000, function() {
// Animation complete.
})
}
$('.image-hover').hover(fadein, fadeout);
在此拨弄:此代码保留描述元素的块显示:
它只使用jQuery的动画功能:
$(".image-hover").hover(function() {
$(".desc").animate({opacity: '0.75'},'slow');
}, function() {
$(".desc").animate({opacity: '0'},'slow');
});
实时链接是问题的一个很好的附属品,但也总是在问题中发布相关代码。有两个原因。1.人们不应该通过链接来帮助你。2.StackOverflow不仅是您现在的资源,也是其他将来有类似问题的人的资源。外部链接可以被移动、修改、删除等。通过确保问题中包含相关代码,我们可以确保问题(及其答案)在合理的时间内保持有用。他说,而不是立即变暗而不褪色。是的,伙计,在我来到stackoverflow之前我尝试过这个,因为我喜欢使用CSS转换,当我将转换添加到悬停时未隐藏的跨度时。它不会消失吗?你是个天才。最佳解决方案:D谢谢。这是因为显示:无。这就是问题的根源。我现在使用不透明度0哈为什么不使用fadeTo
而不是动画
?=)@托马斯:没有特别的原因,animate
是我回答问题时碰到的工具。:-)fadeTo
只需调用animate
,但它会首先检查以确保元素显示。对于试图编辑不透明度的人:“1”
到不透明度:“0”
(抱歉,在拒绝之前没有计时名称):不,当我们取消悬停时,它应该是“1”
,把div恢复到完全显示。嘿,伙计,这很好用,但是当我在链接上悬停时,由于某种原因它一直在循环,我只需要它停止这样做。嗯哼??
div.yourDiv {
-webkit-transition: .4s ease-in-out opacity;
-moz-transition: .4s ease-in-out opacity;
-o-transition: .4s ease-in-out opacity;
transition: .4s ease-in-out opacity;
}
div.yourDiv:hover {
opacity: 0.8;
}
function fadein() {
$('.desc').animate({
opacity: 0.8,
}, 1000, function() {
// Animation complete.
})
}
function fadeout() {
$('.desc').animate({
opacity: 0,
}, 1000, function() {
// Animation complete.
})
}
$('.image-hover').hover(fadein, fadeout);
$(".image-hover").hover(function() {
$(".desc").animate({opacity: '0.75'},'slow');
}, function() {
$(".desc").animate({opacity: '0'},'slow');
});