如何在页面上实现深层链接,以便当用户从外部链接访问该页面时,启动该fancybox模式。我是JS / Jquery的新手
答案 0 :(得分: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
它应该具有调用页面(1,5)的惊人效果;页面加载时“
http://www.webdeveloper.com/forum/showthread.php?t=247899
希望它有所帮助 - 它帮助了我。 :)
答案 1 :(得分:0)
我刚用fancybox2和url哈希解决了这个问题。
您可以使用Fancybox回调来设置和取消设置哈希值 我使用img标签中的数据属性来存储img标识符 然后你可以在pageload中检查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);