基于jQuery实现的类flash菜单效果

转自:http://www.ajaxbbs.net/post/jquery-flash-menu-hover.html

 

除了上文中的渐变文字,dragoninteractive网站还有一个很酷的效果,就是网站菜单的鼠标特效,如果不看代码,我们很多人估计该要误以为这个是flash特效了,只是这里还是用JS来实现的。这个看着貌似简单的站实现了很多我们以为只有图片和flash才能实现的效果。

废话不多说了,这里要说的就是一个菜单的hover的效果,一般我们通过CSS的伪类:hover实现的菜单切换都比较单调,因为仅仅是一个简单的图片的变化,不像很多flash菜单一样变化非常的平滑,但是这里我们就是要用非flash的技术实现一个平滑的hover效果。

先来看看效果:http://www.ajaxbbs.net/test/hovermenu/

因为下面的menu和上面的logo的实现原理一样,为了简化起见,我们这里只拿logo部分的代码来说明一下原理:

  1. HTML代码:

    <a id="logotype" href=""><span>Logo Type</span></a>

  2. CSS代码:
    a#logotype{ 
        backgroundurl(logotype.jpg) no-repeat top left
        displayblock
        positionrelative
        height70px
        width119px

    a#logotype span{display:none
    a#logotype  .hover { 
        backgroundurl(logotype.jpg) no-repeat bottom left
        displayblock
        positionabsolute
        top0
        left0
        height70px
        width119px


    这里有一个.hover的class,从html中并没有发现,不要着急,这个在后面的js中会用到。

  3. JS代码:
    $(function() { 
        var fadeSpeed = ($.browser.safari ? 600 : 450); 
        $('#logotype').append('<span class="hover"></span>'); 
        $('.hover').css('opacity'0); 
        $('.hover').parent().hover(function() { 
            $('.hover'this).stop().animate({ 
                'opacity'1 
            }, 
            fadeSpeed) 
        }, 
        function() { 
            $('.hover'this).stop().animate({ 
                'opacity'0 
            }, 
            fadeSpeed) 
        }); 
    }); 

    这段JS很清楚的描述了该效果的实现原理:首先在链接中创建一个class为hover的span(这个span是鼠标放到连接上时的现实效果),并且将其透明度设置为0,然后当鼠标移到连接上时,将该span的透明逐渐调整为1,这样上面的span就会覆盖a的默认效果,这样就实现我们的动画效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值