Javascript 渐变色
屏幕左上角的徽标在滚动时是如何逐渐改变颜色的?我认为它是在jquery中完成的。如果你不知道代码,你能给我指一个教程吗?谢谢 更新: 谢谢大家,我在下面发布了代码的工作版本Javascript 渐变色,javascript,jquery,css,rollover,Javascript,Jquery,Css,Rollover,屏幕左上角的徽标在滚动时是如何逐渐改变颜色的?我认为它是在jquery中完成的。如果你不知道代码,你能给我指一个教程吗?谢谢 更新: 谢谢大家,我在下面发布了代码的工作版本 <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// load the logo transition
$("#logo span").css("opacity","0");
$("#logo span").css("display","block");
// logo animation
$("#logo").hover(function() {
$("#logo span").stop().animate({opacity:1},'slow');
}, function() {
$("#logo span").stop().animate({opacity:0},'slow');
});
});
</script>
<style type="text/css">
#logo span{
background: url(logo2.gif) no-repeat scroll center bottom;
width:257px;
height:75px;
position:absolute;
}
img{
border:0;
}
</style>
</head>
<body>
<div id="logo"><a href="#"><span></span><img src="logo.gif"/></a></div>
</body>
</html>
$(文档).ready(函数(){
//加载徽标转换
$(“#logo span”).css(“不透明度”,“0”);
$(“#logo span”).css(“显示”、“块”);
//标志动画
$(“#徽标”).hover(函数(){
$(“#logo span”).stop().animate({opacity:1},'slow');
},函数(){
$(“#logo span”).stop().animate({opacity:0},'slow');
});
});
#标志跨度{
背景:url(logo2.gif)无重复滚动中心底部;
宽度:257px;
高度:75px;
位置:绝对位置;
}
img{
边界:0;
}
您是否尝试查看页面的源代码?这是一个不透明度的变化
// load the logo transition
$("#logo span").css("opacity","0");
$("#logo span").css("display","block");
// logo animation
$("#logo").hover(function() {
$("#logo span").stop().animate({opacity:1},'slow');
}, function() {
$("#logo span").stop().animate({opacity:0},'slow');
});
因此,一个图像覆盖另一个图像,前面的图像逐渐淡入淡出。没有颜色变化
注意代码上方的警告:
// whoah there... This source code is copyright ShopDev. By all means, use this website as a source of inspiration - just don't plagiarize! //
右键单击页面并点击“查看源”。答案在文件前40行的JavaScript块中。(您的jQuery假设是正确的)它有两个徽标图像。一个蓝色一个红色。 默认情况下显示红色。 徽标图像具有兄弟跨度,其背景图像为蓝色徽标。
span的不透明度为0。当鼠标在跨度上的不透明度逐渐变为1时,将蓝色图像设置为div的背景。 在div中添加红色图像作为普通图像,使其覆盖背景图像。您可以将其放置在跨度中。
悬停时,更改红色图像的不透明度,使蓝色图像显示为透明。这很容易在jQuery中设置动画。在mouseout上,执行oposite 可能有两张图像因css不透明度而“褪色”。当一个为最大不透明度时,另一个为最小不透明度。我增加了一个透明度,降低了另一个透明度,这是正确的,但是如果你想要更简单的东西,你可以自己使用,而不会因为剽窃而受到攻击 首先,您需要一个24位PNG或gif图像,其中有一个透明的部分-示例中有透明的液体 确保包括jquery、jquery ui(因为它添加了CSS背景色动画)和图像悬停效果
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$("#logo")
.css({"backgroundColor: "#fff"})
.hover(function() {
$(this).stop().animate({backgroundColor: "#f00"}, 'slow');
}, function() {
$(this).stop().animate({backgroundColor: "#fff"}, 'slow');
});
});
</script>
$(函数(){
$(“标志”)
.css({“backgroundColor:#fff”})
.hover(函数(){
$(this.stop().animate({backgroundColor:“#f00”},'slow');
},函数(){
$(this.stop().animate({backgroundColor:“#fff”},'slow');
});
});
然后在身体中,用正确的ID输入图像
<img src="mylogo.png" id="logo" width="100" height="100" />
在浏览器中使用“查看页面源代码”命令。在结果中查找单词“不透明度”或“动画”。如果使用jquery ui库,您可以使用更少的html完成此操作,请参阅我的答案。“一个图像覆盖另一个图像。”“。不完全是,跨度不是图像;)这是一个图像,而不是一个img.:-)顺便说一句,Firefox和Firebug是查看HTML的最佳方式。你可以在鼠标悬停时看到HTML的变化。从未在IE6中使用PNG作为过滤器对其进行过测试-我猜是不是?但是如果你使用GIF,我的测试就可以了。