【问题标题】:How To Trigger Fancybox When User Reaches Certain Div (On Scrolling)当用户到达某个 Div 时如何触发 Fancybox(滚动时)
【发布时间】:2014-03-22 06:25:19
【问题描述】:
快速提问:
1) 我的标准 Fancybox (V2) 设置工作正常,我希望它在用户阅读页面然后到达某个 div(或任何其他元素)时触发模式。
2) 所以这不是“延迟”,它是当用户到达页面的某个部分时。
有人可以就如何做到这一点提供一些编码吗? :)
(注意:我不是程序员,但可以处理mediocore js/html/css...)
【问题讨论】:
标签:
javascript
jquery
modal-dialog
fancybox
fancybox-2
【解决方案1】:
最简单的方法是检查滚动高度与您要触发的元素的高度,然后模拟点击您要打开的 Fancybox 链接。
更新:这个小提琴应该让你知道如何去做。 http://jsfiddle.net/eKF4f/2/。这不是最完整的示例,但应该为您提供一个起点。
这是完成工作的部分
$(document).scroll(function () {
if($(document).scrollTop() >= $('#box').offset().top && !fired)
{
$.fancybox.open([
{
href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
title : '1st title'
}]);
}
});
注意:就用户体验而言,这通常是不好的做法。除非您有充分的理由打开模式,否则您不应阻止页面内容,除非用户采取了触发模式的操作。