2013-01-18 71 views
0

我正在设计一个用于学习目的的网站,由于某种原因,我的导航栏在所有选项卡的“悬停”状态下都处于粘贴状态。我所遵循的教程非常深入,但我已经完成了几个小时的代码,我想我只是没有足够的知识来解决问题。在解决问题时,我查看了源代码并将其复制(从他们的示例中),但仍然存在相同的问题。按钮在hove状态下都是“始终”的,因此Java脚本似乎没有做任何事情。动画菜单使用jQuery帮助需要

教程:http://www.shopdev.co.uk/blog/animated-menus-using-jquery/

有我已为此(比教程略有不同)在3个图像

bkrd.png =窄图像400像素高的是重复的背景工具栏(无菜单选项卡) spritedown.png =子画面显示正常按钮状态(家&图集)81像素高
spriteover.png =精灵该节目按钮悬停状态。 81像素高大

我的代码:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>jQuery Animated Menu Demo</title> 

<style> 
body { 
    background-color:#333333; 
    margin:0; 
} 



/* Menu Body */ 
ul#menu { 
    width:80%; 
    height:400px; 
    background:url(bkrd.png) repeat-x; 
    list-style:none; 
    margin:0; 
    padding:0; 
    padding-top:109px; /* distance from top where i need the sprite to start*/ 
    padding-left:20%; 
} 

/* Float LI Elements - horizontal display */ 
ul#menu li { 
    float:left; 
} 

/* Link - common attributes */ 
ul#menu li a { 
    background:url(spritedown.png) no-repeat scroll top left; 
    display:block; 
    height:81px; 
    position:relative; 
} 

/* Specify width and background position attributes specifically for the class: "home" */ 
ul#menu li a.home { 
    width:159px; 
    background-position:0px 0px; 
} 

/* Specify width and background position attributes specifically for the class: "portfolio" */ 
ul#menu li a.portfolio { 
    width:157px; 
    background-position:-159px 0px; 
} 

/* Span (on hover) - common attributes */ 
ul#menu li a span { 
    background:url(spriteover.png) no-repeat scroll bottom left; 
    display:block; 
    position:absolute; 
    top:0; 
    left:0; 
    height:81px; 
    width:100%; 
    z-index:100; 
} 

/* Span (on hover) - display pointer */ 
ul#menu li a span:hover { 
    cursor:pointer; 
} 

/* Shift background position on hover for the class: "home" */ 
ul#menu li a.home span { 
width:159px; 
    background-position:0px 0px; 
} 

/* Shift background position on hover for the class: "portfolio" */ 
ul#menu li a.portfolio span { 
    background-position:-159px 0px; 
} 
</style> 

脚本:

<!-- Include jQuery Library --> 
<script src="jquery-1.2.2.pack.js" type="text/javascript"></script> 

<!-- Let's do the animation --> 
<script type="text/javascript"> 
$(function() { 
    // set opacity to nill on page load 
    $("ul#menu span").css("opacity","0"); 
    // on mouse over 
    $("ul#menu span").hover(function() { 
     // animate opacity to full 
     $(this).stop().animate({ 
      opacity: 1 
     }, 'slow'); 
    }, 
    // on mouse out 
    function() { 
     // animate opacity to nill 
     $(this).stop().animate({ 
      opacity: 0 
     }, 'slow'); 
    }); 
}); 
</script> 
</head> 

体:

<body> 
<ul id="menu"> 
    <li><a href="#" class="home"><span></span></a></li> 
    <li><a href="#" class="portfolio"><span></span></a></li> 
</ul> 
</body> 

</html> 
+0

你可以添加一个jsfiddle吗? – Wolf

+1

我刚刚复制了你的代码,只用背景颜色替换了背景图片,它似乎工作。 在此处查看:http://jsfiddle.net/FBQ4M/1/ – Frankey

+0

谢谢大家的关注...我有jsfiddle显示我的问题... http://jsfiddle.net/7JxMF/ – TheJavaBeast

回答