首页 文章

使用手风琴Jquery脚本的问题

提问于
浏览
1

我写了手风琴脚本在移动网站上部署,每件事情都很好 . 但是,当页面长度增加时,我面临一个问题 .

手风琴大约有8到10个小节 . 当我向下滚动并单击任何项目栏以显示内容时,页面将移至顶部而不是停留在我点击的当前位置 .

请告诉我解决方案 .

下面是脚本

$( 'acc_container')隐藏() . $(” . acc_container1' )隐藏() .

$(' . acc_trigger') . click(function(){$(this).siblings(' . acc_container1') . slideUp('fast'); $(this).parent() . siblings('div') . children(' . acc_container1') . slideUp('fast'); $(this).parent() . siblings('div') . children(' . acc_container') . slideUp('fast'); $(this) .next() . 兄弟姐妹(' . acc_container') . slideDown('fast');});

2 回答

  • 1

    在您展示内容的每个手风琴的触发器上,我假设是锚标签,您需要阻止事件的默认行为 . 在锚标记的情况下,也是带你标记的 href 属性 . 如果 href 属性设置为 # ,则单击锚标记将转到页面顶部 . 所以,这样的东西应该可以工作,在jQuery的 event 对象上调用 preventDefault() ,假设 .acc_trigger 是所有你的手风琴触发器的选择器:

    $(".acc_trigger").click(function(e) {
        $(this).siblings('.acc_container1').slideUp('fast');
        $(this).parent().siblings('div').children('.acc_container1').slideUp('fast');
        $(this).parent().siblings('div').children('.acc_container').slideUp('fast');
        $(this).next().siblings('.acc_container').slideDown('fast');
        e.preventDefault();
    });
    
  • 1

    我假设您的点击可能是href点击,如果是这样

    $("a").click(function(event) {
    // do all your logic here and add the below link  
    
    event.preventDefault();
    
    });
    

    如果那不是href

    给你的.acc_container类你需要的设置高度,如500px左右,和

    height:600px;
    overflow: hidden;
    

    应该考虑一下

相关问题