jQuery实现的类flash菜单效果代码

  先来看看效果:http://demo.glzy8.com/js/jquery_flash/demo.htm

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

  HTML代码:

  

复制代码 代码如下:

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

  CSS代码:

  

复制代码 代码如下:

  a#logotype{ background: url(logotype.jpg) no-repeat top left; display: block; position: relative; height: 70px; width: 119px; } a#logotype span{display:none} a#logotype .hover { background: url(logotype.jpg) no-repeat bottom left; display: block; position: absolute; top: 0; left: 0; height: 70px; width: 119px; } a#logotype{

  background: url(logotype.jpg) no-repeat top left;

  display: block;

  position: relative;

  height: 70px;

  width: 119px;

  }

  a#logotype span{display:none}

  a#logotype .hover {

  background: url(logotype.jpg) no-repeat bottom left;

  display: block;

  position: absolute;

  top: 0;

  left: 0;

  height: 70px;

  width: 119px;

  }

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

  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) }); }); $(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的默认效果,这样就实现我们的动画效果。

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