1

您如何在页面上实现深度链接,以便当用户从外部链接访问该页面时,会启动该幻想框模式。我是 JS/Jquery 的新手

4

2 回答 2

0

我刚刚用 fancybox2 和 url 哈希为自己解决了这个问题。

您可以使用 Fancybox 回调来设置和取消设置哈希。
我使用 img 标签中的数据属性来存储 img 标识符。
然后,您可以在页面加载时检查 url 中的哈希,获取索引并使用给定索引打开 fancybox。

  var option = {
        afterLoad: function(links) {
            var title = links.element.attr('data-my-img');
            location.hash = title;
        },
        afterClose: function() {
            location.hash = '';
        }
    },
    hash = location.hash.substr(1),
    gallery = $('.fancybox');
    if(hash.length > 0){
        //id
        var i = null;
        gallery.each(function(index) {
            var o = $(this).attr('data-my-img');
            if($(this).attr('data-my-img') == hash){
                i = index;
                return;
            }
        });
        if(i != null){
            option.index = i;
            $.fancybox.open(gallery, option);
        }
    }
    gallery.fancybox(option); 
于 2012-10-20T14:42:21.990 回答
0

今天早上我在寻找同样的东西,发现了你的问题以及一个有答案的论坛帖子。

(function()
{
  var qs = location.search.slice( 1 ), 
      params = qs.match( /&?ab=(\d+)\|(\d+)/ );

  if( params )
    page( Number( params[ 1 ] ), Number( params[ 2 ] ) );

})();

“然后,如果您链​​接到该页面,以这种形式传递您的两个数字参数:

Concert.html?ab=1|5

应该有调用page(1, 5)的惊艳效果;页面加载时。"

http://www.webdeveloper.com/forum/showthread.php?t=247899

希望它有所帮助 - 它帮助了我。:)

于 2012-02-10T13:47:26.120 回答