我对 jQuery 世界完全陌生。我正在尝试为 div 中的不同li
元素的单击事件设置动画样式menu
。
请首先概述我的代码,以便我可以向您解释我的问题。
HTML 代码:
<div id="container">
<div id="outer_div">
<div id="image_div"></div>
<div id="menu">
<ul id="nav">
<li id="nav1"><a href="">News & Events</a></li>
<li id="nav2"><a href="">Facilities</a></li>
<li id="nav3"><a href="">Research</a></li>
<li id="nav4"><a href="">Programmes</a></li>
<li id="nav5"><a href="">Faculty</a></li>
</ul>
</div>
<div id="popup_menu">
<ul>
<li><a href="">abc</a></li>
<li><a href="">abc</a></li>
<li><a href="">abc</a></li>
<li><a href="">abc</a></li>
</ul>
</div>
</div>
</div>
我的 jQuery 代码是:
$(window).load(function(){
$("#popup_menu").fadeIn()
.css({left:-300,position:'absolute',opacity:0})
.animate({left:0,opacity:1.0}, 1000, function() {
//callback
});
});
$("nav1").click(function(){
$("#popup_menu").fadeIn()
.css({left:-300,position:'absolute',opacity:0})
.animate({left:0,opacity:1.0}, 1000, function() {
//callback });
$("nav2").click(function(){
$("#popup_menu").fadeIn()
.css({left:-300,position:'absolute',opacity:0})
.animate({left:0,opacity:1.0}, 1000, function() {
//callback});
$("nav3").click(function(){
$("#popup_menu").fadeIn()
.css({top:-300,position:'absolute',opacity:0})
.animate({top:0,opacity:1.0}, 1000, function() {
//callback});
$("nav4").click(function(){
$("#popup_menu").fadeIn()
.css({right:-300,position:'absolute',opacity:0})
.animate({right:0,opacity:1.0}, 1000, function() {
$("popup_div").css(right:0);
$("#image_div").css({left:0,top:0}); });
$("nav5").click(function(){
$("#popup_menu").fadeIn()
.css({right:-300,position:'absolute',opacity:0})
.animate({right:0,opacity:1.0}, 1000, function() {
//callback });
});
我在这里面临的问题是,对于所有li
元素,都会调用 click 事件处理程序$("nav1").click(function()
。只有当我注释掉 nav2、nav3、nav4、nav5 的所有其他点击事件时才会调用它。
其次,如果我删除注释,即上述编写的代码,我的 jquery 代码不会被执行。
谁能告诉我我错在哪里?我希望我的问题很清楚......谢谢。