FancyBox iframe链接识别及Redmine式导航箭头实现问询
问题解答
我来帮你拆解这两个问题:
一、哪些链接是通过FancyBox打开iframe的?
你提供的三个链接全部都通过FancyBox以iframe形式打开,判断依据如下:
- Example #1:链接带有
data-fancybox(标记为FancyBox触发元素)和data-type="iframe"(明确指定打开类型为iframe)属性,同时通过data-src指定了iframe要加载的内容地址。 - Example #2:链接同样带有
data-fancybox属性,并且在data-options配置项里明确设置了"type" : "iframe",属于通过自定义参数指定iframe类型的写法。 - Example #3:和第一个链接逻辑一致,通过
data-fancybox和data-type="iframe"标记,data-src指向PDF预览页面,同样会以iframe形式在FancyBox弹窗中打开。
二、能否实现类似Redmine的iframe间导航箭头功能?
当然可以实现!借助FancyBox自带的画廊(gallery)机制就能轻松搞定,具体操作思路如下:
- 给iframe链接统一分组:给所有需要加入导航体系的iframe链接添加相同的
data-fancybox分组值,比如data-fancybox="iframe-nav",这样FancyBox会自动把这些链接识别为同一组可导航的内容。 - 自动启用导航控件:当链接属于同一画廊分组时,FancyBox默认会在弹窗的顶部或底部显示前后导航箭头,点击箭头就能直接切换不同的iframe内容,和Redmine的导航逻辑类似。
- 自定义优化(可选):如果需要更贴合Redmine的交互风格,还可以通过FancyBox的API自定义导航按钮的样式、位置,或者手动控制iframe的地址切换。比如监听导航按钮的点击事件,动态修改当前iframe的src属性,实现更灵活的导航逻辑。
给你一个简单的代码修改示例,把原链接改成带分组的形式:
<a data-fancybox="iframe-nav" data-type="iframe" data-src="页面地址1" href="javascript:;"> Example #1 - Webpage </a> <br /> <a href="页面地址2" data-fancybox="iframe-nav" data-options='{"type" : "iframe", "iframe" : {"preload" : false, "css" : {"width" : "600px"}}}'> Example #2 - Webpage, custom options </a> <br /> <a data-fancybox="iframe-nav" data-type="iframe" data-src="页面地址3" href="javascript:;"> Example #3 - Sample PDF file </a>
修改后,打开任意一个链接的iframe弹窗时,就能看到前后导航箭头,点击即可切换另外两个iframe内容啦。
内容的提问来源于stack exchange,提问作者FabianoLothor
相关产品推荐
相关产品推荐

