这只在Safari浏览器中发生。
网站链接:www.dalworthrestoration.com
请注意特色内容jQuery轮播图。
内容自动向前循环,当到达第三个缩略图时,即欢迎来到Dalworth视频,它会正确显示。
但问题在于:
如果您允许它向前循环到第四个缩略图,然后点击返回到第三个缩略图,即欢迎来到Dalworth视频,则iframe位置不正确,它只显示图像的三分之一。
但是,如果您滚动页面,视频突然就能正确地显示出来。
我完全被难住了。
编辑:全新的答案。
这个技巧对我很有用,使用Safari的调试器。在隐藏父级li之前将iframe的大小调整为0x0。然后在隐藏li之后立即重新调整大小。这是从您的setSlider()
函数中得出的结论:
list.find("iframe").attr({ height: 0, width: 0 });
list.filter(':visible').hide().end().eq(index).fadeIn();
list.find("iframe").attr({ height: 340, width: 560 });
编辑:我已经在v5.0.5中使它工作了。如果你看到了我的原始答案,它基本上就是那个。用这个新的点击处理程序替换你的处理程序,在转换之后向上滚动1像素并返回:
btn.click(function(){
index=jQuery(this).index();
list.filter(':visible').hide().end().eq(index).fadeIn();
scrollTo(document.body.scrollLeft, document.body.scrollTop+1);
scrollTo(document.body.scrollLeft, document.body.scrollTop-1);
btn.removeClass('fc_current');
btn.eq(index).addClass('fc_current');
clearTimeout(timer);timer=undefined;setSlider();
});
在转换时你会看到一个快速的闪光,但并不是很明显。
这是Safari浏览器的渲染问题。除了一种变通的方法,在选项卡切换时让页面向下滚动,然后立即回到原来的位置,你无法特别修复它。
但是,如果启用了HTML 5视频,它就可以正常工作:http://www.youtube.com/html5