手风琴Jquery脚本的问题

时间:2010-11-11 04:14:10

标签: javascript jquery

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

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

请告诉我解决方案。

下面是脚本

$( 'acc_container')隐藏();  $(”。acc_container1' )隐藏();

$( 'acc_trigger')。点击(函数(){   $(本).siblings( 'acc_container1。 '),效果基本show(' 快')。   $(本).parent()兄弟姐妹( 'DIV')儿童( 'acc_container1。 '),效果基本show(' 快')。;   $(本).parent()兄弟姐妹( 'DIV')儿童( 'acc_container。 '),效果基本show(' 快')。;   $(本)。接下来()兄弟姐妹( 'acc_container。 ')了slideDown(' 快')。  });

2 个答案:

答案 0 :(得分: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;

那应该采取Carek

答案 1 :(得分:1)

在您展示内容的每个手风琴的触发器上,我假设是锚标签,您需要阻止事件的默认行为。在锚标记的情况下,也是带您标记的href属性。如果href属性设置为#,则点击锚标记会将您带到页面顶部。所以,这样的事情应该有效,在jQuery的preventDefault()对象上调用event,假设.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();
});