我有一个加载地图的页面。当我打开fancybox来显示图像时,它似乎被地图“切断”了

时间:2013-12-09 16:37:22

标签: jquery fancybox

我有一个加载地图的页面。当我打开fancybox来显示图像时,它似乎被地图“切断”了。

图像在没有滚动时显示OK:

http://i.stack.imgur.com/jW5XU.jpg

但是当我向下滚动一下时,图像会被切断:

i.stack.imgur.com/DTmx5.jpg

如果删除地图:

i.stack.imgur.com/TmSQX.jpg

我已经尝试了Z-INDEX,问题仍然存在。这里有一个实例:http://llegoelfinde.com.ar/events/mameluco-fiesta-rock/

1 个答案:

答案 0 :(得分:0)

试试这个:

抓住当前滚动位置(不要忘记水平轴!)。 将overflow设置为hidden(可能希望保留以前的溢出值)。 使用scrollTo()将文档滚动到存储的滚动位置。 然后当你准备再次允许滚动时,撤消所有这些。

// lock scroll position, but retain settings for later
  var scrollPosition = [
    self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft,
    self.pageYOffset || document.documentElement.scrollTop  || document.body.scrollTop
  ];
  var html = jQuery('html'); // it would make more sense to apply this to body, but IE7 won't have that
  html.data('scroll-position', scrollPosition);
  html.data('previous-overflow', html.css('overflow'));
  html.css('overflow', 'hidden');
  window.scrollTo(scrollPosition[0], scrollPosition[1]);


  // un-lock scroll position
  var html = jQuery('html');
  var scrollPosition = html.data('scroll-position');
  html.css('overflow', html.data('previous-overflow'));
  window.scrollTo(scrollPosition[0], scrollPosition[1])