我试图在鼠标悬停时显示一个链接,点击后,让链接切换一个div(显示/隐藏)。我现在的情况如下。
PHP:
<li class="test"> <div class="link" style="display:none">
<span class="toggle"><a href="#">link</a></span>
</div>
<div class="togglediv"><p>lorem ipsum</p></div>
</li>
JQUERY:
<script language="javascript">
jQuery(document).ready(function($){
$('.test').bind('mouseenter mouseleave', function(e){
var fade_type = e.type == 'mouseenter' ? 'fadeIn' : 'fadeOut';
$(this).find('.link')[fade_type]();
}).find('.toggle a').click(function($){
$(".togglediv").hide();
$(this).toggleClass("active").next().slideToggle("slow");
return false;
});
});
</script>
鼠标悬停工作,但切换不会。当我点击链接时,没有任何反应。是什么给了什么?
答案 0 :(得分:1)
答案 1 :(得分:0)
您的链接没有下一个兄弟(这是span
中唯一的内容,这是div
中唯一的内容),因此在其上调用next
将返回一个空集。也许使用closest
转到包含div,然后next
继续:
$(this).toggleClass("active").closest('div').next().slideToggle("slow");
答案 2 :(得分:0)
这是一个例子: http://jsfiddle.net/mazzzzz/MeAnJ/9/
更新小提琴