Accordion代码返回false会导致意外的页面刷新

时间:2016-12-16 11:44:59

标签: javascript jquery

我有this FAQ page并且有以下代码可供手风琴使用:

$('.indi-faq  a').on('çlick' , function(e){
    if ($(this).parent().hasClass('open')) {
        $(this).siblings('p').slideDown(500, function(){
            $(this).parent().addClass('open');
        });
    } else {
        $(this).siblings('p').slideUp(500, function(){
            $(this).parent().removeClass('open');
        });
    }
    return false;
}); 

return false不起作用且页面刷新,为什么return false无效?

P.S。代码位于scroll.js文件

2 个答案:

答案 0 :(得分:1)

您必须在ç事件字符串中将c字符替换为click

您的代码应如下所示:

$('.indi-faq  a').on('click' , function(e){
    if ($(this).parent().hasClass('open')) {
        $(this).siblings('p').slideDown(500, function(){
            $(this).parent().addClass('open');
        });
    } else {
        $(this).siblings('p').slideUp(500, function(){
            $(this).parent().removeClass('open');
        });
    }
    return false;
}); 

只需提及代码段的第一行。

答案 1 :(得分:1)

除点击事件中的拼写错误外,您可以使用toggleClassslideToggle()

缩小代码范围
$('.indi-faq  a').on('click' , function(e){
  var $this = $(this);
  $this.siblings('p').slideToggle(500, function(){
      $this.parent().addClass('open');
  });
  return false;
});