【发布时间】:2010-07-29 06:14:28
【问题描述】:
当用户单击链接时,我正在使用 .slideToggle 打开面板:
<script type="text/javascript">
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#panel").slideToggle("slow");
$(this).toggleClass("active");
return false;
});
});
</script>
切换的 div (#panel) 的内容高于包含 div 的高度,因此显示了 scorllbars。我希望垂直滚动条在 div 切换时自动向下滚动以显示新内容。我想我可能可以使用 .scrollTop 来实现这一点,但我不确定如何同时实现它......有什么想法吗?
编辑: 似乎有一种共识,认为这是实现我所描述的最佳方式:
<script type="text/javascript">
$(document).ready(function(){
$(".btn-slide").click(function(){
var $panel = $("#panel");
$panel.slideToggle("slow");
if ($panel.is(':visible')){
$panel.parent().scrollTop($panel.height()-$panel.parent().height());
}
$(this).toggleClass("active");
return false;
});
});
</script>
这会使面板滑动,但向下滚动效果不起作用..
【问题讨论】:
-
如果这没有任何意义,请告诉我,以便我重写它。我真的需要解决这个问题 - 谢谢!
-
试试这个帖子的解决方案:stackoverflow.com/questions/270612/scroll-to-bottom-of-div var panelDiv = document.getElementById("panel"); panelDiv.scrollTop = panelDiv.scrollHeight;
-
有人提出了类似的建议,但我似乎无法同时触发这两种效果。只有面板滑动。
标签: javascript jquery html