我有一些jQuery手风琴滑块可以向下滑动并在点击时向上滑动以显示内容。 一切都按预期工作,但如果您点击相同的链接以向上滑动相同的内容,它将跳转到页面的顶部。
我有
return false;
以防止它在单击另一个滑块时跳到页面顶部,因此不太确定要使用什么,以便它不会跳到页面顶部以向上滑动相同的内容。
我已经加入了
event.preventDefault();
有效,但在IE9和IE8中断了。
这就是我所拥有的:
$(document).ready(function() {
$('.slider').click(function() {
$('.internal').slideUp('normal');
if ($(this).next().is(':hidden') == true) {
$(this).addClass('on');
$(this).next().slideDown('normal');
return false;
}
});
$('.internal').hide();
});
HTML示例:
<div class="slider"><a href="#">Slide Link 1</a></div>
<div class="internal">
Stuff1
</div>
<div class="slider"><a href="#">Slide Link 2</a></div>
<div class="internal">
Stuff2
</div>
答案 0 :(得分:2)
链接可能包含<a href="#" ...>
之类的锚标签,尝试删除href="#"
,如果您仍然希望看起来像带指针光标的链接,请使用css:
a{
cursor: pointer;
}
答案 1 :(得分:1)
您将要阻止click事件的默认操作。试试这个:
$(document).ready(function() {
$('.slider').click(function(e) {
e.preventDefault();
$('.internal').slideUp('normal');
if ($(this).next().is(':hidden') == true) {
$(this).addClass('on');
$(this).next().slideDown('normal');
return false;
}
});
$('.internal').hide();
});