0

我有一组表格,当点击它们时隐藏和显示内容。此外,我正在使用 scrollTop 到达每个点击的表格的顶部,以更好地显示其内容。到目前为止没问题...默认情况下,我希望第一个表显示其内容,但我想在这种情况下防止在页面加载时滚动顶部。我该怎么做?

$(document).ready(function() {

$('table tr').nextAll().hide();
var $button = $('table th').css('cursor', 'pointer');
$button.click( function() {
$(this).parent().nextUntil('table th').toggle();
$('html, body').animate({
    scrollTop: $(this).offset().top
    }, 500);
});  
$('table th:eq(0)').trigger('click', animate(false));
});

.trigger() 上必须有一些代码可以帮助我防止第一次滚动?谢谢你的帮助!

编辑:嗯,不是最优雅的解决方案,而是拆分事件并在动画之前放置 trigger() 似乎有效:

$(document).ready(function() {

$('table tr').nextAll().hide();
var $button = $('table th').css('cursor', 'pointer');
$button.click( function() {
        $(this).parent().nextUntil('table th').toggle();
}); 

$('table th:eq(0)').trigger('click');

$button.click( function() {
        $('html, body').animate({
        scrollTop: $(this).offset().top
        }, 500);
}); 
});
4

1 回答 1

1

尝试在点击处理程序中移动动画代码,即删除动画代码,并将触发代码更改为:

$('table th:eq(0)').click(function() {
    $('html, body').animate({
        scrollTop: $(this).offset().top
        }, 500);
    });
});
于 2013-05-30T21:20:48.347 回答