jquery新手
我有手风琴使用这个:
(function($) {
var allPanels = $('.accordion > dd').hide();
$('.accordion > dt > a').click(function() {
allPanels.slideUp();
$(this).parent().next().slideDown();
return false;
});
})(jQuery);
其中一个手风琴部分超长,当您点击下一个时,它会在内容上方打开。
我希望在单击a标签而不是仅向上滑动内容时滚动到父div#left-area顶部的方法提供帮助。我相信你们中的一位职业选手知道如何。提前谢谢。
页面的结构如下:
<dl class="accordion">
<dt>title</dt>
<dd>
content
</dd>
<dt>title2</dt>
<dd>
content2
</dd>
<dt>title3</dt>
<dd>
content3
</dd>
</dl>
答案 0 :(得分:1)
您可以修改代码:
(function($) {
var allPanels = $('.accordion > dd').hide();
$('.accordion > dt > a').click(function() {
allPanels.slideUp();
$(this).parent().next().slideDown();
$("html,body").animate({scrollTop: $("#left-area").offset().top}, 300);
return false;
});
})(jQuery);
答案 1 :(得分:0)
那么,只是为了澄清一下,你想让其他部分关闭,窗口向下滚动到手风琴中开放部分的标题的ID?
如果你可以发布一个URL或JS小提琴它会有所帮助,但是这样的事情可能会吗?
var allPanels = $('.accordion > dd').hide();
$('.accordion > dt > a').click(function() {
allPanels.slideUp();
$(this).parent().next().slideDown();
$('html, body').animate({ //if you're wanting the whole window to scroll down
scrollTop: $("div#left-area").offset().top
}, 1000);
return false;
});
如果你发布一个我可以修改的JSFiddle,我会测试并修改它(如果它不能按原样运行 - 我有点假设它不会,既然没有看HTML的结构,我觉得我可能很容易忽略一些东西。)
编辑:我认为有更好的解决方案,不使用个人ID为向下滚动设置动画,但我需要看一个如何构建它的示例。