我很抱歉我的英语不好因为我是意大利人。 我有1页html与2 jQuery slideToggle和相对的toggleClass更改按钮中的“显示”和“隐藏”。 在第一个div toggleClass正常工作,但在第二个div toggleClass不工作。 请阅读我的代码。
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#panel").show();
$(".show_hide").click(function(){
$("#panel").slideToggle("slow");
$(this).toggleClass("lactive"); return false;
});
$("#menu").show();
$(".menu").click(function(){
$("#menu").slideToggle("slow");
$(".menu").toggleClass("active"); return false;
});
});
</script>
<style type="text/css" rel="stylesheet">
.sli {
margin: 0;
padding: 0;
background: url(btn-slide.gif) no-repeat center top;
}
.slide {
margin: 0;
padding: 0;
background: url(btn-slide.gif) no-repeat center top;
}
.show_hide {
background: url(up.png) no-repeat 120px 10px;
text-align: center;
width: 144px;
height: 31px;
padding: 10px 10px 0 0;
margin: 0 auto;
display: block;
font: bold 120%/100% Arial, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
.active {
background: url(down.png) no-repeat 120px 10px;
}
.lactive {
background: url(down.png) no-repeat 120px 10px;
}
.menu {
background: url(up.png) no-repeat 120px 10px;
text-align: center;
width: 144px;
height: 31px;
padding: 10px 10px 0 0;
margin: 0 auto;
display: block;
font: bold 120%/100% Arial, Helvetica, sans-serif;
color: #fff;
text-decoration: none;
}
</style>
</head>
<body>
<!-- primo FUNZIONANTE -->
<p class="slide">
<a href="#" class="show_hide" style="text-decoration: none; ">
Login
</a>
</p>
<div id="panel"> <!-- # Pannello nascondibile -->
Testo qui
</div>
<hr>
<!-- secondo NON FUNZIONANTE -->
<p class="sli"><a href="#" class="menu" style="text-decoration: none; ">
mos
</a></p>
<div id="menu">
menu
</div>
<hr>
</body>
我该怎么办?
答案 0 :(得分:0)
我假设您希望第二个元素的行为方式与第一个元素相同。如果这是正确的,您需要将第二个元素的点击调用更改为:
$(".menu").click(function(){
$("#menu").slideToggle("slow");
$(this).toggleClass("active");
});
jsFiddle here。您还需要确保您的CSS没有被覆盖。如果这不是您想要的,请详细说明您的问题......