如何在用户达到某个Div时触发Fancybox(滚动时)

时间:2014-03-22 06:25:19

标签: javascript jquery modal-dialog fancybox fancybox-2

快速提问:

1)我有标准的Fancybox(V2)设置工作,我希望它在用户阅读页面然后到达某个div(或任何其他元素)时触发模态。

2)因此,当用户到达页面的某个部分时,它不是“延迟”。

有人可以提供一些关于如何做到这一点的编码吗? :)

(注意:我不是程序员,但可以处理mediocore js / html / css ...)

1 个答案:

答案 0 :(得分:0)

最简单的方法是检查滚动高度与您要触发的元素的高度,然后模拟您要打开的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'
         }]);
    }
});

注意:就UX而言,这通常是不好的做法。除非您有充分的理由打开模态,否则不应阻止页面内容,除非用户采取触发模态的操作。