Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在悬停时使div褪色?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何在悬停时使div褪色?

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

您好,我目前有一个跨度,显示在悬停时的图像上,但是我想使用一些javascript或css转换,使这个div在悬停时淡入约0.8不透明度,然后在鼠标不悬停时返回0

以下是我迄今为止如何设置的示例,现在所需的只是淡入度和0.8不透明度:

我相信有一个简单的代码,有人必须这样做

非常感谢您的帮助,谢谢

.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');   
});