【问题标题】: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'
         }]);
    }
});

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

【讨论】:

  • 如何使用它来打开内嵌内容?
  • @Amod 想详细说明您所说的“内联内容”是什么意思?您的意思是页面中已经存在图像吗?根据 Fancybox 文档,可以通过多种方式轻松完成此操作:http://fancybox.net/howto
  • 我的意思不是显示图像,而是显示来自具有特定 ID 的 div 的文本内容。像这样的东西:stackoverflow.com/questions/3963338/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-06
相关资源
最近更新 更多