当前位置:

首页 > 前端交互

jQuery实现背景图渐变切换

链接的背景图切换一般都用CSS的HOVER来控制,虽然很方便,但效果不怎么酷,没有平滑效果,显得有点突然。在这篇文章里给大家介绍下如何用jQuery来实现一个平滑的渐变式背景切换。效果大家可以看下这个站(http://dragoninteractive.com/)。如图所示。

nav

上面的网站在中有很多地方都应用了这种效果。看起来是不是很酷。OK,进入正题;
在这里我用一个简单的实例来分析下,先看下我们要用到的这张图。

logo

我们把背景切换的两张图做成一张。这样的好处我以前也有说过了。详见“CSS中关于背景图的应用技巧”;接下来要做的是写结构和样式部分。

body { margin: 0; padding: 0; text-align: center; }
    
#logo {
            
position: absolute;
            
display: block;
            
width: 156px;
            
height: 49px;
            /
*这部分是让元素相对浏览器垂直居中
            
left: 50%;
            
top: 50%;
            
margin-left: -156px;
            
margin-top: -49px;
            -----------------------------------------
*/
            
background: url(logo.png) top left no-repeat;
            
}
    
#logo span {
            
text-indent: -9999em;
            /
*隐藏文字,就是以图替换文字的一种方法*/
            
}
    
#logo .hover {/*这个样式是为JQ准备的*/
            
position: absolute;
            
width: 156px;
            
height: 49px;
            
top: 0;
            
left: 0;
            
background: url(logo.png) 0 -49px no-repeat;
            
}

这里的样式,应该不需要作解释了。很简单的一个样式!下面是结构;

<a href="http://www.wopus.org/" id="wopus"><span>wopus</span></a>

关健是JQ部分,我们来看代码:

jQuery(function() {
        
jQuery("#logo").append("<span class='hover'></span>");
        
//在ID为logo的标签里内部插入一个样式为hover的span
        
jQuery('.hover').css('opacity', 0);
        
//设置hover的透明度为0
        
jQuery('.hover').parent().hover(
        
function() {
            
jQuery('.hover').stop().animate({opacity: '1'},1000);
        
},
        
function() {
            
jQuery('.hover').stop().animate({ opacity: '0'},1000);
        
});
        
//这是一个JQ里常用的hover()效果。当鼠标放在class为hover的父元素上时。停止当前标签上的所有动画并执行后面的自定义效果—hover的透明度由0渐变成100%;当鼠标离开后反之。
    
});

看起来是不是很简单。其原理就在链接内部再插入一个元素。并通过改变这个元素的透明度来实现。有点像FLASH里的遮罩效果。最后点击下面的链接来看下效果;

http://leotheme.cn/wp-content/uploads/Example/js/dragoninteractive/

本文引用地址: 

相关文章

  • 2009-06-11 -- jQuery 实现 tab 切换一例 (9)
    对于Tab切换,我想大家都不陌生了。现在几乎是到处可见了;今天为大家介绍下怎么用jQuery来实现一个简单的Tab切换效果。其实这类例子网上也有很多了,在这里不讨论它的实现原理,因为都是些最基本的应用...
  • 2008-11-20 -- 增强用户体验之文章内的链接 (28)
    我们在写文章的时候,难免会少不了添加一些链接。这些链接有的是指向自己的BLOG内的,有的是指向好友的BLOG,或一篇文章。指向自己BLOG的称为内部链接,指向外部的称为外部链接,我们习惯是外部链接在新...
  • 2009-11-30 -- 不刷新(AJAX)获取文章的内容 (24)
    相信大家都知道AJAX评论这玩意。AJAX评论带来了很多好处,不用在刷新页面就能发表评论。实时提交,实时显示。很多人都用上了都给自己的BLOG上添加了这样的功能。方法在这就不说了,很多人都作了详细的讲...
  • 2009-11-28 -- WordPress评论表单验证 (10)
    wordpress的评论只是个很简单的表单。WP本身也有一个自身的验证系统。但自带的这个验证是基于后台的验证。当表单不符合规格时跳转到另一个页面。我们需要返回上一页才能继续填写表单。这样对于用户的体验...
  • 2009-11-25 -- 一个jQuery弹出层(tipsWindown) (14)
    弹出层效果网上很多很多,也没啥好说的了。写这个只是作为学习JQ的一些记录。此插件的一些方法参考了花匠的dialog;在此表示感谢。 接着说说这种弹出层的原理或者说是做法。总结下经验;首先需要一个遮罩...

发表评论4 位网友发表了评论  

  1. marcus 说:

    你好,博主!你的berrytimes.cn顶端的导航条应用了这个花哨的jquery的dragon技术,我非常佩服!
    可是,我对jquery是在是门外汉,网上的教程也很难看得懂~

    我在博客的style.css/ header.php 中,按照上代码加了,其中jQuery(function() 加在了header.php顶部 …. 中,但是透视度渐变的效果还是没有,
    然后,我又在顶部加了:
    <script type="text/javascript" src="/js/jquery.js”>
    还是没有用,

    博主能给出详细一点的改法吗?

  2. aisinvon 说:

    不错的效果

  3. LAONB 说:

    哈哈,这个可是我的最爱,那个站太吸引眼球了,我看过不下100遍,可惜不懂JS,所以没法选择那个效果。 :B

添加新的评论浏览评论»  

表情
icon_wink.gif icon_neutral.gif icon_mad.gif icon_twisted.gif icon_smile.gif icon_eek.gif icon_sad.gif icon_rolleyes.gif icon_razz.gif icon_redface.gif icon_surprised.gif icon_mrgreen.gif icon_lol.gif icon_idea.gif icon_biggrin.gif icon_evil.gif icon_cry.gif icon_cool.gif icon_arrow.gif icon_confused.gif icon_question.gif icon_exclaim.gif 



注意:
1、本站启用了审核机制,你的留言可能稍后才会显示,请不要重复提交,谢谢。
2、留言时的头像是Gravatar提供的服务。想设置的看这里
3、评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。