0

我有一些 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>
4

2 回答 2

2

链接可能有锚标签,例如<a href="#" ...>,尝试删除href="#",如果您仍然希望它看起来像带有指针光标的链接,请使用 css:

a{
    cursor: pointer;
}
于 2012-08-21T18:46:33.317 回答
2

您将要阻止单击事件的默认操作。尝试这个:

$(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();
});
于 2012-08-21T18:59:43.773 回答