javascript - 试图在悬停时将一种类型淡入另一种类型 - CSS3 或 Jquery?

标签 javascript jquery css

我的困境是我知道如何使用 jquery animate 方法在悬停时将一幅图像淡入另一幅图像:

$(document).ready(function(){
    $("img.a").hover(function() {
        $(this).stop().animate({"opacity": "0"}, "slow");
    },function() {
        $(this).stop().animate({"opacity": "1"}, "slow");
    });
});

而且我还知道如何使用 CSS3 Transitions 来更改文本上的悬停颜色:

a.squirrel{
color:black;  
padding:5px; 
-webkit-border-radius: 5px; 

-webkit-transition-property:color, background; 
-webkit-transition-duration: 1s, 1s; 
-webkit-transition-timing-function: linear, ease-in;
} 
a.squirrel:hover{color:red;}

我不知道该怎么做,但我想做的是使用一种字体(如 Georgia)建立链接(出于演示目的尽量保持简单),当您将鼠标悬停在它上面时,将其淡入淡出完全不同的类型,例如 Tahoma。

这两种方法我都用过,但似乎都没有达到我想要的效果。

我知道我可以使用我想使用的类型的图像,但我尽量不使用图像,所以我正在寻找普通的 Javascript 或其他一些 jQuery 方法。

这可能吗??

最佳答案

如果您谈论的是实际创建字体样式之间的平滑转换,这确实是不可能的。但是,如果您只是想在悬停时创建淡入淡出效果以在两种字体样式之间转换,那么这样的事情应该可行:

http://jsfiddle.net/7NATE/8/

HTML

<div id="container">
    <span class="font1">Hello World!</span>
    <span class="font2">Hello World!</span>
</div>

CSS

.font1{
    font-family: Tahoma;
}

.font2{
    font-family: Georgia;
    display: none;
}

JS

var $f1 = $(".font1"), $f2 = $(".font2"), $c = $('#container');

$c.hover(function(){    
    if(!$f1.is(':animated') && !$f2.is(':animated')){
        $f1.fadeOut(function(){
             $f2.fadeIn();
        });
    }
},
function(){
    if(!$f1.is(':animated') && !$f2.is(':animated')){
        $f2.fadeOut(function(){
            $f1.fadeIn();
        });
    };
});

关于javascript - 试图在悬停时将一种类型淡入另一种类型 - CSS3 或 Jquery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14762452/

相关文章:

Javascript 文件未运行

javascript - 如何用 jQuery 创建固定对话框?

javascript - 是否有事件在 DOM 加载之后但在任何外部资源(如图像、样式、iframe 等)之前触发?

javascript - jQuery Facebox 插件 : Focus the popup appearance

html - 如何在另一个溢出部分的顶部有第二个图像?

javascript - JavaScript 中提升的顺序

javascript - jQuery slider 分页: Adding callback function

HTML block 放置

html - Laravel:文本溢出:省略号不适用于显示未转义的数据

javascript - 使用模式 gulp 按文件名排除文件