打开fancybox后滚动锚
Scroll to anchor after opening fancybox
我实现了一个"帮助"视图在一个花式框。在这个花哨的盒子里,我有一个导航菜单。此菜单适用于锚链接。到目前为止一切顺利。
现在我想打开这个花哨的盒子,并直接滚动到一个特定的锚。这里是我的代码,我如何打开fancybox:
$.fancybox({
width : 1000,
height : 800,
minHeight : 800,
maxHeight : 800,
minWidth : 1000,
maxWidth : 1000,
fitToView : false,
autoSize : true,
closeClick : false,
openEffect : 'none',
closeEffect : 'none',
scrolling : 'yes',
href : "#idofview",
})
我试了几样东西,但都不起作用。我试着:
location.href = "#anchor";
//or
location.hash = "#anchor";
//or
afterShow: function() {
$(this).closest('.fancybox-inner').animate({
scrollTop: $('.fancybox-overlay').scrollTop() + $("#anchorid").offset().top
});
//or
$(document.body).scrollTop($('#anchorid').offset().top);
我还试图触发点击我的锚链接:
$("#btn_link").trigger('click');
有什么理由直接滚动到花式框中的锚点吗?
您可能需要首先找到目标锚的offset().top
,然后将.fancybox-inner
选择器动画到该位置(您根本不需要此$(this).closest()
方法),因此:
jQuery(document).ready(function ($) {
$(".fancybox").fancybox({
// API options
afterShow: function () {
var toScroll = $(".fancybox-inner").find("#anchor2").offset().top - 35;
$(".fancybox-inner").animate({
scrollTop: toScroll
}, 1000);
}
}); // fancybox
}); // ready
注意,我减去35px从偏移(在var toScroll
),因为fancybox的填充,但这是一个变量,你可能需要玩。
相关文章:
- 幻灯片滚动javascript不起作用
- 将视口底部滚动到元素底部
- jQuery Lazy加载动画滚动
- 设置滑块分区上的滚动
- 平滑滚动与Fancybox冲突“;附加自定义内容”;
- Jquery Fancybox 可拖动的滚动条问题
- jquery Fancybox Parent被滚动到顶部
- Jquery Fancybox高度/向下滚动
- fancyBox v2:如何防止Chrome中的背景滚动
- Fancybox update()函数重置我的滚动
- Fancybox:如何滚动HTML片段,而不是具有相同效果的图像
- 将html中的fancybox关闭按钮更改为一页滚动网站
- 滚动浏览所有fancyBox画廊
- 获取新内容后重新加载脚本(无限滚动wordpress+fancybox)
- 平滑滚动链接与/ fancybox冲突,将href改为class或id
- Fancybox内嵌弹出不移动的移动页面滚动
- 打开fancybox后滚动锚
- fancybox上的图像滚动效果
- Fancybox模式滚动不起作用
- 当用户到达某个Div(滚动)时如何触发Fancybox