如何将“切换滑块内容”的顶部滚动到视口的中心
How to scroll top of Toggle Slider Content to center of viewport?
我的网站上有这些切换滑块。请在此查看:
http://nextree.ch/module/
要重新创建问题,请单击"Kunden",然后向下滚动并单击"Produkte"。现在你会注意到,你被抛到了一个非常非常长的事情中间。这激怒了网站的访问者。我想实现的是,内容的顶部始终位于视口的某个位置。比如从顶部或视口中心偏移200px。懂
这是使切换滑块工作的当前代码:
$("p.trigger, h3.trigger").click(function () {
var $this = $(this);
var hasActive = $this.hasClass('active');
$("p.trigger, h3.trigger").removeClass("active");
$('.toggle_container').not($this.next()).slideUp();
if (!hasActive) {
$this.addClass("active");
}
$this.next().slideToggle(500);
return false; //Prevent the browser jump to the link anchor
});
谢谢你的帮助。
您必须在第一个动画完成后开始第二个动画。要实现这一点,请使用slideUp 的完整回调
$("p.trigger, h3.trigger").click(function () {
var $this = $(this);
var hasActive = $this.hasClass('active');
$("p.trigger, h3.trigger").removeClass("active");
$('.toggle_container').not($this.next()).slideUp(500, function() {
if (!hasActive) {
$this.addClass("active");
}
$this.next().slideToggle(500);
});
return false; //Prevent the browser jump to the link anchor
});
您可以尝试scrollIntoView
函数。您可以在单击的元素的标题上调用它。https://developer.mozilla.org/en-US/docs/Web/API/Element.scrollIntoView
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 背景图像顶部的滚动图像不移动
- 滚动然后捕捉到顶部而不是取消捕捉
- 如何在从顶部滚动时暂停转盘/滑块,并在滚动到顶部时重新开始
- Android默认浏览器:谷歌地图制作“;位置:相对;元素在页面顶部滚动
- 如何将“切换滑块内容”的顶部滚动到视口的中心
- 修复了在页面顶部滚动时居中导航的问题
- 每次在顶部滚动顶部重置
- 为什么有时滚动顶部/滚动左不可写
- 当目标处于顶部滚动状态时,如何从菜单中激活项目
- 请在顶部滚动一次
- 当用户从顶部滚动超过一定距离时,执行Javascript
- 向表格添加水平顶部滚动条的Aurelia方式
- 如何使文档(页面)向左和顶部以及相对于正文的滚动(向左和顶部滚动)
- 从导航底部而非页面顶部滚动至Div
- 顶部滚动-可替代preventDefault()函数
- “无限scroll"代码只适用于顶部滚动
- 当导航栏固定顶部滚动时,引导捕获
- 单击时从窗口顶部滚动到特定位置
- 花式框弹出窗口始终在顶部滚动